Р. А. Юсупов, С. Н. Искандарова, Ш. Мирзанова C/C++ тилида топшириқ ва масалалар Самарқанд – 2013 йил
Download 1.35 Mb.
|
CPP masalalari1
Часть II. Решения 169 puts("При нажатии puts("введенное число или -1, если число не введено."); puts("Введите число и нажмите printЈ("->"); if (а = getintO ) printf("\nBbi ввели число %d", а); else puts("Число не введено."); puts("\nДля завершения нажмите getch(); } Задача 202 // Функции getfloat и pos #include #include #include #define PATHTODRIVER "c: WborlandcWbgiW" // возвращает позицию символа в строке int pos(char* st, char c) { int i = 0; while ( st[i] != с && st[i] ) i++; if ( st[i] ) return(i+1); else return(0); } // вводит дробное число float getfloat О { #define N 10 // кол-во символов, включая точку и минус char ch; char buf[N+1]; int i; 170 0/0+-^ в задачах и примерах for (i = 0; i < N+1; i++) buf[i++] ='\0'; i = 0; do { ch=getch(); if (ch >= '0' && ch <= '9' && i < 8) { putch(ch); buf[i++] = ch; } else switch (ch) { case '-" : if (!i) { putch(ch); buf[i++] = ch; } bresJc; if ( !(pos(buf,'.'))) { putch(ch); buf[i++] = ch; } break; if (i) } } } while (ch != 13)< return(atof(buf)); void main (void) { float f; printf("\b \b"); buf[—i] = 40»; printf("Введите дробное число ->"); f = getfloatO ; printf("ХпВведено число %e\n", f); getch(); Часть 11. Решения 171 Задача 203 // Игра "21" #include "stdio.h" tinclude "conio.h" #include "stdlib.h" // функция rand iinclude "time.h" // функция time int koloda[12]; // колода карт int kartaO; // функция "выдает" карту из колоды void main () { int igrok =0; // очки игрока int comp =0; // очки компьютера char otv; // ответ игрока time_t t; // создадим колоду for (int i=2; i <=11; i++) koloda[i] = 4; koloda[5] =0; // "пятерок" в колоде нет // инициализация генератора случайных чисел srand((unsigned)time(&t))/ printf("\пИгра в карты до хорошего не доведет!\п"); do { // карта игроку igrok += karta(); // карта компьютеру if (igrok < 21) comp += karta(); if (igrok < 21 && comp < 21) { printf("У вас %d\n",igrok); printf("Еще карточку? (введите у или п) "); otv = getchar(); 172 C/C-i-'i' в задачах и примерах // Игрок нажимает две клавиши: с буквой и // предыдущий вызов getchar читает букву. // При этом в буфере клавиатуры остается код // клавиши int b; b = getchar(); } } while (igrok <= 21 && comp <= 21 && otv != 'nM ; if (igrok ==21 || (igrok < 21 && igrok > comp) I I comp > 21) printf("Bы выиграли!\n"); else printf("Вы проиграли!\n"); printf ("У вас %d\n", igrok); printf ("У компьютера %d\n", comp); printf("Для завершения нажмите getch(); } // выдает карту из колоды int karta() { int i; do i = randO % 10 +2; while (koloda[i] == 0); koloda[i]—; return i; Задача 205 // Рисует олимпийский флаг #include #include tinclude #include Download 1.35 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling