文档库 最新最全的文档下载
当前位置:文档库 › C语言 点菜系统 有点错误希望解决

C语言 点菜系统 有点错误希望解决

失之东隅,收之桑榆。防民之口,甚于防川。为有牺牲多壮志,敢教日月换新天。月上柳梢头,人约黄昏后。不入虎穴,焉得虎子。#include
#include
#include
#define N 100
int index[100];
struct dish
{
int id,price;
char kind[100];
char name[100];
}dishs[100];
int sum=0;
int n=0;
void title(char *menu)
{
system("cls");
printf("※※※ 菜 单 管 理 系 统 ※※※\n\n- %s -\n\n",menu);
}

void return_qr(void)
{
printf("\n按任意键返回……\n");
getch();
}

void dish_new(void)
{
/*FILE *fp;
int n,i;
system("cls");
printf("请输入菜单数量:");
scanf("%d",&n);
title("录入菜单基本信息");
fp=fopen("dish.txt","r+");
printf("*编号*\t*菜名* \t*种类* \t*价格*\n");
for(i=0;ifscanf(fp,"%d%s%s%d",&dishs[i].id,dishs[i].name,dishs[i].kind,&dishs[i].price);
for(i=0;iprintf("%d\t%s\t%s\t\t%d\n",dishs[i].id,dishs[i].name,dishs[i].kind,dishs[i].price);
fclose(fp);*/
int i;
FILE *fp;
fp=fopen("dish.txt","r+");
while (fscanf(fp,"%d%s%s%d",&dishs[n].id,dishs[n].name,dishs[n].kind,&dishs[n].price)!=EOF)
n++;
fclose(fp);
system("cls");
printf("\n\n **********一共读取了%d个菜!**********\n\n",n);
printf("*编号*\t*菜名* \t*种类* \t*价格*\n");

for(i=0;iprintf("%d \t %s \t%s \t%d\n",dishs[i].id,dishs[i].name,dishs[i].kind,dishs[i].price);
return_qr();
}

int search_id(void)
{
int m,i;
printf("请输入菜的编号:");
scanf("%d",&i);
for(m=0;m{
if(dishs[m].id==i&&dishs[m].id!=0)
{
printf("编号:%d\n",dishs[m].id);
printf("菜名:%s\n",dishs[m].name);
printf("种类:%s\n",dishs[m].kind);
printf("价格:%d\n",dishs[m].price);
return m;
}
}
printf("\n输入错误或编号不存在.\n");
return -1;
}





void dish_delete(void)
{
int m;
printf("-----注销菜单------");
if((m=search_id())!=-1) dishs[m].id=0;
printf("\n!该菜已注销.\n");
return_qr();
}

void dish_edit(void)
{
int m;
title("编辑菜单基本信息");
if((m=search_id())!=-1)
{
printf("\n请重新输入新信息:\n分别输入 *编号* *菜名* *种类* *价格*:\n");
scanf("%d%s%s%d",&dishs[m].id,&dishs[m].name,&dishs[m].kind,&dishs[m].price);
}
return_qr();
}

void discount_input(void)
{
int m=0;
float t;
system("cls");
printf("录入折扣:");
scanf("%f",&t);
for(m=0;mprintf("编号:%d\t菜名:%s\t打折后应付:%f\n\n\n",dishs[m].id,dishs[m].name,dishs[m].price*t);//printf("\n请用数字键选择会员等级\n1-初级会员 2-中级会员 3-高级会员\n");
return_qr();
}
//scanf("%d",&s);
//for(m=0;m// {
//if(dishs[m].id!=0)
//{
//printf("编号:%d 菜名:%s 种类:%s 原价:%d\n输入折扣:",dishs[m].id,dishs[m].name,dishs[m].kind,dishs[m].price);

//switch(s)
//{
//case 1 : //dishs

[m].vip1=dishs[m].price*t;

//break;
// case 2 : //dishs[m].vip2=dishs[m].price*t;
// printf("打折后应付:%f\n\n\n",dishs[m].price*t);
//break;
//case 3 : //dishs[m].vip3=dishs[m].price*t;
//printf("打折后应付:%f\n\n\n",dishs[m].price*t);
//break;
//}
//}
//}


/*void discount_edit(void)
{
int m;
title("修改折扣");
if((m=search_id())!=-1)
{
printf("初级会员:%d 中级会员:%d 高级会员:%d\n",dishs[m].vip1,dishs[m].vip2,dishs[m].vip3);
printf("\n请重新输入折扣后的价格:\n初级会员:");
scanf("%d",&dishs[m].vip1);
printf("中级会员:");
scanf("%s",&dishs[m].vip2);
printf("高级会员:");
scanf("%d",&dishs[m].vip3);
}
return_qr();
}*/


void bill(struct dish dishs[])
{
char ch;
int i;
L:printf("请输入你要点的菜的编号\n");
scanf("%d",&i);
sum+=dishs[i-1].price;
printf("您点的菜价格为%d元\n本次消费总额为%d\n",dishs[i-1].price,sum);
printf("你是否还要点菜哦?Y(y)或者N(n)\n");
getchar();
ch=getchar();
if(ch=='Y'||ch=='y')
goto L;
else
printf("应付现金%d元\n",sum);
return_qr();
}

void display1(void)
{
int m;
printf("---------按 0 返回-------\n");
//printf("编号\t菜名\t\t普通用户价格\n\n");
//\t3-初级会员\t4-中级会员\t5-高级会员\n
printf("\n\n **********一共有%d个菜!**********\n\n",n);
printf("编号\t菜名\t\t价格(单位:元)\n");
for(m=0;m
printf("%d\t%s\t%d\n",dishs[m].id,dishs[m].name,dishs[m].price);
//printf("%d\t\t%d\n",dishs[m].vip2,dishs[m].vip3);


bill(dishs);
}
void display2()
{
int m;
printf("---------按 0 返回-------\n");
printf("\n\n **********一共有%d个菜!**********\n\n",n);
printf("编号\t菜名\t\t价格(单位:元)\n");
for(m=0;m
printf("%d\t%s\t%d\n",dishs[m].id,dishs[m].name,dishs[m].price);
dish_edit();

//printf("%d\t\t%d\n",dishs[m].vip2,dishs[m].vip3);

bill(dishs);
}

void main(void)
{
//int n;
menu: title(" 操作选单 ");

printf(" 提示:请用数字键选择操作\n\n");
printf("----------------------------\n");
printf("|1 点菜系统|\n|2 菜单管理|\n");
printf("----------------------------\n");
switch(getch())
{
case '1': system("cls");
printf("1:普通客户\n2:会员\n3:返回主菜单\n\n0:退出系统\n");
switch(getch())
{

case '1' : display1();break;
case '2': display2();break;
case '3':return_qr();break;
case '0' : exit(0);
}
case '2':system("cls");
printf(" 1 录入菜单基本信息\n\n 2 修改菜单基本信息\n\n");
printf(" 3 注销菜单基本信息\n\n 4 录入折扣\n\n");
printf(" 5 修该折扣\n\n 6 返回主菜单\n\n 0 退出系统\n\n");
printf(" 提示:请用数字键选择操作\n\n");
//scanf("%d",&n);
switch(getch())
{
case '1' : d

ish_new();break;
case '2' : dish_edit();break;
case '3' : dish_delete();break;
case '4' : discount_input();break;
//case '5' : discount_edit();break;
case '6':return_qr();break;
case '0' : exit(0);
}
goto menu;
}

}举头望明月,低头思故乡。士为知己者死,女为悦己者容。由俭入奢易,由奢入俭难。

相关文档