Если еще позиция

Я пытаюсь написать код на 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 не равно нулю.

0

Решение

Проблема твоя последняя cout должен быть внутри else блок:

cout << "quotient is";
if (b == 0) {
cout << " undefined";
} else {
quot = a/b;
cout << ": " << quot;
}
cout << endl;

Как написано, ваш "quotient is: " << quot выполняется в каждом случае, но вы на самом деле хотите, чтобы он выполнялся только тогда, когда b == 0 оценивает false,

4

Другие решения

Переместить последний cout в остальной блок.

1

По вопросам рекламы [email protected]