我必须创建一个计算机票费用的程序。到目前为止,这是一个简单的程序,我还没有完成对它的添加,但每次我运行它时,结果都是0。我的代码中是否遗漏了什么?我是一个初学者,我将感谢任何关于改进我的代码的建议。谢谢。
#include <iostream>
using namespace std;
void main () {
int distance = 0;
int num_bags= 0;
int num_meals= 0;
double distance_price = distance * 0.15;
double bag_price = num_bags * 25.00;
double meal_price = num_meals * 10.00;
double total_airfare = 0.00;
cout << "CorsairAir Fare Calculator" << endl;
cout << "Enter the distance being travelled: " << endl;
cin >> distance;
cout << "Enter number of bags checked: " <<endl;
cin >> num_bags;
cout << "Enter the number of meals ordered: " << endl;
cin >> num_meals;
total_airfare = (distance_price + bag_price + meal_price);
cout << total_airfare;
}发布于 2015-08-08 14:08:10
你的困惑是完全可以理解的--你遗漏的一点是,当你赋值一个变量时,你在那个时刻将左边赋值给右边的结果。这不像代数,你说f(x) = x + 5和f(x)总是x + 5是什么。
因此,当distance为0 (您刚刚初始化了它)时,您可以指定double distance_price = distance * 0.15。即使在您请求输入并更改distance之后,distance_price仍然是0。
在请求输入之后进行价格计算,一切都会正常工作。
发布于 2015-08-08 17:57:00
您正在使用默认值(即0 )计算distance_price bag_price meal_price,而不是使用您从user获取的值。
下面的代码运行良好,你不会看到这个问题。
#include <iostream>
using namespace std;
// My compiler did not allow void main so used int main
int main () {
int distance = 0;
int num_bags= 0;
int num_meals= 0;
double distance_price ;
double bag_price ;
double meal_price;
double total_airfare;
cout << "CorsairAir Fare Calculator" << endl;
cout << "Enter the distance being travelled: " << endl;
cin >> distance;
cout << "Enter number of bags checked: " <<endl;
cin >> num_bags;
cout << "Enter the number of meals ordered: " << endl;
cin >> num_meals;
distance_price = distance * 0.15;
bag_price = num_bags * 25.00;
meal_price = num_meals * 10.00;
total_airfare = 0.00;
total_airfare = distance_price + bag_price + meal_price;
cout << total_airfare;
return 0;
}结果
CorsairAir Fare Calculator
Enter the distance being travelled:
200
Enter number of bags checked:
2
Enter the number of meals ordered:
2
100https://stackoverflow.com/questions/31890183
复制相似问题