Книга: Язык Си - руководство для начинающих

ПРОГРАММА, "РИСУЮЩАЯ" СИМВОЛАМИ

     Давайте теперь займемся чем нибудь менее утилитарным и более декоративным. Нашей целью является создание программы, с помощью которой вы сможете рисовать на экране геометрические фигуры, заполненные символами. Каждая выводимая строка представляет собой сплошной рад одинаковых символов.

     Нам предоставляется возмжность выбора символа, длины строки, а текже начальной позиции, с которой она выводиться на печать. Программа читает указываемые параметры до тех пор, пока не встретит признак EOF. Текст программы представлен на рис. 7.5.

     Положим, мы вызываем программу sketcher. Чтобы ее выполнить, мы набираем на клавиатуре ее имя, затем вводим символ и два числа. На экране появляется отклик, после чего мы вводим его набор параметров, отклик появляется вновь, и так до тех пор пока мы не введем признак EOF.

В среде ОС UNIX диалог будет выглядеть следующим образом:

%   sketcher

B 10 20

      BBBBBBBBBBB

Y 12 18

         YYYYYYY

[CTRL/-d]

%

/* художник-график */

/* РИСУЕТ  сплошные фигуры */

#include

 #define MAXLENGTH  80

main( )

{

int ch; /*печатаемыйсимвол*/

int start, stop;  /* начальная и конечные позици */

int count;   /* счетчикпозиций*/

whilе((сh = getchar( )) != EOF)   /* вводсимвола*/

{

  if(ch != 'n' )  /*пропуск символа "новая строка"*/

   { scanf(" %d  %d", &start, &stop);  /* ввод граничных значний*/

     if (start > stop ||  start < 1 ||        stop > MAXLENGTH)

        printf(" Введены неправильные граничные значе ния n");

     else

        { count = 0;

          while(++count < start)

            putchar(' '); /* печать пробелов вплоть до начальной позиции */

          while(count++  <= stop)

            putchar(ch);   /*печать символа до конечной позиции */

          putchar(' n'); /* закончить печать строки и начать новую */

        }   /* конец части else */

  }   /* конец проверки содержимого ch */

}   /* конец цикла while */

}   /* конец программы */

РИС. 7. 5. Программа, рисующая символами

     Программа вывела на экран символ В в позициях с 10 по 20, а символ Y - с 12 по 18. К сожалению, при диалоговой работе с программой на экране наши команды перемежаются выводимым строками. Гораздо более удобным способом использования программы является создание файла, содержащего подходящий набор данных, а затем применение операции переключения для ввода (из него) параметров в программу. Предположим, например, что в файле с именем fig содержатся следующие данные:

- 30 50

| 30 50

| 30 50

| 30 50

| 30 50

| 30 50

= 20 60

: 31 49

: 31 49

: 29 49

: 27 49

: 25 49

: 30 49

: 30 49

/ 30 49

: 35 48

: 35 48

Послe ввода команды sketcher < fig результат работы программы будет выглядеть так, как показано на рис. 7.6.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.226. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз