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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 22:33   #1
htonasral
Пользователь
 
Регистрация: 19.12.2007
Сообщений: 18
По умолчанию Проблема с операторами switch и break

Даная проблема заключается в следующем:
Нужно написать прогу которая переводит баллы с Болонской системы на обычные оценки 5, 4, 3, 2 с помощью оператора switch - break, тоисть от 1 до 59 - это 2; от 60 до 74 - это; от 75 до 89 - это 4; от 90 до 100 - это 5. Мы только начали в универе изучать С++ поэтому прошу не ругатся. Проблемы возникаю когда пишу case for(int i=0: i<=59: i++): iOcenka=2: break; ну остальное аналогично. Выдает ошибку типо после case должно быть число. Вопрос таков: как сделать так чтоб case считывал цикл.
htonasral вне форума Ответить с цитированием
Старый 23.09.2008, 05:28   #2
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от htonasral Посмотреть сообщение
Даная проблема заключается в следующем:
Нужно написать прогу которая переводит баллы с Болонской системы на обычные оценки 5, 4, 3, 2 с помощью оператора switch - break, тоисть от 1 до 59 - это 2; от 60 до 74 - это; от 75 до 89 - это 4; от 90 до 100 - это 5. Мы только начали в универе изучать С++ поэтому прошу не ругатся. Проблемы возникаю когда пишу case for(int i=0: i<=59: i++): iOcenka=2: break; ну остальное аналогично. Выдает ошибку типо после case должно быть число. Вопрос таков: как сделать так чтоб case считывал цикл.
case может работать тока с конкретным числом.
тебе лучше использовать другой механизм.

Код:
cout << "Vvedite balli:";
cin >> bol;
int norm;
if (bol>=1 && bol<=59)
{
   norm = 2;
}
else if (bol>=60 && bol<=74)
{
   norm = 3;
}
else if (bol>=75 && bol<=89)
{
   norm = 4;
}
else if (bol>=90 && bol<=100)
{
   norm = 5;
}
switch (norm)
{
   case 2:
      cout << bol << " v bolonskoi sisteme, ravno 2 v nawei";
      break;
   case 3:
      cout << bol << " v bolonskoi sisteme, ravno 3 v nawei";
      break;
   case 4:
      cout << bol << " v bolonskoi sisteme, ravno 4 v nawei";
      break;
   case 5:
      cout << bol << " v bolonskoi sisteme, ravno 5 v nawei";
}
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 23.09.2008 в 05:45.
alexinspir вне форума Ответить с цитированием
Старый 23.09.2008, 10:54   #3
htonasral
Пользователь
 
Регистрация: 19.12.2007
Сообщений: 18
По умолчанию

alexinspir Спасибо большое помогло
htonasral вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с dll( DM_bite Помощь студентам 10 31.07.2008 16:05
Диапазон оператора switch Иллидан Общие вопросы C/C++ 4 18.05.2008 00:10
Карточная колода при помощи Switch на С++ Amen Общие вопросы C/C++ 1 28.02.2008 08:24
Проблема с UDP Kirill666 Работа с сетью в Delphi 3 22.03.2007 21:55