Приложение просит пользователя ввести основную студентку - математику или СНГ, и я хотел бы сделать так, чтобы пользователь вводил что-то другое, кроме двух, оно выдавало сообщение об ошибке и запрашивало пользователя снова войти в майор.Вопросы с оператором IF
Вот то, что я до сих пор:
cout << "Math or CIS Major: ";
cin >> major;
if (major != "math" || major != "Math" || major != "CIS" || major != "cis") {
cout << "Invalid major" << endl;
}
cout << "Enter students GPA: ";
cin >> studentGpa;
Это даст неверное основное сообщение, но это будет просто перейти на ГПД
По некоторым причинам я не могу вспомнить основы и это меня отключает.
Также, если кто-то может направить меня в правильном направлении для альтернативы ||, я знаю, что это не лучший способ сделать это, но снова я боюсь с помощью лучшего способа сделать это снова
И переменная майор - это что? Переменная char? Если да, тогда сравниваются только указатели. – KIIV
Вам понадобится цикл while в чтении и проверке ввода, проверки и ('&&') insteaf или ('||') в 'if'. А для упрощения проверок вы можете использовать функцию 'strToLower()' (читайте здесь: http://stackoverflow.com/questions/313970/how-to-convert-stdstring-to-lower -case). – Ilya
Оператор if, переведенный на английский язык (два условия опущены для простоты), говорит: ** Если мой майор отличается от математики OR, отличной от CIS, то он недействителен. ** Понимаете, почему это неправильно? – jrok