Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Тема- Работа с экраном в текстовом режиме

Работа добавлена на сайт samzan.ru: 2016-06-09

Контрольное задание  #12

Студента первого курса заочного факультета группы Уи Калужских Михаила Юрьевича. Вариант #24

Тема: Работа с экраном в текстовом режиме.

Цель: Научиться работать с экраном в текстовом режиме.

Задание: Подкорректировать исходный код программы так, чтобы до нажатия клавиши Esc программа выполняла заданную задачу, после нажатия задача меняется на ту, которая дана в варианте (Текст движется по диагонали внутри окна, а затем обратно), при повторном нажатии клавиши Esc происходит выход из программы.

Блок-схема:

Исходный код:

#include <iostream.h>

#include <stdlib.h>

#include <conio.h>

#include <dos.h>

char text[]="Information";

unsigned int textlen=11, pause=500, maxx=80, maxy=25, x1, x2, y1, y2;

 unsigned int background, color, setblink, freq;

  unsigned int x, y, k, t, i;

void doubleframe ();

void doubleframetwo ();

void main ()

{

 unsigned int minlen;

  minlen=textlen+6;

 textbackground (0);

  clrscr ();

 do

  {

   x1=1+random (maxx-minlen);

 x2=minlen+random (maxx-x1-minlen);

y2=x2*maxy/maxx;

 y1=1+random (maxy-y2);

window (x1, y1, x1+x2-1, y1+y2-1);

 background=random (8);

color=random (16);

 setblink=random (2);

textbackground (background);

 clrscr ();

textcolor (color+setblink*128);

 gotoxy ((x2-textlen)/2+1, (y2-1)/2+1);

cout << text;

 doubleframe ();

/*switch (background)

 {

  case 0: freq 262; break;

  case 1: freq 294; break;

  case 2: freq 330; break;

  case 3: freq 349; break;

  case 4: freq 392; break;

  case 5: freq 440; break;

  case 6: freq 494; break;

  case 7: freq 524; break;

 }*/

sound (freq);

 delay (pause);

nosound ();

  }

 while (!kbhit ());

  window (1, 1, 80, 25);

   textbackground (0);

 textcolor (7);

  clrscr ();

 doubleframetwo ();

}

void doubleframe ()

{

 int i;

  gotoxy (2, 1);

 cout << 'Й';

  for (i=3; i<=x2-2; i++)

   cout << 'Н';

 cout << '»';

  for (i=2; i<=y2-1; i++)

   {

 gotoxy (2, i);

  cout << 'є';

 gotoxy (x2-1, i);

  cout << 'є';

}

  gotoxy (2, y2);

   cout << 'И';

  for (i=3; i<=x2-2; i++)

   cout << 'Н';

  cout << 'ј';

}

void doubleframetwo ()

{

 textbackground (0);

  clrscr ();

   _setcursortype (_NOCURSOR);

 x=1;

  y=1;

 k=1;

 do

  {

   textcolor (RED);

     for (t=0; t<23; t++)

      {

       clrscr ();

       textbackground (random (3));

        y=y+1;

         x=x+3.52;

       gotoxy (1, 1);

        cout << 'Й';

       for (i=1; i<=77; i++)

        cout << 'Н';

         cout << '»';

       for (i=2; i<=24; i++)

        {

         gotoxy (1, i);

          cout << 'є';

         gotoxy (79, i);

          cout << 'є';

        }

       gotoxy (1, 25);

        cout << 'И';

       for (i=1; i<=77; i++)

        cout << 'Н';

         cout << 'ј';

       gotoxy (x-2, y);

        cout << text;

         delay (200);

      }

     for (t=0; t<23; t++)

      {

       clrscr ();

        textbackground(random (3));

       gotoxy (1, 1);

        cout << 'Й';

       for (i=1; i<=77; i++)

        cout << 'Н';

         cout << '»';

       for (i=2; i<=24; i++)

        {

         gotoxy (1, i);

          cout << 'є';

         gotoxy (79, i);

          cout << 'є';

        }

       gotoxy (1, 25);

        cout << 'И';

       for (i=1; i<=77; i++)

        cout << 'Н';

         cout << 'ј';

       gotoxy (x-2, y);

        cout << text;

        y=y-1;

         x=x-3;

          delay (200);

      }

  }

 while (!kbhit ());

  window (1, 1, 80, 25);

 textbackground (0);

  clrscr ();

}

