小练笔

作者在 2020-11-23 19:54:51 发布以下内容
编写程序,计算使用某快递公司运输货物的运费(用if语句)。
要求:
1)显示目的城市列表,通过输入需要选择城市。
2)输入货物重量
3)根据运费价格表来计算运费,其中首重费用为1kg以内的费用,超过1kg的部分每公斤使用续重费用计算。
4)1kg内的总运费=首重费用
大于1kg的总运费=首重费用+(重量-1)*续重
城市    费用
广东    首重8元,续重2元
上海    首重9元,续重7元
北京    首重12元,续重10元
东三省    首重15元,续重13元

#include <stdio.h>
#include <string.h>




void menu();


int yf(int,int,int);




int main()
{
char ch=0;
int gd=0,sh=0,bj=0,dss=0;
int zl=0,gdzl=0,shzl=0,bjzl=0,dsszl=0;
int gdyf=0,shyf=0,bjyf=0,dssyf=0,zyf=0;

do{
menu();
printf("请选择城市:");
while(ch!='1'&&ch!='2'&&ch!='3'&&ch!='4'&&ch!='5')

   if(ch=='\n')printf("请选择城市:");
    ch=getchar();

if (ch=='5')break;

printf("请输入重量:");
scanf("%d",&zl); 

if(ch=='1'){gdzl=gdzl+zl;gdyf=yf(8,2,gdzl);gd=1;}
else if(ch=='2'){shzl=shzl+zl;shyf=yf(9,7,shzl);sh=1;}
else if(ch=='3'){bjzl=bjzl+zl;bjyf=yf(12,10,bjzl);bj=1;}
else if(ch=='4'){dsszl=dsszl+zl;dssyf=yf(15,13,dsszl);dss=1;}


zyf=gdyf+shyf+bjyf+dssyf;

if(gd==1)printf("\n您寄往广东的快递费用为:%d元。",gdyf);
if(sh==1)printf("\n您寄往上海的快递费用为:%d元。",shyf);
if(bj==1)printf("\n您寄往北京的快递费用为:%d元。",bjyf);
if(dss==1)printf("\n您寄往东三省的快递费用为:%d元。",dssyf);

printf("\n\n合计总运费为:%d元。" ,zyf); 

while((ch=getchar())!='\n');
printf("\n\n还寄么?(N--不寄了,回车--继续寄)");
ch=getchar();
if(ch=='n'||ch=='N')break; 

//while((ch=getchar())!='\n');

    }while(1);

 
    if(gd==1)printf("\n您寄往广东的快递费用为:%d元。",gdyf);
if(sh==1)printf("\n您寄往上海的快递费用为:%d元。",shyf);
if(bj==1)printf("\n您寄往北京的快递费用为:%d元。",bjyf);
if(dss==1)printf("\n您寄往东三省的快递费用为:%d元。",dssyf);

printf("\n\n合计总运费为:%d元。\n\n" ,zyf); 
printf("\n\n*****感谢使用本系统*****\n\n"); 
return 0;
}


int yf(int a,int b,int c)
{
return a+(c-1)*b;
}




void menu()
{
printf("\n  ==========京上广快递公司竭诚为您服务==========\n"); 
for (int i=0;i<50;i++)
{
printf("*");
}
printf("\n");
printf("请选择目的地:\n");
printf("  城市\t\t费用\n");
printf("1)广东\t\t首重 8元,续重 2元\n");
printf("2)上海\t\t首重 9元,续重 7元\n");
printf("3)北京\t\t首重12元,续重10元\n");
printf("4)东三省\t首重15元,续重13元\n");
printf("5)退出\n"); 
for (int i=0;i<50;i++)
{
printf("*");
}
printf("\n");
}
这篇代码对输错的处理还没有处理好。
练习题 | 阅读 1610 次
文章评论,共0条
游客请输入验证码
浏览34991次