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