//餐厅计算 结构体
/*
早餐电子点餐系统 创作思路:每天早上买早餐都好多人,要排队!要是有自动点餐机就好了,这样大家都可以节约时间!希望通过这个早餐点餐系统节约时间,提高效率! 早餐选择有:油条1.5元/根,肉包1.5元/个,菜包1元/个,小笼包5元/份,蒸饺6元/份,豆浆1元/杯,粥1元/份,烧麦1.5元/个。
*/ #include <stdio.h>
#include<stdlib.h>
int meau2(void)
{
printf("\t\t\t\t\t菜 单\n");
struct meau1
{
char name[20];
float b;
char u[20];
}
stu1,stu2,stu3,stu4,stu5,stu6,stu7,stu8;
stu1=(struct meau1){"\t\t\t\t1.\t油条 ",1.5,"元/根\n"};
stu2=(struct meau1){"\t\t\t\t2.\t肉包 ",1.5,"元/个\n"};
stu3=(struct meau1){"\t\t\t\t3.\t菜包 ",1.0,"元/个\n"};
stu4=(struct meau1){"\t\t\t\t4.\t小笼包 ",5,"元/份\n"};
stu5=(struct meau1){"\t\t\t\t5.\t蒸饺 ",6,"元/份\n"};
stu6=(struct meau1){"\t\t\t\t6.\t豆浆 ",1.0,"元/杯\n"};
stu7=(struct meau1){"\t\t\t\t7.\t粥 ",1.0,"元/份\n"};
stu8=(struct meau1){"\t\t\t\t8.\t烧麦 ",1.5,"元/个\n"};
printf("%s%0.1f%s",stu1.name,stu1.b,stu1.u);
printf("%s%0.1f%s",stu2.name,stu2.b,stu2.u);
printf("%s%0.1f%s",stu3.name,stu3.b,stu3.u);
printf("%s%0.1f%s",stu4.name,stu4.b,stu4.u);
printf("%s%0.1f%s",stu5.name,stu5.b,stu5.u);
printf("%s%0.1f%s",stu6.name,stu6.b,stu6.u);
printf("%s%0.1f%s",stu7.name,stu7.b,stu7.u);
printf("%s%0.1f%s",stu8.name,stu8.b,stu8.u);
printf("\t\t\t\t请输入你所需要商品的序号\n");
}
float one(float *p,int *q1,int *q2,int *q3,int *q4,int *q5,int *q6,int *q7,int *q8) { int a=0,number=0,b=0;
float price=0;
scanf("%d",&a);
switch (a)
{
case 0: break;
case 1: price=1.5; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q1=*q1+number; break;
case 2: price=1.5; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q2=*q2+number; break;
case 3: price=1; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q3=*q3+number; break;
case 4: price=5; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q4=*q4+number; break;
case 5: price=6; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q5=*q5+number; break;
case 6: price=1; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q6=*q6+number; break;
case 7: price=1; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q7=*q7+number; break;
case 8: price=1.5; printf("\t\t\t\t请输入你需要的数目\n"); scanf("%d",&number); *q8=*q8+number; break;
default :{printf("\t\t\t\t请正确输入序号,并且重新开始选择\n");}
}
printf("\t\t\t\t请输入你需要的数目\n");
*p=*p+price*number;
printf("你的账单为:油条%d根,肉包%d个,菜包%d个,小笼包%d份,蒸饺%d份,豆浆%d杯,粥%d份,烧卖%d个\n",*q1,*q2,*q3,*q4,*q5,*q6,*q7,*q8);
printf("\t\t\t\t总价格为%0.2f元\n\n",*p);
printf("\t\t\t\t输入-1退出程序,输入0则下一位客人点餐,或者继续按1选择菜品\n");
scanf("%d",&b);
if(b==1)
{
b=0;
printf("\t\t\t\t请输入你所需要商品的序号\n");
one(p,q1,q2,q3,q4,q5,q6,q7,q8);
}
if(b==-1)
{
exit(1);
}
}
int main(void)
{
meau();
meau2(); //打印菜单
float all=0,*p=&all;
int x=0;
int x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,y1=0,y2=0,y3=0,y4=0,y5=0,y6=0,y7=0,y8=0; //账单元素 x为种类,y为数量
int *q1=&y1,*q2=&y2,*q3=&y3,*q4=&y4,*q5=&y5,*q6=&y6,*q7=&y7,*q8=&y8; //pi是xi的指针,qi是yi的指针
for(x=1;x<=9999999999;x++)
{
one(p,q1,q2,q3,q4,q5,q6,q7,q8);
//原价格输出位置
printf("\n");
main();
}
return 0;
}