Программирование >>  Элементы языков с и с++ 

1 ... 187 188 189 [ 190 ] 191 192 193 ... 200


--------использование 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 (условие цикла)



1 ... 187 188 189 [ 190 ] 191 192 193 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика