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

1 ... 24 25 26 [ 27 ] 28 29 30 ... 200


/* Функция 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, то его тело пропускается. Но в жизни бывают случаи, когда требуется,



1 ... 24 25 26 [ 27 ] 28 29 30 ... 200

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