DigitalAnnihilator
Не слышали о том, что литерал должен быть слева в сравнении?)
DigitalAnnihilator
Просто интересно - не слыхали что код может не компилиться, если нет в switch необходимого case? А ещё как же вы хендлите если у вас не правильно введенное число?)
DigitalAnnihilator
Не хотите вынести буквы r и e что являются ключами в отдельные переменные char, что бы если что их значение не менять во всех местах? (:
DigitalAnnihilator
Не смущает что такая куча cout? Не хотите выводить одну переменную вместо постоянной копипасты cout? Это же не консистентно
DigitalAnnihilator
А ещё знаете что забавно, у вас программа не работает если я введу не 1 букву а к примеру две... Интересно вы знаете почему?) И если да, почему не предусмотреть такой елементарный хендлинг input?)
petyaGavrikov
Благодарю за подробный анализ программы.
Answers & Comments
Verified answer
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char c;
cout << "для выбора языка введи букву <e> или <r>" << endl;
cin >> c;
int t;
cout << "введи число, соответствующее времени года" << endl;
cin >> t;
if (c == 'e')
{
switch (t){
case 1: cout << "december, january, february" << endl; break;
case 2: cout << "march, april, may" << endl; break;
case 3: cout << "june, july, august" << endl; break;
case 4: cout << "septeber, october, november" << endl;
break;
}
}
else if (c=='r')
switch (t){
case 1: cout << "декабрь, январь, февраль" << endl; break;
case 2: cout << "март, апрель, май" << endl; break;
case 3: cout << "июнь, июль, август" << endl; break;
case 4: cout << "сентябрь, октябрь, ноябрь" << endl; break;
}
}
Не хотите выводить одну переменную вместо постоянной копипасты cout? Это же не консистентно
Интересно вы знаете почему?) И если да, почему не предусмотреть такой елементарный хендлинг input?)