Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Uuuchenik
0 / 0 / 0
Регистрация: 29.04.2011
Сообщений: 9
#1

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

29.04.2011, 18:28. Просмотров 618. Ответов 0
Метки нет (Все метки)

Ниже дана программа которая до нажатия Esc повторяет действия: случайным образом выбирает размеры (соотношение 25х80) и положение окна на экране закрашивает его в случайный цвет помещает в него двойную рамку и текст “Привет!” со случайным цветом и включает источник звука со случайной частотой Все окна полностью размещаются на экране Задание: после нажатия Esc программа модифицируется по варианту, а при повторном нажатии Esc прекращает свою работу
Задание
Окно располагается в левой половине экрана и движется сверху вниз, а затем обратно.



#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>

char text[]="Привет!";
unsigned int textlen=7, //размер текста
pause=500, //задержка в мсек
maxx=80, maxy=25, //гориз. и верт. размеры экрана
x1, y1, x2, y2, background, color, setblink, freq;
void doubleframe(); //функция формирования двойной рамки
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();
}
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<<'╝'; //правый нижний угол рамки
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2011, 18:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с экраном в текстовом режиме. (C++):

Работа с экраном в текстовом режиме - C++
В меню с выбором пунктов Функциональными Клавишами по программе с клавиатуры в 1-е окно вводится текст с цифрами. Во 2-м окне...

Работа с экраном в текстовом режиме - C++
Ниже дана программа которая до нажатия Esc повторяет действия: случайным образом выбирает размеры (соотношение 25х80) и положение окна ...

Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой) - C++
Пожалуйста подскажите, как сделать вывод всех цветов фона, разделяя цвета паузой. Задание: Дополнить меню функциональной клавишей F6:...

РАБОТА С ЭКРАНОМ В ГРАФИЧЕСКОМ РЕЖИМЕ - C++
Ребята, целый день решал никак не могу понять почему у меня график не правильно прорисовывается? Написать программу которая строит...

Создание игр в текстовом режиме - C++
Привет всем! Тут занялся написанием игрушек в текстовом режиме, типа змейки, тетриса и т.п. Суть в том, что я хочу как можно более...

Создание интерфейса пользователя в текстовом режиме - C++
Создание интерфейса пользователя в текстовом режиме. Библиотека PDCurses. (С++) Задание: В текстовом режиме экрана реализуйте...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2011, 18:28
Привет! Вот еще темы с ответами:

Нарисовать мышью прямоугольник в текстовом режиме экрана - C++
Помогите разобраться.. Нужно нарисовать прямоугольник (любыми символами) в текстовом режиме экрана с помощью мышки. Ну я пытался...

ООП иерархия классов с выводом в текстовом режиме - C++
Помогите с решением &quot;Дана иерархия классов числа-числа кратные 5-числа кратные 25. Написать программу с выводом объектов указанных классов...

Как сделать прокрутку (в текстовом режиме) и менюшку в turbo c - C++
(Turbo c)Если прогамма выводит на экран большое кол-во информации, то некоторая её часть становится недоступной, как же сделать прокрутку...

работа в визуальном режиме - C++
ребята,пожайлуста помогите. препод задал написать анимацию(у меня танчик ) и чтоб эта картинка двигалась по нажатию кнопки на клаве...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.