ABC邮购杂货店出售的洋蓟售价为2.05美元/磅,甜菜售价1.15美元/磅,胡萝卜售价为1.09美元/磅,在添加运费之前,100美元的订单有5%的打折 优惠。少于或等于5磅的订单收取6.5美元的运费和包装费,5磅~20磅的订单收取14美元的运费和包装费,超过20磅的订单在14美元的基础上每续重1磅 增加0.5美元。

/*ABC邮购杂货店出售的洋蓟售价为2.05美元/磅,甜菜售价1.15美元/磅,胡萝卜售价为1.09美元/磅,在添加运费之前,100美元的订单有5%的打折
优惠。少于或等于5磅的订单收取6.5美元的运费和包装费,5磅~20磅的订单收取14美元的运费和包装费,超过20磅的订单在14美元的基础上每续重1磅
增加0.5美元。
*/

include <stdio.h>

include <stdlib.h>

typedef struct menu
{
float sum_expense;
float discount;
float CFR;
float weight;
float expense1;
float expense2;
float expense3;
}MENU;
void compute_expense(MENU menu,int a,int b,int c, float dub[])
{
int expense=0;
float sum=a+b+c;
menu->weight =sum;
menu->sum_expense=a
dub[0]+bdub[1]+cdub[2];
menu->expense1=adub[0];
menu->expense2=b
dub[1];
menu->expense3=cdub[2];
if(menu->sum_expense>=100)
{
menu->discount=menu->sum_expense
0.05;
}
if(sum<=5)
{
menu->CFR = sum6.5;
}
else if(sum>5&&sum<=20)
{
menu->CFR = sum
14;
}
else if(sum>20)
{
expense=(sum-20)0.5;
menu->CFR=sum
(expense+14);
}
}
void printf_menu(MENU menu,float dub[])
{
printf("洋蓟售价:%.2f\t甜菜售价:%.2f\t胡萝卜售价:%.2f\n",dub[0],dub[1],dub[2]);
printf("订购的重量:%.2f\t洋蓟费用:%.2f\t甜菜费用:%.2f\t胡萝卜费用:%.2f\n",menu.weight,menu.expense1,menu.expense2,menu.expense3);
printf("订单总费用:%.2f\t折扣:%.2f\t运费和包装费:%.2f\n",menu.sum_expense,menu.discount,menu.CFR);
}
int expense_menu(MENU menu)
{
char chose;
static int a=0,b=0,c=0;
int temp=0;
char *buff[10]={"洋蓟的磅数","甜菜的磅数","胡萝卜的磅数","退出订购"};
float dub[]={2.05,1.15,1.09};
printf("-------------------------订购菜单-------------------------\n");
printf("a:%s\tb:%s\tc:%s\tq:%s\n",buff[0],buff[1],buff[2],buff[3]);
scanf("%s",&chose);
switch (chose)
{
case 'a':
scanf("%d",&temp);
a+=temp;
printf("%s:%d\n",buff[0],a);
break;
case 'b':
scanf("%d",&temp);
b+=temp;
printf("%s:%d\n",buff[1],b);
break;
case 'c':
scanf("%d",&temp);
c+=temp;
printf("%s:%d\n",buff[2],c);
break;
case 'q':
exit(0);
break;
default:
break;
}
compute_expense(&menu,a,b,c,dub);
printf_menu(menu,dub);
}
int main(void)
{
MENU menu;
while(1)
{
expense_menu(menu);
}
return 0;
}

posted on 2024-07-29 00:08  wessf  阅读(6)  评论(0编辑  收藏  举报