我正在尝试编写一个简单的计算程序,但答案总是返回 0

I am trying to write a simple calculation program but the answer keeps coming back as 0

我花了几个小时试图弄清楚为什么返回 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 }

那是因为你在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;