|
Программирование >> Элементы языков с и с++
--------использование strcpyO- int getiine(char s[l,int lim) { int c,i; for(i=0; i<lim-l && (c=getchar()) != eof && с != \n; i++) s[i]=c; s[i]=\0; i++; для учета количества return(i); ------------------------------------------- int tmain() { nporpciMMbi работы со строками в С ----использование sprintf()------------ int х; float у; char si[maxline]; char c,cl,ot[5],vl[maxline]; do { printf( Enter int n for sprintf()..-> ); getiine(ot,5); int x=atoi(ot); printf( Enter float m for sprintfO > ); getiine(ot,5); float y=atof(ot); printf( Enter string for sprintfO. > ); getiine(si,maxline); sprintf(vl, %d %f %s ,x,y,sl); printf( v=%s\n ,vl); printf( continue - Enter, exit - Ctrl+z > ); while((cl=getchar0) != eof) -----------использование strcmpO, strlen()----------- char s3 [maxline] ,-v3 [maxline]; while((c=getcharО) != eof) ( printf( \n\nEnter stringl for strcmpO > ); getline(s3,maxline); printf( Enter string2 for strcmpO > ); getline(v3,maxline); int i=strcmp(s3,v3); printf( strcnps value=%d\nstringls length=%d\n ,i,strlen(s3)); if(i==0) printf( stringl = string2\n ); if(i>0) printf( stringl > string2\n ); if(i<0) printf( stringl < string2\n ); printf( continue - enter, exit - Ctrl+z > ); getchO; } ------------использование strcat () char s4[maxline],v4[maxline]; while((c=getchar()) != eof) char s2[maxline],v2[maxline]; while((c=getchar()) != eof) ( printf( \n\nEnter string for strcpyO >\n ); getline(s2,maxline); strcpy(v2,s2); printf( Copied string=%s\n ,v2); printf( Continue - Enter, exit - Ctrl+z > ); getchO; } Приложение 3. Основные строковые типы данных, принятые в Visual С++ 2008 577 [ printf( \n\nEnter stringl for strcatO > ); getiine(s4,maxline); printf( Enter string2 for strcatO > ); getiine(v4,maxline); printf( strcats value=%s\n ,strcat(s4,v4)); printf( continue - enter, exit - Ctrl+z > ); getchO; Для ввода данных мы использовали ранее рассмотренную функцию getiine (), которая ВВОДИТ строку символов. Но для наших целей требуется вводить числа. Поэтому мы их вводим с помощью getiine о как текст, а потом переводим в формат int посредством функции atoi(s), преобразующей строковые данные в целое число и возвращающей это число. Если в строке не числовые данные, то функция возвратит ноль. Другая функция, использованная нами при переводе строковых данных в формат float, - это функция atof (s). Она возвращает число в формате float, преобразуя свою входную. строку, и также возвращает ноль, если в строке не числовые данные. Для ввода чисел мы использовали массив char ot[5], поскольку число, вводимое в примере, не превзойдет пяти цифр (ввести больше не позволит функция getiine () - так мы ее сформировали). В этой программе мы встретились с новым оператором dc.while. Он работает, как оператор while, но с тем отличием, что оператор while проверяет условие продолжения/окончания цикла в своей заголовочной части, а оператор dc.while - В конце. Если нарушается условие продолжения оператора while, то его тело пропускается. Но в жизни бывают случаи, когда требуется, чтобы цикл while выполнился хотя бы один раз. Для этого и используют пару dc.while, В которой условие продолжения проверяется в конце цикла, поэтому тело оператора будет выполнено хотя бы один раз. Формат оператора таков: I тело оператора} while (условие цикла)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |