关于C++的一个简单有关问题
关于C++的一个简单问题
在这里先给大家拜个晚年,祝大家新年里工作顺利,幸福安康!
题目: 某运输公司对用户计算运费:设每千米每吨货物的基本运费为price,货位重为weight,距离为distance,折扣为discount,则总运费frieght的计算公式:
fright=price*distance*(1-discount)
其中,distance的折扣标准如下:
distance <250km 没有折扣
250 <=distance <500 2%折扣
500 <=diatance <1000 5%
1000 <=distance <2000 8%
2000 <=distance <3000 10%
3000 <=distance 15%
试编写程序,输入price,weight和distance,计算总运费freight.
#include "stdafx.h "
#include <iostream>
using namespace std;
void main()
{
long int distance;
double price, weight, discount;
double freight;
cout < < "price " < <endl;
cin> > price;
cout < < "weight " < <endl;
cin> > weight;
cout < < "distance " < <endl;
cin> > distance;
if(distance <250)
discount=0;
else if(distance <500)
discount=2%;
else if(distance <1000)
discount=5%;
else if(distance <2000)
discount=8%;
else if(distance <3000)
discount=10%;
else if(distance> =3000)
discount=15%;
freight=price*weight*distance*(1-discount);
cout < < "freight= " < <freight < <endl;
}
不知我这样编哪里错了,还有如果用switch-case写怎么写
------解决方案--------------------
个人觉得你去题目理解有误
觉得该是那种个人所得税的算法
#include "stdafx.h "
#include <iostream>
using namespace std;
void main()
{
long int distance;
double price, weight, discount;
double freight;
cout < < "price " < <endl;
cin> > price;
cout < < "weight " < <endl;
cin> > weight;
cout < < "distance " < <endl;
cin> > distance;
if(distance <250)
freight=distance*weight*1*price
else if(distance <500)
freight=250*weight*price+distance*(distance-250)*price*0.98
......
freight=price*weight*distance*(1-discount);
cout < < "freight= " < <freight < <endl;
}
这里switch (parseInt(distance / 250))
case 0:....break;
case 1:....break;
....
default:....
------解决方案--------------------
else if(distance <500)
discount=2%;//改为 discount=0.02
else if(distance <1000)
discount=5%;// 0.05
else if(distance <2000)
discount=8%;// 0.08
else if(distance <3000)
discount=10%; // 0.1
else if(distance> =3000)
discount=15%;//0.15
将上边的百分比斜位小数就可以通过编译了
------解决方案--------------------
楼主还有什么不明白,没有百分比类型,只有浮点型,楼上都已经改好了
在这里先给大家拜个晚年,祝大家新年里工作顺利,幸福安康!
题目: 某运输公司对用户计算运费:设每千米每吨货物的基本运费为price,货位重为weight,距离为distance,折扣为discount,则总运费frieght的计算公式:
fright=price*distance*(1-discount)
其中,distance的折扣标准如下:
distance <250km 没有折扣
250 <=distance <500 2%折扣
500 <=diatance <1000 5%
1000 <=distance <2000 8%
2000 <=distance <3000 10%
3000 <=distance 15%
试编写程序,输入price,weight和distance,计算总运费freight.
#include "stdafx.h "
#include <iostream>
using namespace std;
void main()
{
long int distance;
double price, weight, discount;
double freight;
cout < < "price " < <endl;
cin> > price;
cout < < "weight " < <endl;
cin> > weight;
cout < < "distance " < <endl;
cin> > distance;
if(distance <250)
discount=0;
else if(distance <500)
discount=2%;
else if(distance <1000)
discount=5%;
else if(distance <2000)
discount=8%;
else if(distance <3000)
discount=10%;
else if(distance> =3000)
discount=15%;
freight=price*weight*distance*(1-discount);
cout < < "freight= " < <freight < <endl;
}
不知我这样编哪里错了,还有如果用switch-case写怎么写
------解决方案--------------------
个人觉得你去题目理解有误
觉得该是那种个人所得税的算法
#include "stdafx.h "
#include <iostream>
using namespace std;
void main()
{
long int distance;
double price, weight, discount;
double freight;
cout < < "price " < <endl;
cin> > price;
cout < < "weight " < <endl;
cin> > weight;
cout < < "distance " < <endl;
cin> > distance;
if(distance <250)
freight=distance*weight*1*price
else if(distance <500)
freight=250*weight*price+distance*(distance-250)*price*0.98
......
freight=price*weight*distance*(1-discount);
cout < < "freight= " < <freight < <endl;
}
这里switch (parseInt(distance / 250))
case 0:....break;
case 1:....break;
....
default:....
------解决方案--------------------
else if(distance <500)
discount=2%;//改为 discount=0.02
else if(distance <1000)
discount=5%;// 0.05
else if(distance <2000)
discount=8%;// 0.08
else if(distance <3000)
discount=10%; // 0.1
else if(distance> =3000)
discount=15%;//0.15
将上边的百分比斜位小数就可以通过编译了
------解决方案--------------------
楼主还有什么不明白,没有百分比类型,只有浮点型,楼上都已经改好了