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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 14:20   #1
XxXGhosTXxX
Пользователь
 
Аватар для XxXGhosTXxX
 
Регистрация: 03.03.2011
Сообщений: 93
По умолчанию Как сделать, чтобы было только нажати 3 цифры

Здравствуйте.
Вот например здесь:

Код:
#include <iostream.h>
int main ()
{
     int a;
     cout<<"1. TXT     |     2. CPP     |     3.MP3"<<endl;
     cout<<"Chose: ";
     cin>>a;
     if (a==1)
cout<<"TXT";
     if (a==2)
cout<<"CPP";
     if (a==3)
cout<<"MP3";
     return 0;
}
Что я могу делать, чтобы было нажати только 3 цифры, 1, 2 и 3.
Если нажат другой кнопку, хочу, чтобы ничего не происходить.
Как это делать в этом программе.

Последний раз редактировалось XxXGhosTXxX; 18.03.2011 в 14:22.
XxXGhosTXxX вне форума Ответить с цитированием
Старый 18.03.2011, 14:59   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
#include <iostream>
#include <conio.h>//для getch()
using namespace std;

int main ()
{
     char a;//используем как символьную переменную
     cout<<"1. TXT     |     2. CPP     |     3.MP3"<<endl;
     cout<<"Chose: ";
	 while(a=getch())//вводим с клавиатуры символы (в консоли отображ не будут 
		 if(a=='1' || a=='2' || a=='3'){ //если встречаем 1 2 или 3
			 cout<<a<<endl;              //выводим их на экран
			 break;}			    //и завершаем ввод 
     if (a=='1')
		cout<<"TXT";
     if (a=='2')
		cout<<"CPP";
	 if (a=='3')
		 cout<<"MP3";
	cout.put('\n');//выводим символ новой строки ,чтобы не сливалось 
    return 0;
}

Работает только в windows
Hemul вне форума Ответить с цитированием
Старый 18.03.2011, 22:56   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Цитата:
Работает только в windows
интересно с чего вы это взяли?

по сабжу:
Код:
switch(a) {
case 1: cout << 1; break;
case 2: cout << 2; break;
case 3: cout << 3; break;
default: // ничего не делать
}
onewho вне форума Ответить с цитированием
Старый 19.03.2011, 10:31   #4
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

а что у тебя тут происходить может еще? если ты про печатание цифры которую ты набираешь то это вроде как не меняется хотя может и можно как-то
UltimaBeaR вне форума Ответить с цитированием
Старый 20.03.2011, 11:34   #5
ololo-schoolboy
Форумчанин
 
Регистрация: 25.12.2010
Сообщений: 247
По умолчанию

Цитата:
интересно с чего вы это взяли?
getch() работает только в windows, лучше пользоваться cin.get() тогда он будет кросс платформенным + не надо будет подключать лишнюю либу
ololo-schoolboy вне форума Ответить с цитированием
Старый 20.03.2011, 14:17   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

Цитата:
интересно с чего вы это взяли?
conio.h не входит в стандартную библиотеку, виндовый велосипед
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 20.03.2011, 15:31   #7
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

удалить .
NiCola999 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12. ciev Общие вопросы Delphi 6 14.05.2016 17:45
Как сделать так чтобы изображение было поверх таблицы otenova HTML и CSS 2 29.09.2010 18:00
Какую надо задать маску для MaskEdit, чтобы можно было вводить только цифры (притом с запятой)? Polotenchik Компоненты Delphi 24 17.07.2009 21:29
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34