好久写代码也没更了......
这个学期最后一次作业,留个纪念吧~
ps:有些地方的代码写繁琐了,像菜单打印之类
#include<stdio.h>
int main()
{
struct Food{
int Id;
char Name[32];
float Cost;
}food[]={{1,"Curry beef with rice",40.00},
{2,"Sushi set meal",65.00},
{3,"YangZhou fire rice",45.00},
{4,"Sirloin Steak with Spaghetti",72.00},
{5,"Chicken vegetable roll",42.00}},sw[100],*ps;
struct Drink{
int Id;
char Name[32];
float Cost;
}drink[]={{21,"Soft drink",10.00},
{22,"Red wine",15.00},
{23,"Beer",15.00}},*pc,yl[100];
int len1 = sizeof(food) / sizeof(struct Food);//菜单打印
int len2 = sizeof(drink) / sizeof(struct Drink);
printf("Id\tName\t Cost\t\n");
for(ps=food;ps<food+len1;ps++)
{
printf("%d\t%-32s\t%-4.2f\t\n",ps->Id,ps->Name,ps->Cost);
}
for(pc=drink;pc<drink+len2;pc++)
{
printf("%d\t%-32s\t%-4.2f\t\n",pc->Id,pc->Name,pc->Cost);
}//菜单打印结束
int i=0,a=0,id,n=0,k,fee1=0,fee2=0,j;//变懒了,没整理,随便定义了一堆变量
printf("是否点餐:是1,否2\n");
scanf("%d",&a);//点菜环节
while(a==1)
{
if(a!=1){break;}
else
{
printf("请选择菜品或饮料:");
scanf("%d",&id);
if(id>0 && id<6)
{
sw[i++]=food[id-1];
}
else if(id>20 && id<24)
{
yl[n++]=drink[id-21];
}
printf("是否点餐:是1,否2\n");
scanf("%d",&a);
}
}//点菜结束
//printf("%d\n%d",i,n);//测试i,n的值
if(i>0||n>0)
{
for(k=0;k<i;k++)//计算菜品
{
fee1=fee1+sw[k].Cost;
}
for(j=0;j<n;j++)//计算饮料
{
fee2=fee2+yl[j].Cost;
}
printf("fee=%d\n",fee1+fee2);
}
return 0;
}
欢迎各位大佬提出意见,建议