我花了几个小时试图弄清楚为什么这会回来为0如果有人可以提供帮助那就太棒了。
1 /*Written by Connor Green*/
2 /*CISP 1010 01/28/17*/
3
4 #include <iostream>
5 using namespace std;
6
7 int main()
8
9
10 {
11 int carton_size, number_cartons, eggs_per_omelette, number_of_omelettes;
12 /*This will tell you how many omelettes you can make*/
13
14 number_of_omelettes = carton_size * number_cartons / eggs_per_omelette;
15 cout << "Welcome to the Egg Ordering Guide.\n";
16 cout << "How many eggs do you want per carton? (12, 18, or 25):\n";
17 cin >> carton_size;
18 cout << "How many cartons?:\n";
19 cin >> number_cartons;
20 cout << "How many eggs in an omelette? (2 or 3):\n";
21 cin >> eggs_per_omelette;
22 cout << "You can make ";
23 cout << number_of_omelettes;
24 cout << " omelettes with this amount of eggs.\n";
25
26 return 0;
27 }
答案 0 :(得分:2)
这是因为您在获取此计算的输入变量之前计算number_of_omelettes
。将该计算移至输出之前:
...
number_of_omelettes = carton_size * number_cartons / eggs_per_omelette;
cout << "You can make " << number_of_omelettes << " omelettes with this amount of eggs.\n";
另外,请注意除法/
运算符在乘法*
运算符之前,由于整数除法可能导致零。要避免这种情况,请使用括号强制乘法在除法之前:
number_of_omelettes = (carton_size * number_cartons) / eggs_per_omelette;