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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 14:06   #1
Paul_AG
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 152
Восклицание Помогите исправить ошибку в программе

недавно написал программу,которая использует функцию Case.Все аботает нормально,только одно.Когда вводишь букву программа глюкается.Помогите пожалуйста исправить эту ошибку.

Вот код программы :

Код:
#include <iostream>
using namespace std;
                                                                                          
int main(){                                                                               
int n,r;

r == 1;
                                                                          
while(r != 1){                                                                           
cout << "                                                                  by Paul_AG\n";
cout << "________________________________________________________________________________\n\n";    
cout << "enter of nubmer :\n";
cout << "__________________\n\n";
cout << "Enter :  [1]  for Hello\t" << "[2]  for How are you?\t" << "[3]  for Bye!\n\n\n";

cin >> n;
switch (n)

{
       
case 1:
                        
       cout << "hello!\n\n";      
       cout << "-------------------------------";
       system("pause");
       system("cls");             
                                           break;
              
case 2:
            
       cout << "how are you?\n\n";
       cout << "-------------------------------";
       system("pause");
       system("cls");       
                                           break; 
            
case 3:
            
       cout << "bye!\n\n";   
       cout << "-------------------------------";
       system("pause");
       system("cls");
   
                                           break;
       default:
               cout << "Error!\n" << "\tonly numbers   1     2     3\t\n\n\n";
}
                                                
                                                }
system("pause");
return 0;
}
Модератор: увижу еще раз такой код - получишь варн.

Последний раз редактировалось MaTBeu; 23.03.2009 в 19:34.
Paul_AG вне форума
Старый 22.03.2009, 14:11   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. Используйте тэг code
2. Что значит "программа глюкается"? Что именно происходит?
pu4koff вне форума
Старый 22.03.2009, 14:32   #3
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Во первых case это не функция.
Во вторых, что это за строка?
Код:
r == 1;
В третьих у вас нигде не изменяется и даже не инициализируется переменная n. У вас получается бесконечный цикл.

З.Ы. Не стоит ставить столько знаков комментария - читать не удобно
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 22.03.2009, 15:35   #4
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

Какую букву, тебе надо вводить цифру 1, 2 или 3. Vsje rabotajet
Nomlpppp вне форума
Старый 22.03.2009, 18:14   #5
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Ну может, ТС имел в виду, что при вводе буквы программа просто глючит, а ему надо, чтоб выдавалось что-то типа "Нельзя вводить букву" или "Вводите только цифры" ну и т.п.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума
Старый 22.03.2009, 18:14   #6
Paul_AG
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 152
По умолчанию

При вводе любой буквы вместо цифры она повторяет Hello

Это самое.Помогите пожалуйста

Последний раз редактировалось MaTBeu; 23.03.2009 в 19:35.
Paul_AG вне форума
Старый 22.03.2009, 18:27   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Какой еще ввод букв, если значение запрашиваете для переменной int?
pu4koff вне форума
Старый 22.03.2009, 18:32   #8
Paul_AG
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 152
По умолчанию

просто хочется сделать так,чтобы при вводе буквы он писал типа недопустимое значение или ошибка итд...
Paul_AG вне форума
Старый 22.03.2009, 18:35   #9
Am1r
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 13
По умолчанию

Тебе просто нужно проверка на цифру?!
то функция isdigit,
но переменная n должна быть типа char,
ну а потом можно преобразовать в int функцией atoi, или сразу проверять значение в переменной n, но тогда твой case будет выглядеть след образом.
case '1' и т.п.

P.S. чет сложно написал...
Am1r вне форума
Старый 22.03.2009, 18:38   #10
Paul_AG
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 152
По умолчанию

спасибо большое
Paul_AG вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите исправить ошибку Temirlan Общие вопросы Delphi 2 20.02.2009 18:42
ПОМОГИТЕ исправить ошибку в программе SYL@R Помощь студентам 1 07.12.2008 19:42
ПОМОГИТЕ исправить ошибку в программе SYL@R Помощь студентам 1 21.11.2008 14:48
помогите исправить ошибки в программе... VDK23 Помощь студентам 1 17.04.2008 13:05
Помогите исправить ошибки в программе Gambit90 Помощь студентам 1 20.12.2007 16:24