计算使用某快递公司运输货物的运费
问题描述:
编写程序,计算使用某快递公司运输货物的运费。
要求:
1)显示目的城市列表,通过输入需要选择城市。
2)输入货物重量。
3)根据运费价格表,来计算运费,其中首重费用为1kg以内的费用,超过1kg的部分每公斤使用续重费用计算。
4)1公斤内的总运费 = 首重费用
大于1公斤的总运费 = 首重费用 + (重量-1)*续重
效果图:
开发环境:
Dev C++
解题思路:
问题分析:输入选择的城市后通过表中数据计算出相关数值
解题思路:通过使用do-while语句提高程序的可持续性,用switch语句选择不同城市相关运费的变动,追加一个判断语句判断输入数字是否符合客观规律。
1.输出选择城市面板;
2.输入选择序号去选择目的城市;
3.根据运费价格表,来计算运费,其中首重费用为1kg以内的费用,超过1kg的部分每公斤使用续重费用计算。
4. 1公斤内的总运费 = 首重费用
大于1公斤的总运费 = 首重费用 + (重量-1)*续重
5.打出计算结果和全部信息
程序设计:
//某快递公司运输货物运费
#include<iostream>
using namespace std;
int main()
{
int a,b,money;
int c;
cout<<"-----计算运费------"<<'\n'
<<"1. 广东省"<<endl
<<"2. 江苏省"<<endl
<<"3. 四川省"<<endl
<<"4. 西藏" <<endl;
do
{ cout<<endl;
do
{
cout<<"请选择目的城市<序号>:";
cin>>a;
c=0; //作为循环结束的条件并确保进行下一循环时c=0
if(a<1 || a>4)
{
c=1;
cout<<" the number is error"<<endl;
} //判断输入的a值是否在1到4之间
}while(c==1);
do
{
cout<<"请输入货物的重量<公斤>:";
cin>>b;
c=0;
if(b<=0)
{
c=1;
cout<<" the number is error"<<endl; //判断输入公斤数是否为正数
}
}while(c==1);
cout<<"--------输出--------"<<endl;
switch(a)
{
case 1:
cout<<"你的送货城市为: 广东"<<'\n'
<<"货物重量: "<<b<<'\n'
<<"首重:6 续重:1"<<endl;
money=6+(b-1)*1;
cout<<"总运费:"<<money;
break;
case 2:
cout<<"你的送货城市为: 江苏"<<'\n'
<<"货物重量: "<<b<<'\n'
<<"首重:10 续重:8"<<endl;
money=10+(b-1)*8;
cout<<"总运费:"<<money;
break;
case 3:
cout<<"你的送货城市为: 四川"<<'\n'
<<"货物重量: "<<b<<'\n'
<<"首重:15 续重:12"<<endl;
money=15+(b-1)*12;
cout<<"总运费:"<<money;
break;
case 4:
cout<<"你的送货城市为: 西藏"<<'\n'
<<"货物重量: "<<b<<'\n'
<<"首重:22 续重:18"<<endl;
money=22+(b-1)*18;
cout<<"总运费:"<<money;
break;
// default:cout<<"error"<<endl;
}
}while(c==0);
}