Предмет: Информатика, автор: veronikatyan54p9t0vc

Если я ввожу "fine" или "bad" он пишет оба условия (и fine, и bad). С остальным вроде разобралась. #include ;
using namespace std;
int main()
{
string name;
cout << "What is your name? ";
cin >> name;
cout << "Hello, " << name << endl;
cout << "How are you? ";
string Good;
string Fine;
string Bad;
string mood;
cin >> mood;
if (mood == "Good"||"good") {
cout << "Okay, so do you mind to play with me? ";
}
if (mood == "Fine"||"fine") {
cout << "I don't wanna annoy you but do you mind playing with me? ";
}
if (mood == "Bad"||"bad") {
cout << "Oh, what happened? Can I help you? Do you mind playing with me? It's really fun. You'll like it";
}
return 0;
}

Ответы

Автор ответа: vaash
1
здесь ошибка в том, что логические операции || и && разделяют логические выражения. во всех условиях справа от || стоит просто строка (непустая строка в с++ считается за истину, поэтому все три условия выполняются), а нужно везде дописать mood == . то есть одно условие выглядит так: if (mood == "Good" || mood == "good"). также это не ошибка, но создавать переменные Good, Fine и Bad в этой программе не нужно, так как ты их не используешь. и ошибка в английском) в первом условии должно быть mind playing, а не mind to play. 

veronikatyan54p9t0vc: Когда я их не создавала программа мне выдавала ошибку что-то вроде "неизвестный идентификатор".
vaash: ну дело в том, что ты их не используешь в программе
veronikatyan54p9t0vc: В смысле?
vaash: кстати, соль вся в том, что переменные также могут быть логичческими выражениями. для чисел 0 - ложь, а любое другое число - истина, для строк пустая строка - ложь, непустая - истина. поэтому в твоей программе выполняются все три условия
vaash: ну ты не вводищь эти переменные, не изменяешь их и не выводишь
veronikatyan54p9t0vc: Всё, поняла, благодарю.
vaash: не за что! рад был помочь)
veronikatyan54p9t0vc: Как мне добавить исключения?
veronikatyan54p9t0vc: Можно написать, что mood не равен good||fine||bad?
veronikatyan54p9t0vc: Что не так? try {
string mood;
if (mood == "Good"| mood == "good"| mood == "Fine"| mood == "fine"| mood == "Bad"| mood == "bad") {
throw "O-ops";
}
}
catch (string mood) {
cout < }
Похожие вопросы
Предмет: Русский язык, автор: megaz6
оверять свои знания по этой теме с помощью данной разработки. Просмотр содержимого документа Проверочная работа «Действительные причастия настоящего и прошедшего времени» (7 класс) 1.Найдите действительные причастия настоящего времени, обозначьте в них суффиксы. Чувствующий, узнавший, ухмыляющийся, любящий, приходившийся, знающий, повествовавший, лезший, упорствующий, принимающий. 2.Вставьте пропущенные буквы. Объясните выбор гласной, укажите время причастий. А) Дремл..щий (_________) р..бёнок(_________), завис..вший (_________) от обстоятельств, колыш..щаяся (_________) роща, раскле..вшие (_________) п..ртреты (_________), стро..щие (_________) здание, слыш..вший (_________) меня, зала..вшая (_________) с..бака (_________). Б) Скач..щая (_________) лош..дь (_________), стел..щий (_________) од..яло (_________), увид..вшая странную вещь, вер..щие (_________) в меня, стро..вшие (_________) здан..е (_________), шепч..щиеся (_________) бабушки, объезд..вшая (_________) полмира. 3. От данных глаголов образуйте действительные причастия настоящего и прошедшего времени. Выделите в них суффиксы. Дремать______________________________________________________; сказать______________________________________________________; бежать______________________________________________________; окружить______________________________________________________; хотеть______________________________________________________;​
Предмет: Алгебра, автор: sofiaaaa32
Предмет: Математика, автор: shehiash