I am trying to write a simple calculation program

2019-03-06 16:07发布

I have spent a couple hours trying to figure out why this comes back as 0 If someone could help that would be great.

  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 }

1条回答
趁早两清
2楼-- · 2019-03-06 17:10

That's because you calculate number_of_omelettes before getting the input variables for this calculation. Move that calculation to just before outputting it:

...
number_of_omelettes = carton_size * number_cartons / eggs_per_omelette;
cout << "You can make " << number_of_omelettes << " omelettes with this amount of eggs.\n";

Also, beware that the division / operator precedes the multiplication * operator, which could result in zero due to integer division. To avoid this, force the multiplication to precede the division, using parentheses:

number_of_omelettes = (carton_size * number_cartons) / eggs_per_omelette;
查看更多
登录 后发表回答