Таблица переменных:

Переменная

Тип переменной

x

unsigned int

y

unsigned int

k

unsigned int

t

unsigned int

i

unsigned int

x1

unsigned int

x2

unsigned int

y1

unsigned int

y2

unsigned int

pause

unsigned int

textlen

unsigned int

maxx

unsigned int

maxy

unsigned int

background

unsigned int

freq

unsigned int

color

unsigned int

setblink

unsigned int

text

char

Тестирование:

Тестирование прошло успешно. Программа выполняется по условию задачи.


D

while (!kbhit ())

Вывод текста

t

ывод символа

i

Вывод символа

i=1; i<=77; i++

Вывод символа

i

Вывод символов

i=2; i<=24; i++

Вывод символа

C

i

Вывод символа

i=1; i<=77; i++

Вывод символа

y=y+1;

x=x+3.52;

t=0; t<=77; t++

do

void doubleframetwo ()

C

Вывод символа

i

Вывод символа

i=3; i<=x2-2; i++

B

Вывод символов

i=2; i<=y2-2; i++

Вывод символа

i

Вывод символа

i=3; i<=x2-2; i++

Вывод символа

void doubleframe ()

Конец

void doubleframetwo ()

while (!kbhit ())

void doubleframe ()

A

A

Воспроизведение звуков в соответствии с цветом фона

Вывод текста

определение координат, формирование окна, определение цвета фона, символов.

do

void doubleframe() void doubleframetwo()

Объявление переменных

Начало

Вывод символа

i

B

y=y-1;

x=x-3;

Вывод текста

t

Вывод символа

i

Вывод символа

E

E

i=1; i<=77; i++

Вывод символа

i

Вывод символов

i=2; i<=24; i++

Вывод символа

i

Вывод символа

i=1; i<=77; i++

Вывод символа

t=0; t<=77; t++

D


1. Методические рекомендации для педагогов подготовила Гуськова Ольга Геннадьевна Восп
2. Основные формулы комбинаторики- факториал число перестановок размещений сочетаний
3. Деяновский. 3. Назначение состав и содержание бухгалтерской финансовой отчетности
4. Підвищення довговічності деталей нанесенням зносостійких покриттів плазмово-порошковим методом
5. .140409. 2 Лист 1 Изм
6. Реферат- Исследование и моделирование с помощью компьютера электрических полей
7. ОБ ОЦЕНОЧНОЙ ДЕЯТЕЛЬНОСТИ В РОССИЙСКОЙ ФЕДЕРАЦИИ
8. Городище насчитывает сотни каменных сооружений из которых пока раскопана только небольшая часть
9. Курсовая работа Система профориентационной работы во вспомогательной школе
10. Тема 1. Социология управления как специальная социологическая теория 1.
11. к от продолжительности рабочего времени зависит общее состояния здоровья и жизнедеятельности человека
12. Тема лекции- Культурная эволюция человечества
13. сравнительно недавно
14. .Православный народ ею тешилсяА боярин Матвей РомодановскийНам чарку поднес меду пенногоА боярыня его бело
15. Школы стратегического менеджмента Роль школы культуры в стратегическом менеджменте
16. КОНТРОЛЬНІ РОБОТИ з дисципліни Право ЄСrdquo; для студентів заочної форми навчання Поняття
17. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата філологічних наук К
18. а ЭЛЕМЕНТЫ ПОЗНАВАТЕЛЬНОЙ КУЛЬТУРЫ В ИСЛАМЕ И ХРИСТИАНСТВЕ По моим наблюдениям в разговоре об истине и п
19. государство ~ ночной сторож принцип невмешательства государства в экономику вплоть до 30х годов ХХ столет
20. Лабораторная работа ’17 Изучение законов соударения шаров Цель работы- Изучение законов соударения шар.html