我的代码已经运行但是对于经销商而言,我需要80%作为总成本的数字,并且80%取出,我使用80/100并且总收集乘以,但它显示为0。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int Adult_Tickets;
int Child_Tickets;
const int Adult_Price = 6;
const int Child_Price = 3;
cout << "Adult Tickets sold: " << endl;
cin >> Adult_Tickets;
cout << "Child_Tickets sold: " << endl;
cin >> Child_Tickets;
double Total_collected;
int Total_tickets;
double Average_amount;
const int Amount_paid = (80/100);
double Amount_paid_to_distributor;
double Profit;
Total_collected = (float)(Adult_Tickets * Adult_Price) + (Child_Tickets * Child_Price);
Total_tickets = (float)(Child_Tickets + Adult_Tickets);
Average_amount = (float)Total_collected / Total_tickets;
Amount_paid_to_distributor = (float)Total_collected * Amount_paid;
Profit = (float)Total_collected - Amount_paid_to_distributor;
cout << "Total Collected $: " << Total_collected << endl;
cout << "Average amount collected per ticket $: " << Average_amount << endl;
cout << "Amount paid to distributor $: " << Amount_paid_to_distributor << endl;
cout << "Profit $: " << Profit << endl;
system("pause");
return 0;
}
答案 0 :(得分:4)
const int Amount_paid = (80/100);
与const int Amount_paid = 0;
相同。
如果您想使用浮动号码执行操作,则需要使用float
或double
。
尝试更改为:
const double Amount_paid = 0.8;
您在代码中还有许多其他错误。例如,在某个地方使用float
,在某处您使用double
,然后将其转换为float
...如果您不确定是否需要它,请不要混淆它们将适用于您的问题限制 - 它可能会导致错误和问题。例如,这里:
int Adult_Tickets;
int Child_Tickets;
int Total_tickets;
Total_tickets = (float)(Child_Tickets + Adult_Tickets);
在这里,你有两个int
,你总结一下,转为float
并分配给int
?
我建议将float
替换为double
,并仔细检查所有作业,投射等。
如果我们排除一些代码样式问题,例如大写变量命名,可能的变量声明组合,变量的更精确和不明确的名称等,那么代码应该是这样的。
double Total_collected;
int Total_tickets;
double Average_amount;
const double Amount_paid = 0.8;
double Amount_paid_to_distributor;
double Profit;
Total_collected = Adult_Tickets * Adult_Price + Child_Tickets * Child_Price;
Total_tickets = Child_Tickets + Adult_Tickets;
Average_amount = Total_collected / Total_tickets;
Amount_paid_to_distributor = Total_collected * Amount_paid;
Profit = Total_collected - Amount_paid_to_distributor;
cout << "Total Collected $: " << Total_collected << endl;
cout << "Average amount collected per ticket $: " << Average_amount << endl;
cout << "Amount paid to distributor $: " << Amount_paid_to_distributor << endl;
cout << "Profit $: " << Profit << endl;