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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 17:39   #1
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию С++ switch

Написать программу, которая вводит среднюю оценку студента и возвращает 5, если средняя оценка 90-100, 4 - если ср.оценка 80-89, 3 – ср. оценка 70-79 и 2 – ср.оценка 60-69.
Написала с помощью оператора if. А как реализовать с помощью оператора switch? Как описать эти интервалы оценок в switch? Объясните пожалуйста люди добрые!

Код:
int main ()
{
  int estimate = 0;
  cout << "Enter estimate of student (60 - 100): ";
  cin >> estimate;
  cout << "\n";
  if ((estimate >= 90) && (estimate <= 100))
	  cout << "5";
  if ((estimate >= 80) && (estimate <= 89))
	  cout << "4";
  if ((estimate >= 70) && (estimate <= 79))
	  cout << "3";
  if ((estimate >= 60) && (estimate <= 69))
	  cout << "2";
	getch ();
}
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 23.12.2011, 18:15   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Можно конечно изголиться и через switch, но зачем?
if - это оперетор условия (работает с диапазонами), а switch - оператор выбора (работает как многопозиционный переключатель).
В принципе программа написана нормально, но я бы ещё добавил:
if(estimate < 60) cout<< "1";
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 23.12.2011, 18:20   #3
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
if - это оперетор условия (работает с диапазонами), а switch - оператор выбора (работает как многопозиционный переключатель).
В принципе программа написана нормально, но я бы ещё добавил:
if(estimate < 60) cout<< "1";
Действительно...перемкнуло меня , запуталась в операторах )))
Ну как вариант 1 хотела написать
if(estimate < 60) cout<< "Вы полный кол!!!";
Спасибо за ответ!!!
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 23.12.2011, 18:23   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Pingvinenok_Lolo Посмотреть сообщение
... А как реализовать с помощью оператора switch?..
Разделите estimate нацело на 10. А в switch тогда будут значения 10,9; 8; 7; 6.

Но, вообще, это дурная привычка - так привязывать программу к данным (хоть по if, хоть по switch). В качестве упражнения на сообразительность - ещё может быть, а в реальности - BAD! BAD!! BAD!!! Поменяется шкала оценок, и что Вы будете делать? Искать [давно уволившегося] программиста?..
Vago вне форума Ответить с цитированием
Старый 23.12.2011, 18:33   #5
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
Но, вообще, это дурная привычка - так привязывать программу к данным (хоть по if, хоть по switch). В качестве упражнения на сообразительность - ещё может быть, а в реальности - BAD! BAD!! BAD!!!
Вот как раз и упражняюсь в сообразительности,
хорошо, если привязывать программу к данным - дурная привычка, то какие есть другие варианты?
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 23.12.2011, 18:44   #6
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Файл, естественно. Ничего иного не придумано. Две колоночки: верхняя, положим, граница и соответствующая оценка. Обычный ASCII-файл для начала. А потом уже можно продолжать практиковаться в работе с файлами бинарными, зашифроваными и пр., и пр...
Vago вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# switch Sna1L Помощь студентам 2 07.07.2011 15:00
C++ Switch Sonny01 Помощь студентам 2 12.11.2010 22:38
switch G. J. Cezar Общие вопросы C/C++ 2 16.10.2010 14:06
switch ололошенько Общие вопросы C/C++ 24 30.09.2010 16:52
Switch Division Общие вопросы C/C++ 3 11.01.2009 23:52