餐厅自主点餐

180 阅读3分钟

//餐厅计算 结构体

/*

早餐电子点餐系统 创作思路:每天早上买早餐都好多人,要排队!要是有自动点餐机就好了,这样大家都可以节约时间!希望通过这个早餐点餐系统节约时间,提高效率! 早餐选择有:油条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;

}