实验报告四之餐厅菜单点菜

好久写代码也没更了......

这个学期最后一次作业,留个纪念吧~

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; 
}

欢迎各位大佬提出意见,建议

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值