Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 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();
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.