Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2009, 00:39   #1
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
Восклицание Оператор switch.

Есть у меня такая программа которая рисует кунус и передвигает его по экрану стрелочками. Мне задали задание ответить про действие оператора switch в этой проге, а именно как я нашёл числа 72, 80, 75, 77, котрые собственно и считывают нажатие. Подскажите откуда берутся эти числа и где можно найти описание клавиш всей клавиатуры?
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <graphics.h>
int main (void)
{
clrscr();
int i,k=0;
int d=1;
int X=300;
int Y=100;
char c=1;
int gdriver = DETECT, gmode, errorcode;// инициализируем видеорежим
initgraph(&gdriver, &gmode, ""); //входим в видеорежим
setcolor (4);// выбрали цвет(4)
do
{
if (c!=0)
{
setbkcolor(0); // фон экрана
cleardevice(); // очистка экрана
setcolor(4); // установить цвет
setfillstyle(SOLID_FILL,4);// стиль закраски обьекта
fillellipse(X,Y+200,70,40);// рисуем элипс
line(X-70,Y+200,X,Y);// рисуем 1 ребро элипса
line(X+70,Y+200,X,Y);// рисуем 2 ребро элипса
floodfill(X,Y+20,4); // описывает площадь для зарисовки
c=0;
}

if(kbhit()!=0)// проверка на жатия клавиши
{
c=getch(); //считываем ввод с клавиатуры
switch (c) // switch - обработчик нажатия клавиш
{
case (72):
Y=Y-10;
break;
case (80):
Y=Y+10;
break;
case (75):
X=X-10;
break;
case (77):
X=X+10;
break;
case (27): d=0;break;
}
}
}
while(d==1);
closegraph();
return 0;}
IgorArhangel вне форума Ответить с цитированием
Старый 16.01.2009, 00:46   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

эти числа - ascii коды.
Почитать можно здесь -> http://ru.wikipedia.org/wiki/Ascii
Посмотреть код нужной клавиши мождно с помощью этой программки:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main(){
int ch;
do {
ch = getch();
cout<<ch<<endl;
} while(ch!=27);

return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.01.2009, 00:50   #3
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
По умолчанию

Почему то в строке
using namespace std;
выдаёт ошибку!
IgorArhangel вне форума Ответить с цитированием
Старый 16.01.2009, 00:57   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

IgorArhangel А у вас какой компилятор?
Попробуйте заменить
Код:
#include <iostream>
#include <conio.h>
using namespace std;
на
Код:
#include <iostream.h>
#include <conio.h>
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.01.2009, 01:53   #5
IgorArhangel
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 20
Хорошо

Благодарю. У меня стоит ВС31
IgorArhangel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача с помощью функции switch по C++ Many man Помощь студентам 9 02.09.2017 10:35
Switch Division Общие вопросы C/C++ 3 11.01.2009 23:52
Проблема с операторами switch и break htonasral Общие вопросы C/C++ 2 23.09.2008 10:54
Диапазон оператора switch Иллидан Общие вопросы C/C++ 4 18.05.2008 00:10
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10