Я пытаюсь написать код на c ++ для программы, которая запрашивает у пользователя два числа и находит сумму, разницу, произведение и частное. Программа должна сообщить вам, что она не может делиться на ноль. Это код, который я до сих пор.
#include <iostream>
using namespace std;
int main() {
double a; //using double will allow user to input fractions
double b; //again using double will allow the user to input fractions
double sum, diff, prod, quot; //these variables will store the results
cout << "Enter a number: ";
cin >> a;
cout << "Enter another number: ";
cin >> b;
//Operations variables
sum = a + b;
diff = a - b;
prod = a * b;//Conclusion
cout << "Sum is: " << sum << endl;
cout << "difference is: " << diff << endl;
cout << "product is: " << prod << endl;
if (b == 0) {
cout << "quotient is undefined";
}
else {
quot = a/b;
}
cout << "quotient is: " << quot << endl;
return 0;
}
Этот код компилируется и запускается. единственная проблема, с которой я, похоже, сталкиваюсь — это размещение моего оператора if else. Я пробовал несколько мест.
Вывод, который я получу, если я позволю второму числу = 0, выглядит следующим образом
Enter a number: 12
Enter another number: 0
Sum is: 12
difference is: 12
product is: 0
quotient is undefinedquotient is: 0
Как мне получить это, чтобы просто сказать неопределенное, если b равно нулю, и дать ответ, если b не равно нулю.
Проблема твоя последняя cout
должен быть внутри else
блок:
cout << "quotient is";
if (b == 0) {
cout << " undefined";
} else {
quot = a/b;
cout << ": " << quot;
}
cout << endl;
Как написано, ваш "quotient is: " << quot
выполняется в каждом случае, но вы на самом деле хотите, чтобы он выполнялся только тогда, когда b == 0
оценивает false
,
Переместить последний cout
в остальной блок.