Решения (задачи 200-219)
Задача 200.
// Функция frame вычерчивает рамку #include "stdio.h" #include "conio.h" // вычерчивает рамку void frame(int 1, int t, int w, int h) // l,t – координаты верхнего левого угла, // w, h – ширина и высота рамки int х,у; // координаты выводимого символа int i; // символы, из которых составляется рамка char cl = 218, // левый верхний угол с2 = 196, // горизонтальная линия с3 = 191, // правый в gotoxy(l,t); putch(cl); for (i = 0; i < w-2; i++) // символы верхней границы // рамки putch(c2); putch(c3); у = t+1; x = 1+w-l; for (i =0; i < h-1; i++) //символы левой и правой границ gotoxy(1,у); putch(c4); gotoxy(x,у); putch(c4); gotoxy (1, у); putch(c5); for (i = 0; i < w-2; i++) // символы нижней границы putch(c2); putch(c6); void main () clrscr (); frame(5.5.30.10); puts("\n Для завершения нажмите Enter") getch();
Задача 201.
// Функция getint #include "stdio.h" tinclude "conio.h" iinclude "stdlib.h" // Функция getint предназначена для ввода целого // положительного числа, состоящего из одной или двух цифр. // При нажатии Enter функция возвращает // введенное число. #define K_BACK 8 // код клавиши <Backspace> #define K__ENTER 13 // код клавиши Enter #define HB 4 // допустимое количество цифр int getint() char ch; // текущий символ char buf[HB]; // введенные цифры int n = 0; // кол-во введенных цифр buf[0] = '\0'; while ((ch = getch())!= K_ENTER) if (ch >= '0' && ch <= '9'S5 n < HB) { putch(ch); buf[n++] = ch; } else if (ch == К BACK && n) printf("\b \b") n– ; if (n) buf[n] = '\0?; return(atoi(buf) else return(-1); void main () { int a; // введенное число puts("Хп Демонстрация работы функции getint\n"); puts("Функция getint предназначена для ввода"); puts("целого положительного числа."); puts("Во время ввода, для редактирования, может"); puts("использоваться клавиша <Backspace>"); puts("При нажатии Enter функция возвращает"); puts("введенное число или -1, если число не введено."); puts("Введите число и нажмите Enter"); printf(" › "); if (a = getint ()) printf("\п Вы ввели число %d", а); else puts("Число не введено."); завершения нажмите Enter"); getch();