Информатика, вопрос задал NelsSing , 7 лет назад

Помогите написать программу на языке С++. Во вложениях есть условие и код, который работает через раз. Спасибо!)

Приложения:

Ответы на вопрос

Ответил petyaGavrikov
0

#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;

 }

}

Ответил DigitalAnnihilator
0
Просто интересно - не слыхали что код может не компилиться, если нет в switch необходимого case? А ещё как же вы хендлите если у вас не правильно введенное число?)
Ответил DigitalAnnihilator
0
Не хотите вынести буквы r и e что являются ключами в отдельные переменные char, что бы если что их значение не менять во всех местах? (:
Ответил DigitalAnnihilator
0
Не смущает что такая куча cout?
Не хотите выводить одну переменную вместо постоянной копипасты cout? Это же не консистентно
Ответил DigitalAnnihilator
0
А ещё знаете что забавно, у вас программа не работает если я введу не 1 букву а к примеру две...
Интересно вы знаете почему?) И если да, почему не предусмотреть такой елементарный хендлинг input?)
Ответил petyaGavrikov
0
Благодарю за подробный анализ программы.
Новые вопросы