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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2013, 23:07   #11
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
Вопрос

Спасибо, но мой код сильно слабенький

Если вам нетрудно могли бы вы посмотреть код и усовершенствовать его???
Код:
//---------------------------------------------------------------------------

#pragma hdrstop

#include <tchar.h>
//---------------------------------------------------------------------------

//#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <windows.h>

//---------------------------------------------------------------------------
void rustext(char str[]);

void main()
{
int ch;
do
{
rustext("Меню:\n1-ввести данi\n2-переглянути весь список\n3-пошук по областi\n4-вихiд\n");
switch (getchar()-'0')
{
case 1:
{
clrscr();
rustext("Ввести данi\n");
break;
}
case 2:
{
clrscr();
rustext("данi для перегляду\n");
break;
}
case 3:
{
clrscr();
rustext("пошук по областi\n");
break;
}
case 4:
{
clrscr();
rustext("вихiд\n");
break;
}
}
getch();
}
while (ch!=0);
}

void rustext(char str[])
{
CharToOem(str,str);
cout<<str;
}

//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 11.03.2013 в 22:06.
KlIm16 вне форума Ответить с цитированием
Старый 08.03.2013, 00:10   #12
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,330
По умолчанию

Только как пример:
тут другая конструкция цикла.
Код:
while (ch != 'E')
   {
    	if (_kbhit()) // проверяем нажатие клавишы
	{
	  ch = _getch();  // считываем символ
	  switch(ch)       // начало case
	  {
	  case '1': if ((cod & 0x01) == 0)  // ввод - 1
                   cod = cod | 0x01;
 	            else
                   cod = cod & 0xFE;
		        break;                   // завершение блока
	  case '2': if ((cod & 0x02) == 0)  // ввод - 2
	  	           cod = cod | 0x02;
                     else
                        cod = cod & 0xFD;
	  	        break;
        // и т.д.

          case '9': flg = -flg;   // ввод - 9
		    break;
	  case 'E':               // Нажата большая E для выхода
	  case 'e': ch = 'E';   // Нажата малая e. Делаем большой.
	  }                        // Конец case
	}                          // Завершение блока операторов в If
}                                 // Завершение тела цикла.
Обрати внимание на _kbhit() - проверка нажатия клавишы.
Цикл повторяется непрерывно.
Проверяется нажатие клавишы.
Если нажата, то выполняем операторы case.
Если была нажата e или E - вываливаемся из цикла.

Уже время спать ...

Я делал для себя так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 11.03.2013, 19:22   #13
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
По умолчанию

А можна как-то сделать чтобы программа возращалась на шаг назад
KlIm16 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
switch и case C++ countteran Общие вопросы C/C++ 18 06.04.2013 20:52
Перемещение из case 1 в case 2(switch(), язык Си) Павел_95 Помощь студентам 13 11.01.2013 14:18
C++ switch case frozen__11 Общие вопросы C/C++ 6 11.11.2012 23:16
switch и case symrak Общие вопросы C/C++ 2 24.01.2012 15:17