направление в проекте говорится следующее: «Для уровня активности, если входной сигнал не является действительным, распечатайте сообщение и сообщить пользователю, вы предполагая, что они ведут оседлый образ жизни»Как установить значение по умолчанию при вводе неверного/недопустимого ввода?
Следующая мой текущий код, я пытаюсь установить его по умолчанию на "Sedentary"
, который пользователь может ввести как SA или sa. По умолчанию для недопустимого ввода предполагается сделать программу по умолчанию сидячей, и я немного смущен, правильно ли я нахожусь на правильном пути или нет.
else if (gender == 'F' || gender == 'f') {
cout << "Please enter your Height in inches. (You may include a decimal) ";
cin >> height;
cout << "Please enter your Weight in pounds as a whole number. ";
cin >> weight;
cout << "Please enter your Age in years. ";
cin >> age;
cout << endl;
if (activity_level = 'SA' || activity_level = 'sa' || activity_level = 'LA' || activity_level = 'la' ||
activity_level = 'MA' || activity_level = 'ma' || activity_level = 'VA' || activity_level = 'va') {
cout << "Please enter your activity level." << endl << endl;
cout << "You may enter one of the following choices." << endl << endl;
cout << "Sedentary (Little or no exercise) \"SA\" or \"sa\" " << endl;
cout << "Lightly Active (Light exercise/sports 1-3 days a week) \"LA\" or \"la\" " << endl;
cout << "Moderately Active (Moderate exercise/sports 3-5 days a week) \"MA\" or \"ma\" " << endl;
cout << "Very Active (Hard exercise/sports 6-7 days a week) \"VA\" or \"va\" " << endl << endl;
cout << "Enter your activity level now. ";
cin >> activity_level;
cout << endl;
}
// Output for the message to defualt to Sedentary if you do not select activity level throught he proper input.
else {
activity_level =
cout << "I'm sorry I did not recogonize that activity level. We will assume a sedentary amount of exercise. "
}
}
В принципе, мне интересно, если что я делаю; использование другой инструкции if в заявлении else if
будет работать, и мне интересно, будет ли способ, который я установил на данный момент, произвести требуемый результат.
'activity_level = 'SA'' выполняет * присваивание *' activity_level', а не сравнение. 'activity_level ==" SA "будет сравнением. –
Почему вы проверяете уровень activity_level, прежде чем пользователь сможет его ввести? –
Хорошо, я видел эту ошибку, по крайней мере, после того, как я ее разместил. – user2072795