C语言实现外卖管理系统

本文为大家分享了C语言外卖管理系统的具体代码,供大家参考,具体内容如下

内容

说明(废话):上学期写的课程设计,主题是外卖管理系统,希望可以模拟网上订餐,店家工作,专人管理的过程。并实现注册与登录以及基本信息的输出,因为个人比较懒,一直没有整理上去,今天得空,要是得到大家的宝贵意见的话,会不胜荣幸。

重点内容

  三端登录 :分别为管理员,用户以及店主;两端注册,分别为用户以及店铺,其中店铺的注册成功需要得到管理员的审核。

  •   管理员端可以查看店铺信息,店铺信息修改(分为增删改查),处理申请店铺,和修改本人信息。
  •   用户端分为用户相关(为用户本人对自己信息的操作),查看订单,查看菜品,购买菜品,以及订单排序。
  •   管理员端为增添菜品,删除菜品,修改菜品,查看菜品以及业绩查看(统计总订单与总收入)。

另外:

1. 店家注册需要的到管理员的认证,认证通过之后才可登录

2. 密码修改需要输入旧的密码,三次错误可以找回密码,输入手机号,若手机号匹配得当,则可产生三位数的随机验证码,输入验证码即可修改。

3. 对于已超过三分钟的订单不能修改,因为已经配送

4. 限制了用户的余额,当购买时余额不足时,需要进行账户的充值,而购买结束后,账户的余额也会相应的减少

以下为功能模块图:

以下为函数调用关系图:

以下为整个代码:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<windows.h>

#include<time.h>

#include<conio.h>

void choose();

//建立关于店铺的结构体

typedef struct shop

{

char name[20];

char phone[20];

char address[30];

char password[20];

struct shop *next;

}shop,*link_shop;

//建立关于订单的结构体

typedef struct food

{

char name[20];

int type;

int amount;

int price;

int total;

char shop[20];

char yonghu[20];

char leibie[20];

struct food *next;

}food,*link_food;

//建立关于用户的结构体

typedef struct user

{

char name[20];

char delivery[39];

char password[15];

char number[15];

int score;

struct user *next;

}user,*link_user;

typedef struct money

{

char person[20];

char card[25];

char mima[20];

struct money *next;

}money,*link_money;

char yh[20];//用户设置全局变量

char dp[20];//店铺设置全局变量

time_t start,end;

//函数声明

void foodwrite(link_food LF);

void shopwrite1(link_shop LS);

void dingdanwrite(link_food LF);

void user_moneywrite(link_user LM);

void welcome()

{

int i=0;

char a[52]="▲▼WELCOME TO RESTAURANT MANAGEMENT SYSTEM▲▼";

//system("color 0a");

printf("\n\n\n\n\t\t");

while(a[i])

{

printf("%c",a[i]);

Sleep(50);

i++;

}

printf("\n\n\n\n\t\t");

}

void Exit()

{

int i=0;

system("cls");

char a[20]="LOVE you,byebye^_^";

system("color 03");

printf("\n\n\n\t\t\t");

while(a[i])

{

printf("%c",a[i]);

Sleep(100);

i++;

}

}

void ME()

{

system("color 0b");

printf("\n\n\n\t\t☆★ W E L C O M E ☆★\n\n\t这里是外卖管理系统,请选择接下来的操作:");

printf("\n\n\t\t\t1.登陆");

printf("\t\t\t2.注册\t\t\t0.退出\n");

}

//主菜单(登陆或者注册)

void MENU()

{

printf("\n\n\n\n\t\t\t\t\t================================\n");

printf("\t\t\t\t\t 外 卖 管 理 系 统 \n");

printf("\t\t\t\t\t 1.管理员登陆 \n");

printf("\t\t\t\t\t 2.用户登录 \n");

printf("\t\t\t\t\t 3.店家登陆 \n");

printf("\t\t\t\t\t 0.返回上一级 \n");

printf("\t\t\t\t\t================================\n");

}

//管理员选项

void MENU1()

{

system("color 0f");

printf(" 温馨小提示:按5可以清屏哦^-^\n");

printf("\n\n\t\t\t\t\t1.查看店铺信息▲\n");

printf("\t\t\t\t\t--------------\n");

printf("\t\t\t\t\t2.店铺信息修改▼\n");

printf("\t\t\t\t\t--------------\n");

printf("\t\t\t\t\t3.处理申请店铺▲\n");

printf("\t\t\t\t\t--------------\n");

printf("\t\t\t\t\t4.修改本人信息▼\n");

printf("\t\t\t\t\t--------------\n");

printf("\t\t\t\t\t0.返回上一级 ▲\n");

}

//用户选项

void MENU2()

{

system("color 0f");

printf("\n\n\t\t\t\t 1.用户相关 ▲\t\t\t 5.购买菜品 ▼\n");

printf("\t\t\t\t---------------\t\t\t---------------\n");

printf("\t\t\t\t 2.查看订单 ▲\t\t\t 6.订单排序▼\n");

printf("\t\t\t\t---------------\t\t\t---------------\n");

printf("\t\t\t\t 3.查看菜品 ▲\t\t\t 0.返回上级 ▼\n");

printf("\t\t\t\t---------------\t\t\t---------------\n");

printf("\t\t\t\t 4.修改订单 ▲\n");

}

//店主选项

void MENU3()

{

system("color 0f");

printf("\n\n\n\t\t\t ________ Shop Version _______\n");

printf("\t\t\t| |\n");

printf("\t\t\t| 1.添加菜品 |\n");

printf("\t\t\t| 2.修改菜品 |\n");

printf("\t\t\t| 3.删除菜品 |\n");

printf("\t\t\t| 4.查看菜品 |\n");

printf("\t\t\t| 5.查看业绩 |\n");

printf("\t\t\t| 0.返回上一级 |\n");

printf("\t\t\t|_____________________________|\n");

}

//建立关于单链表

void *creatf()

{

int i=0,n;

link_food LF;

food *s,*r;

char a[10];

//srand((unsigned)time(NULL));//产生随机数的种子

LF=(food *)malloc(sizeof(food));

LF->next=NULL;

r=LF;

while(1)

{

printf("请输入菜的名称:");

scanf("%s",a);

if(strcmp(a,"0")!=0)

{

s=(food *)malloc(sizeof(food));

printf("请输入菜的单价:");

scanf("%d",&s->price);

printf("请输入菜的类别");

scanf("%s",s->leibie);

strcpy(s->name,a);

s->total=(s->amount)*(s->price);

r->next=s;

s->next=NULL;

r=s;

}

else

break;

}

foodwrite(LF);

}

shop *creats()

{

char a[30],b[20],c[15],d[20];

link_shop LS;

shop *s,*r;

LS=r=(shop *)malloc(sizeof(shop));

LS->next=NULL;

r=LS;

while(1)

{

printf("请输入店铺信息:\n");

printf("\t\t● 店铺名称:");

scanf("%s",a);

printf("\n\t\t● 店铺电话:");

scanf("%s",b);

if(strcmp(b,"0")!=0)

{

printf("\n\t\t● 店铺地址:");

scanf("%s",c);

printf("\n\t\t● 店铺密码:");

scanf("%s",d);

s=(shop *)malloc(sizeof(shop));

strcpy(s->name,a);

strcpy(s->phone,b);

strcpy(s->address,c);

strcpy(s->password,d);

r->next=s;

s->next=NULL;

r=s;

}

else

break;

}

return LS;

}

void Outputshop(link_shop Ls)

{

int n=0;

shop *p,*u;

p=Ls->next;

system("cls");

printf("入驻的商家如下:\n");

printf("\t\t\t\t-------------------------------------------\n");

printf("\t\t\t\t店铺名称\t店铺电话\t店铺地址\n");

printf("\t\t\t\t-------------------------------------------\n");

while(p)

{

printf("\t\t\t\t%8s\t%8s\t%7s\n",p->name,p->phone,p->address);

printf("\t\t\t\t-------------------------------------------\n");

p=p->next;

}

for(u =Ls->next; u != NULL;u = u->next)

n++;

printf("\t\t\t\t合计\t\t\t\t%d个\n",n);

printf("\t\t\t\t-------------------------------------------\n");

}

void Outputfood(link_food LF)

{

food *s;

s=LF->next;

int sum=0;

printf("订单如下:\n");

printf("\t----------------------------------------------------------------------------------------------------\n");

printf("\t菜名\t\t数量/份\t\t单价/元\t\t总价/元\t\t店铺\t\t订单号\t\t用户名\n");

printf("\t----------------------------------------------------------------------------------------------------\n");

for(s=LF->next;s!=NULL;s=s->next)

{

if(strcmp(s->yonghu,yh)==0)

{

printf("\t%-8s\t%-8d\t%-8d\t%-8d\t%-10s\t%-10d\t%s\n",s->name,s->amount,s->price,s->total,s->shop,s->type,s->yonghu);

printf("\t----------------------------------------------------------------------------------------------------\n");

sum=sum+s->total;

}

}

printf("\t累计输出/元\t\t\t\t\t\t\t%d\n",sum);

printf("\t----------------------------------------------------------------------------------------------------\n");

if(sum==0)

{

printf("○ 您还没有订单呢,快去购买吧 φ(>ω<*) ");

printf("\n\t\t\t\t\t->");

Sleep(1000);

printf("->");

Sleep(1000);

printf("->");

Sleep(1000);

system("cls");

MENU2();

return;

}

}

void outputfood(link_food LF)

{

food *p;

p=LF->next;

printf("\n\t\t\t 菜 谱 ");

printf("\n\t\t\t--------------------------------------------------\n");

printf("\t\t\t菜名 菜价 店铺 菜系\n");

printf("\t\t\t---------------------------------------------------\n");

while(p)

{

printf("\t\t\t%-13s%-12d%-14s%s\n",p->name,p->price,p->shop,p->leibie);

printf("\t\t\t---------------------------------------------------\n");

p=p->next;

}

}

//充值

user* addmoney(user *u)

{

int n;

char y;

char a[20];

FILE *fp;

link_money LY;

money *p,*r;

printf("您账户里的余额为:%d",u->score);

printf("是否充值?Y/else");

fflush(stdin);//清除缓存

y=getchar();

if(y=='Y')

{

fp=fopen("yue.txt","rt");

LY=r=(money *)malloc(sizeof(money));

LY->next=NULL;

while(!feof(fp))

{

p=(money *)malloc(sizeof(money));

fscanf(fp,"%s %s %s\n",p->person,p->card,p->mima);

p->next=NULL;

r->next=p;

r=p;

}

fclose(fp);

p=LY->next;

while(1)

{

if(strcmp(yh,p->person)==0)

{

break;

}

else

p=p->next;

}

printf("充值的钱数?");

scanf("%d",&n);

printf("请输入支付密码:");

scanf("%s",a);

if(strcmp(p->mima,a)==0)

{

u->score=(u->score+n);

printf("已充值");

}

else

printf("\t\t× 密码错误,充值失败");

}

else

printf("已放弃充值");

return u;

}

//按工号排序

void name_sort(link_shop LS)

{

int i,j,n;

n = 0; //记录店铺总数;

shop *u,*q,*p;

for(u =LS->next; u != NULL;u = u->next)

n++;

//采用冒泡法对各个节点按姓名升序

for(i=1;i<=n;i++)

{

u =LS;

for(j=0;j<n-i;j++)

{

p = u->next;

q = p->next;

if(strcmp(p->name,q->name) > 0 || strcmp(p->name,q->name) == 0)

{

u->next = q;

p->next = q->next;

q->next = p;

}

u = u->next;

}

}

printf("\t排序后店铺信息\n");

Outputshop(LS);

return;

}

void address_sort(link_shop LS)

{

int i,j,n;

n = 0; //记录店铺总数;

shop *u,*q,*p;

for(u =LS->next; u != NULL;u = u->next)

n++;

//采用冒泡法对各个节点按地址升序

for(i=1;i<=n;i++)

{

u =LS;

for(j=0;j<n-i;j++)

{

p = u->next;

q = p->next;

if(strcmp(p->address,q->address) > 0 || strcmp(p->address,q->address) == 0)

{

u->next = q;

p->next = q->next;

q->next = p;

}

u = u->next;

}

}

printf("\t\t\t\t地址排序后店铺信息\n");

Outputshop(LS);

return;

}

void dingdan_name_sort(link_food LF) //按订单食物名称排序

{

int i,j,n;

n = 0; //记录店铺总数;

food *u,*q,*p;

for(u =LF->next; u != NULL;u = u->next)

n++;

//采用冒泡法对各个节点按姓名升序

for(i=1;i<=n;i++)

{

u =LF;

for(j=0;j<n-i;j++)

{

p = u->next;

q = p->next;

if(strcmp(p->name,q->name) > 0 || strcmp(p->name,q->name) == 0)

{

u->next = q;

p->next = q->next;

q->next = p;

}

u = u->next;

}

}

Outputfood(LF);

return;

}

void dingdan_total_sort(link_food LF) //按订单总价从高到低排序

{

int i,j,n;

n = 0; //记录店铺总数;

food *u,*q,*p;

for(u =LF->next; u != NULL;u = u->next)

n++;

//采用冒泡法对各个节点按姓名升序

for(i=1;i<=n;i++)

{

u =LF;

for(j=0;j<n-i;j++)

{

p = u->next;

q = p->next;

if(p->total>q->total)

{

u->next = q;

p->next = q->next;

q->next = p;

}

u = u->next;

}

}

Outputfood(LF);

return;

}

void dingdandelete(link_food Lf)

{

food *p,*n;

p=Lf;

n=p->next;

int m;

char a;

printf("请输入你所想删除的订单序号:");

scanf("%d",&m);

while(n)

{

if(m==n->type)

{

if(strcmp(n->shop,dp)==0)

{

p->next=n->next;

//foodwrite(Lf);

dingdanwrite(Lf);

break;

}

else

printf("不好意思,您没有权限删除\n");

break;

}

else

{

p=p->next;

n=n->next;

}

}

}

food *dingdanread()

{

FILE *fp;

link_food LF,r,s;

fp=fopen("dingdan.txt","rt");

if(fp==NULL)

{

printf("查看订单失败");

return 0;

}

LF=r=(food *)malloc(sizeof(food));

r->next=NULL;

while(!feof(fp))

{

s=(food *)malloc(sizeof(food));

fscanf(fp,"%s %d %d %d %s %d %s\n",s->name,&s->amount,&s->price,&s->total,s->shop,&s->type,s->yonghu);

r->next=s;

s->next=NULL;

r=s;

}

return LF;

}

void scorefind(link_food LF)

{

int sum=0;

food *p;

p=LF->next;

system("cls");

printf("\n\n\n\t\t\t产生的订单如下:\n");

printf(" ----------------------------------------------------------------------------------------------------\n");

printf(" 菜品名称 \t菜品数量\t菜品单价\t菜品总价\t店铺名称\t订单号 \t\t用户名\n");

printf(" ----------------------------------------------------------------------------------------------------\n");

while(p)

{

if(strcmp(p->shop,dp)==0)

{

printf(" %7s%14d%15d%16d%16s%15d%18s\n",p->name,p->amount,p->price,p->total,p->shop,p->type,p->yonghu);

printf(" ----------------------------------------------------------------------------------------------------\n");

sum=sum+p->total;

}

p=p->next;

}

printf(" 合计/元:\t\t\t\t\t\t\t累计收入%d\n",sum);

printf(" ----------------------------------------------------------------------------------------------------\n");

if(sum==0)

printf("\t\t● 您店里的菜还没有人购买哦,应该反思啦\n");

}

food * foodread()//读取

{

link_food LF;

food *s,*r;

LF=r=(food *)malloc(sizeof(food));

LF->next=NULL;

FILE *fp;

fp=fopen("food.txt","rt");

if(fp==NULL)

{

printf("不能打开此文件");

exit(1);

}

while(!feof(fp))//判断文件指针是否处于文件结束位置,若是,返回1,非,返回0

{

s=(food *)malloc(sizeof(food));

fscanf(fp,"%s %d %s %s\n",s->name,&s->price,s->shop,s->leibie);

r->next=s;

s->next=NULL;

r=s;

}

fclose(fp);

return LF;

}

money * moneyread()//读取

{

link_money LM;

money *s,*r;

LM=r=(money *)malloc(sizeof(money));

LM->next=NULL;

FILE *fp;

fp=fopen("yue.txt","rt");

if(fp==NULL)

{

printf("不能打开此文件");

exit(1);

}

while(!feof(fp))//判断文件指针是否处于文件结束位置,若是,返回1,非,返回0

{

s=(money *)malloc(sizeof(money));

fscanf(fp,"%s %s %s\n",s->person,s->card,s->mima);

r->next=s;

s->next=NULL;

r=s;

}

fclose(fp);

return LM;

}

shop * shopread()

{

link_shop LS;

shop *s,*r;

LS=r=(shop *)malloc(sizeof(shop));

r->next=NULL;

FILE *fp;

fp=fopen("shop.txt","rt");

if(fp==NULL)

{

printf("不能打开此文件");

exit(1);

}

while(!feof(fp))//判断文件指针是否处于文件结束位置,若是,返回1,非,返回0

{

s=(shop *)malloc(sizeof(shop));

s->next=NULL;

fscanf(fp,"%s %s %s %s\n",s->name,s->phone,s->address,s->password);

r->next=s;

r=s;

}

fclose(fp);

return LS;

}

user * userread()

{

link_user LU;

user *s,*r;

LU=r=(user *)malloc(sizeof(user));

r->next=NULL;

FILE *fp;

fp=fopen("users.txt","rt");

if(fp==NULL)

{

printf("不能打开此文件");

exit(1);

}

while(!feof(fp))//判断文件指针是否处于文件结束位置,若是,返回1,非,返回0

{

s=(user *)malloc(sizeof(user));

s->next=NULL;

fscanf(fp,"%s %s %s %s %d\n",s->name,s->delivery,s->password,s->number,&s->score);

r->next=s;

r=s;

}

fclose(fp);

return LU;

}

void deleteshop(link_shop LS)

{

int i=0;

shop *p,*q;

p=LS;

q=p->next;

char m[20];

char a;

printf("请输入你所想删除的店铺名称或者电话:");

scanf("%s",m);

while(q)

{

if(strcmp(m,q->name)==0||strcmp(m,q->phone)==0)

{

i++;

p->next=q->next;

shopwrite1(LS);

return;

}

else

{

p=p->next;

q=q->next;

}

}

if(i==0)

{

printf("没有此店铺,无法删除\n");

return;

}

}

void deletedingdan(link_food Lf)

{

food *p,*n;

p=Lf;

n=p->next;

int m,i=0;

char a;

printf("请输入你所想删除的订单号:");

scanf("%d",&m);

while(n)

{

if(n->type==m)

{

if(strcmp(n->yonghu,yh)==0)

{

p->next=n->next;

i++;

foodwrite(Lf);

}

else

printf("不好意思,您没有权限删除\n");

break;

}

else

{

p=p->next;

n=n->next;

}

}

if(i==0)

{

printf("\t没有此订单,无法删除\n");

return;

}

}

void purchase()

{

link_food Lf;

money *LM,*mo;

user *lu,*us;

FILE *fp;

char a[20],b[20],mi[20];

char y;

int i=0;

printf("\t\t◇您想吃啥呢?");

scanf("%s",a);

Lf=foodread();

food *p;

p=Lf->next;

srand((unsigned)time(NULL));//订单号的种子

while(p!=NULL)

{

if(strcmp(p->name,a)==0||strcmp(p->leibie,a)==0)

{

// printf("%s\t%d\t%s\n",p->name,p->price,p->shop);

i++;

}

p=p->next;

}

if(i==0)

{

printf("\t\t\t×不好意思,还没有此菜呢\n");

system("pause");

system("cls");

MENU2();

return;

}

else

{

p=Lf->next;

printf("\n\t\t\t--------------------------------------------------\n");

printf("\t\t\t菜名 菜价 店铺 菜系\n");

printf("\t\t\t---------------------------------------------------\n");

while(p)

{

if(strcmp(p->leibie,a)==0||strcmp(p->name,a)==0)

{

printf("\t\t\t%-13s%-12d%-14s%s\n",p->name,p->price,p->shop,p->leibie);

printf("\t\t\t---------------------------------------------------\n");

}

p=p->next;

}

}

printf("\t\t◇请输入要购买的店铺:");

scanf("%s",b);

lu=userread();

us=lu->next;

while(us)

{

if(strcmp(yh,us->name)==0)

break;

else

us=us->next;

}//找出要购买的用户信息

LM=moneyread();

mo=LM->next;

i=0;

while(mo)

{

if(strcmp(yh,mo->person)==0)

{

i++;

break;

}

else

mo=mo->next;

}//找出用户的银行卡信息

if(i==0)

{

printf("\t\t× 您还没有绑定银行卡哦,不能购买的");

return;

}

p=Lf->next;

i=0;

while(p)

{

if(strcmp(p->name,a)==0||strcmp(p->leibie,a)==0)

{

if(strcmp(p->shop,b)==0)

{

printf("\t\t◇请输入要购买的数量");

scanf("%d",&p->amount);

if(p->amount!=0)

{

i++;

p->total=(p->amount)*(p->price);

p->type=rand()%900+100;

if((us->score)<p->total)

{

printf("\t\t× 您的账号余额不足,请先充值\n");

system("pause");

system("cls");

MENU2();

return;

}

printf("\t\t●确认购买?Y/else");

fflush(stdin);

y=getchar();

if(y=='Y')

{

printf("请输入支付密码:");

scanf("%s",mi);

if(strcmp(mi,mo->mima)==0)

{

fp=fopen("dingdan.txt","at");

if(fp==NULL)

printf("\t\t\t\t×购买失败\n");//因文件无法打开而失败

else

{

fprintf(fp,"%s %d %d %d %s %d %s\n",p->name,p->amount,p->price,p->total,p->shop,p->type,yh);

fclose(fp);

us->score=(us->score)-(p->total);

user_moneywrite(lu);

printf("\t\t\t\t√购买成功,请耐心等待配送\n");

start = time(NULL);//计时

system("pause");

system("cls");

MENU2();

return;

}

}

else

{

printf("\t\t× 密码错误,购买失败");

system("pause");

system("cls");

MENU2();

return;

}

}

else

{

printf("\t\t\t×已放弃购买");

system("pause");

system("cls");

MENU2();

return;

}

}

else

{

printf("\t\t\t×请输入正确的数量");

system("pause");

system("cls");

MENU2();

return;

}

}

}

p=p->next;

}

if(i==0)

{

printf("\t\t×请输入表中的店铺名称哦\n");

system("pause");

system("cls");

MENU2();

}

}

void foodwrite(link_food LF)//保存

{

FILE *fp;

food *p;

char a;

printf("确认保存?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("food.txt","at");

if(fp==NULL)

printf("错误!无法打开");

for(p=LF->next;p!=NULL;p=p->next)

fprintf(fp,"%s %d %s %s\n",p->name,p->price,dp,p->leibie);

printf("修改成功\n");

fclose(fp);

return;

}

else

printf("已放弃修改");

}

void foodwrite1(link_food LF)

{

FILE *fp;

food *p;

char a;

printf("确认保存?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("food.txt","wt");

if(fp==NULL)

printf("错误!无法打开");

for(p=LF->next;p!=NULL;p=p->next)

fprintf(fp,"%s %d %s %s\n",p->name,p->price,p->shop,p->leibie);

printf("修改成功\n");

fclose(fp);

return;

}

else

printf("已放弃修改");

}

// void foodwrite2(link_food LF)

// {

// FILE *fp;

// food *p;

// char a;

// printf("确认保存?(Y/else)");

// scanf("%*c%c",&a);

// if(a=='Y')

// {

// fp=fopen("food.txt","wt");

// if(fp==NULL)

// printf("错误!无法打开");

// for(p=LF->next;p!=NULL;p=p->next)

// fprintf(fp,"%s %d %s %s\n",p->name,p->price,p->shop,p->leibie);

// printf("修改成功\n");

// fclose(fp);

// return;

// }

// else

// printf("已放弃修改");

// }

void dingdanwrite(link_food LF)

{

FILE *fp;

food *p;

char a;

printf("确认保存?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("dingdan.txt","wt");

if(fp==NULL)

printf("错误!无法打开");

for(p=LF->next;p!=NULL;p=p->next)

fprintf(fp,"%s %d %d %d %s %d %s\n",p->name,p->amount,p->price,p->total,p->shop,p->type,p->yonghu);

printf("修改成功\n");

fclose(fp);

return;

}

else

printf("已放弃修改");

}

void shopwrite1(link_shop LS)

{

FILE *fp;

shop *p;

char a;

printf("确认保存?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("shop.txt","wt");

if(fp==NULL)

printf("错误!无法打开");

for(p=LS->next;p!=NULL;p=p->next)

fprintf(fp,"%s %s %s %s\n",p->name,p->phone,p->address,p->password);

printf("保存成功\n");

fclose(fp);

return;

}

else

printf("已放弃");

}

void shopwrite2(link_shop LS)

{

FILE *fp;

shop *p;

char a;

printf("是否将信息保存至文件里?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("shop.txt","at");

if(fp==NULL)

printf("错误!无法打开");

for(p=LS->next;p!=NULL;p=p->next)

fprintf(fp,"%s %s %s\n",p->name,p->phone,p->address);

printf("修改成功\n");

fclose(fp);

return;

}

else

printf("已放弃修改");

}

void userwrite(link_user LU)

{

FILE *fp;

user *p;

char a;

// printf("请确认?(Y/else)");

// scanf("%*c%c",&a);

// if(a=='Y')

// {

fp=fopen("users.txt","wt");

if(fp==NULL)

printf("错误!无法打开");

for(p=LU->next;p!=NULL;p=p->next)

fprintf(fp,"%s %s %s %s %d\n",p->name,p->delivery,p->password,p->number,p->score);

printf("操作成功\n");

fclose(fp);

return;

// }

//else

//printf("已放弃注册");

}

void user_moneywrite(link_user LM)

{

FILE *fp;

user *p;

char a;

// printf("是否将信息保存至文件里?(Y/else)");

// scanf("%*c%c",&a);

// if(a=='Y')

// {

fp=fopen("users.txt","wt");

if(fp==NULL)

printf("错误!无法打开");

for(p=LM->next;p!=NULL;p=p->next)

fprintf(fp,"%s %s %s %s %d\n",p->name,p->delivery,p->password,p->number,p->score);

//printf("注册成功\n");

fclose(fp);

//return;

// }

//else

//printf("已放弃注册");

}

void userwrite2(link_user LU)

{

FILE *fp;

user *p;

char a;

printf("是否将信息保存至文件里?(Y/else)");

scanf("%*c%c",&a);

if(a=='Y')

{

fp=fopen("users.txt","at");

if(fp==NULL)

printf("错误!无法打开");

for(p=LU->next;p!=NULL;p=p->next)

fprintf(fp,"%s %s %s %s %d\n",p->name,p->delivery,p->password,p->number,p->score);

printf("注册成功\n");

fclose(fp);

return;

}

else

printf("已放弃注册");

}

void increaseshop(link_shop LS)

{

char a[30],b[20],c[15],d[20];

shop *s;

printf("请输入你所想加入的店铺信息:\n");

printf("\t\t● 店铺名称:");

scanf("%s",a);

printf("\n\t\t● 店铺电话:");

scanf("%s",b);

printf("\n\t\t● 店铺地址:");

scanf("%s",c);

printf("\n\t\t● 店铺密码:");

scanf("%s",d);

if(strcmp(a,"0")!=0)

{

s=(shop *)malloc(sizeof(shop));

strcpy(s->name,a);

strcpy(s->phone,b);

strcpy(s->address,c);

strcpy(s->password,d);

}

s->next=LS->next;

LS->next=s;

shopwrite1(LS);

}

void shopfind(link_shop LS)

{

shop *p;

char E[20];

p=LS->next;

printf("请输入店铺的名称:");

scanf("%s",E);

while(strcmp(p->name,E)!=0&&(p->next)!=NULL)

{

p=p->next;

}

if((p->next)==NULL)

{

printf("没有此店铺");

return;

}

printf("您所查询的店铺信息为:\n名称\t电话\t地址\n");

printf("%s %s %s",p->name,p->phone,p->address);

}

void registerdeal()

{

int q;

FILE *fp;

char y;

link_shop head;

shop *r,*p;

head=r=(shop *)malloc(sizeof(shop));

r->next=NULL;

fp=fopen("shenqing.txt","rt");

if(fp==NULL)

{

printf("发生错误,无法打开文件");

return;

}

if((y=fgetc(fp))==EOF)

{

printf("目前没有需要处理的信息\n");

system("pause");

system("cls");

MENU1();

return;

}

else

{

while(!feof(fp))

{

p=(shop *)malloc(sizeof(shop));

fscanf(fp," %s %s %s %s \n",p->name,p->phone,p->address,p->password);

r->next=p;

p->next=NULL;

r=p;

}

for(p=head->next;p!=NULL;p=p->next)

printf("%s %s %s\n",p->name,p->phone,p->address);

printf("是否同意注册?Y/else");

scanf("%*c%c",&y);

if(y=='Y')

{

fp=fopen("shop.txt","at");

if(fp==NULL)

printf("文件不存在,打开错误\n");

for(p=head->next;p!=NULL;p=p->next)

fprintf(fp,"% s %s %s %s \n",p->name,p->phone,p->address,p->password);

fclose(fp);

}

}

printf("处理成功");

fp=fopen("shenqing.txt","wt");

fclose(fp);

}

void MENU1_choose()

{

int n,m,q;

char a[20],b[20],c[20],d[20];

char y;

FILE *fp,*fa;

shop *p;

shop sq;

link_shop LS;

link_user LU;

LS=shopread();

while(1)

{

printf("请选择你想所想进行的选项:\n");

scanf("%d",&n);

if(n==1)

{

Outputshop(LS);

printf("是否进行排序?Y/else");

fflush(stdin);

y=getchar();

if(y=='Y')

{

system("cls");

printf("\n\n\n\t\t\t●1.按店铺名称排序\n");

printf("\t\t\t●2.按店铺地址排序\n");

scanf("%d",&m);

if(m==1)

name_sort(LS);

if(m==2)

address_sort(LS);

printf("1.退出\t2.返回");

scanf("%d",&m);

if(m==1)

exit(0);

else

{

system("cls");

MENU1();

continue;

}

}

else

{

printf("已放弃排序\n");

system("cls");

MENU1();

}

}

if(n==2)

{

system("cls");

printf("\n\n\n\t\t\t☆【1】删除店铺\n");

printf("\t\t\t☆【2】增加店铺\n");

printf("\t\t\t☆【3】输入店铺\n");

printf("\t\t\t☆【0】返回上一级\n");

printf("\n\t\t请选择将要进行的操作:\n"); //二级

while(1)

{

scanf("%d",&m);

if(m==1)

deleteshop(LS);

if(m==2)

increaseshop(LS);

if(m==3)

{

LS=creats();

shopwrite1(LS);

}

if(m==4)

shopfind(LS);

if(m==0)

{

system("cls");

MENU1();

break;

}

}

}

if(n==3)

registerdeal();//注册处理以及投诉处理函数

if(n==4)

{

//LU=userread();

system("cls");

printf("\n\t请选择所想进行的选项:\n\n");

printf("\t● ○ ● ○ ● ○ ●\n");

printf("\t 1.查看个人信息 \n");

printf("\t○ 2.修改个人信息 ○\n");

printf("\t 0.返回上一级 \n");//二级

printf("\t● ○ ● ○ ● ○ ●\n");

while(1)

{

scanf("%d",&m);

if(m==1)

{

char d[20];

fa=fopen("admin.txt","rt");

fscanf(fa,"%s %s %s %s",a,b,c,d);

fclose(fa);

printf("\n\t\t地区\t姓名\t电话号码\n");

printf("\t\t%s\t%s\t%s\n",a,b,d);

}

if(m==2)

{

system("cls");

printf("\n 温馨提示,按0返回哦(〃'▽'〃)\n");

printf("\n\t\t● ○ ● ○ ● ○ ●\n");

printf("\t\t 1.修改姓名 \n");

printf("\t\t○ 2.修改地址 ○\n");

printf("\t\t 3.修改密码 \n");//三级

printf("\t\t● ○ ● ○ ● ○ ●\n");

scanf("%d",&q);

if(q==1)

{

printf("请输入新的姓名:\n");

scanf("%s",b);

}

if(q==2)

{

printf("请输新的地址:\n");

scanf("%s",a);

}

if(q==3)//修改密码,含找回密码

{

int j=0,h;

char f[20],e[20];

fa=fopen("admin.txt","rt");

fscanf(fa,"%s %s %s %s",a,b,c,d);

printf("您需要输入旧的密码:\n");

scanf("%s",f);

while(strcmp(f,c)!=0)

{

j++;

printf("\t\t×您的密码有误,请重新输入:");

scanf("%s",f);

if(j==2)

{

printf("\t\t×您已经连续输错三次,按1找回密码,其他数字键返回:");

scanf("%d",&j);

if(j==1)

{

printf("请输入您的电话号码:");

scanf("%s",e);

if(strcmp(e,d)==0)

{

srand((unsigned)time(NULL));

j=rand()%900+100;

fp=fopen("yanzheng.txt","wt");

//fscanf(fp,"%d\n",&j);

fprintf(fp,"%d\n",j);

fclose(fp);

printf("我们已经发送验证码到您的手机,请输入:");

scanf("%d",&h);

if(h==j)

{

printf("\t\t√请重新设置您的密码:");

scanf("%s",c);

break;

}

else

{

printf("\t\t×验证码错误\n");

break;

}

}

else

{

printf("\t\t×找回密码失败\n");

break;

}

}

else

{

system("cls");

MENU();

return;

}

}

}

if(strcmp(c,f)==0)

{

printf("请输入新的密码:\n");

scanf("%s",c);

}

}

if(q==1||q==2||q==3)

{

printf("是否保存?Y/else");

fflush(stdin);

y=getchar();

if(y=='Y')

{

fa=fopen("admin.txt","wt");

fprintf(fa,"%s %s %s %s",a,b,c,d);

fclose(fa);

printf("\t\t√保存成功");

}

else

printf("\t\t×已放弃修改");

system("pause");

system("cls");

printf("\n\t请选择所想进行的选项:\n\n");

printf("\t● ○ ● ○ ● ○ ●\n");

printf("\t 1.查看个人信息 \n");

printf("\t○ 2.修改个人信息 ○\n");

printf("\t 0.返回上一级 \n");//二级

printf("\t● ○ ● ○ ● ○ ●\n");

continue;

}

if(q==0)

{

system("cls");

printf("\n\t请选择所想进行的选项:\n\n");

printf("\t● ○ ● ○ ● ○ ●\n");

printf("\t 1.查看个人信息 \n");

printf("\t○ 2.修改个人信息 ○\n");

printf("\t 0.返回上一级 \n");//二级

printf("\t● ○ ● ○ ● ○ ●\n");

continue;

}

}

if(m==0)

{

system("cls");

MENU1();

break;

}

}

}

if(n==5)

{

system("cls");

MENU1();

}

if(n==0)

{

system("cls");

MENU();

break;

}

if(n!=1&&n!=2&&n!=3&&n!=4&&n!=5&&n!=0)

{

printf("\t\t∷");

Sleep(400);

printf("∷");

Sleep(400);

printf("∷");

Sleep(400);

printf("您需要输入菜单上的数字哦\n");

}

}

}

void MENU2_choose()

{

int n,m,q,i=0;

char a[20],b[20];

char y;

FILE *fp;

user *u;

food *p,*s,*r;

link_food LF,Lf;

LF=foodread();

link_user LU;

// user user;

while(1)

{

scanf("%d",&n);

switch(n)

{

case 1:

system("cls");

printf("\n\n\t\t\t请选择需要进行的选项:\n\n");

printf("\t\t\t--------------------\n");

printf("\t\t\t 用 户 相 关\n");

printf("\t\t\t--------------------\n");

printf("\t\t\t● 1.修改用户名\n");

printf("\t\t\t● 2.修改密码\n");

printf("\t\t\t● 3.修改收货地址\n");

printf("\t\t\t● 4.修改电话号\n");

printf("\t\t\t● 5.查看个人信息\n");

printf("\t\t\t● 6.充值钱包\n");

printf("\t\t\t● 0.返回上一级\n");

LU=userread();

u=LU->next;

while(1)

{

if(strcmp(yh,u->name)==0)

break;

else

u=u->next;

}

while(1)

{

scanf("%d",&m);

if(m==1)

{

printf("请输入新的用户名:\n");

scanf("%s",u->name);

}

if(m==2)

{

printf("您需要输入旧的密码:\n");

scanf("%s",b);

while(strcmp(u->password,b)!=0)

{

printf("密码错误,请重新输入\n");

scanf("%s",b);

i++;

if(i==2)

{

printf("您已经输错三次,请5分钟后再试");

continue;

}

}

printf("请输入新的密码:");

scanf("%s",u->password);

}

if(m==3)

{

printf("请输入新的收货地址:");

scanf("%s",u->delivery);

}

if(m==4)

{

printf("请输入新的收货地址");

scanf("%s",u->number);

}

if(m==1||m==2||m==3||m==4)

userwrite(LU);

if(m==5)

{

printf("您的信息为:\n");

printf("姓名\t收获地址\t联系方式\n");

printf("%s\t%s\t%s\n",u->name,u->delivery,u->number);

}

if(m==6)

{

u=addmoney(u);

userwrite(LU);

}

if(m==0)

{

system("cls");

MENU2();

break;

}

}

break;

case 2:

LF=dingdanread();

Outputfood(LF);

break;

case 3:

LF=foodread();

system("cls");

outputfood(LF);

p=LF->next;

printf("\t● 按1购买,其他数字返回\t");

scanf("%d",&q);

if(q==1)

{

purchase();

}

else

{

system("cls");

MENU2();

continue;

}

break;

case 4:

LF=dingdanread();

p=LF->next;

i=0;

printf("请输入所想修改的订单号:");

scanf("%d",&n);

while(p)

{

if(n==p->type)

{

if(strcmp(p->yonghu,yh)==0)

{

i=1;

system("cls");

printf("\n订单信息如下:\n");

printf("\t菜名\t单价\t数量\t总价\t店铺\t用户名\t\n");

printf("\t%s\t%d\t%d\t%d\t%s\t%s\n\n",p->name,p->price,p->amount,p->total,p->shop,p->yonghu);

printf("\t\t○ 1.修改数量\n");

printf("\t\t○ 2.删除订单\n");

printf("\t\t○ 其他数字键返回\n");

scanf("%d",&n);

if(n==1)

{

end = time(NULL);

if((difftime(end,start))<180)

{

printf("还没有超过三分钟,请尽快修改哦\n");

printf("您只能修改菜的数量:");

scanf("%d",&m);

p->amount=m;

p->total=(p->amount)*(p->price);

dingdanwrite(LF);

printf("\t\t√已成功修改");

}

else

{

printf("时间超过三分钟,已配送\n");

system("pause");

system("cls");

MENU2();

break;

}

}

if(n==2)

{

deletedingdan(LF);

dingdanwrite(LF);

}

else

{

system("pause");

system("cls");

MENU2();

break;

}

}

if(strcmp(p->yonghu,yh)!=0)

{

printf("\t\t× 不好意思,该订单您没有权限修改\n");

i=2;

system("pause");

system("cls");

MENU2();

break;

}

}

else

p=p->next;

}

if(i==0)

{

printf("\t\t×没有改订单\n");

system("pause");

system("cls");

MENU2();

continue;

}

break;

case 5:

purchase();

break;

case 6:

system("cls");

printf("\n\n\n\t\t\t---------------\n");

printf("\t\t\t 订 单 排 序\n");

printf("\t\t\t---------------\n");

printf("\t\t\t△ 1.按菜名排序:\n");

printf("\t\t\t△ 2.按总价排序:\n");

printf("\t\t\t△ 0.返回\n");

scanf("%d",&m);

{

LF=dingdanread();

if(m==1)

dingdan_name_sort(LF);

if(m==2)

dingdan_total_sort(LF);

if(m==0)

{

system("cls");

MENU2();

continue;

}

system("pause");

system("cls");

MENU2();

continue;

}

break;

//dindan_name_sort(LF);

case 0:

system("cls");

MENU();

return;

break;

}

}

}

void deletefood(link_food Lf)

{

int i=0;

food *p,*n;

p=Lf;

n=p->next;

char m[20];

char a;

printf("请输入你所想删除的菜名:");

scanf("%s",m);

while(n)

{

if(strcmp(m,n->name)==0)

{

if(strcmp(n->shop,dp)==0)

{

i++;

p->next=n->next;

foodwrite1(Lf);

}

else

printf("不好意思,您没有权限删除\n");

break;

}

else

{

p=p->next;

n=n->next;

}

}

if(i==0)

{

printf("没有此菜,无法删除\n");

return;

}

}

void MENU3_choose()

{

int x,y;

char a[20];

link_food LF,Lf;

LF=foodread();

food *p;

while(1)

{

printf("请选择:");

scanf("%d",&x);

if(x==1)

{

creatf();

//foodwrite(LF);

}

if(x==2)

{

int i=0;

printf("请输入要修改的菜的名称:");

scanf("%s",a);

//LF=foodread();

p=LF->next;

while(p!=NULL)

{

if(strcmp(a,p->name)==0)

{

i++;

if(strcmp(dp,p->shop)==0)

{

printf("请重新输入菜的信息:\n");

printf("\t\t\t△新菜名:");

scanf("%s",p->name);

printf("\t\t\t△新菜价:");

scanf("%d",&p->price);

foodwrite1(LF);

}

else

printf("不好意思,您没有权限修改\n");

break;

}

p=p->next;

}

if(i==0)

printf("\t\t× 没有此菜的信息\n");

}

if(x==3)

{

deletefood(LF);

}

if(x==4)

{

int sum=0;

Lf=foodread();

p=Lf->next;

system("cls");

printf("\n\n\t\t您家的食物如下:");

printf("\n\t\t----------------------------------------\n");

printf("\t\t菜名\t 菜价\t店铺\t 菜系\n");

printf("\t\t----------------------------------------\n");

while(p)

{

if(strcmp(p->shop,dp)==0)

{

printf("\t\t%-14s%-10d%-12s%s\n",p->name,p->price,p->shop,p->leibie);

printf("\t\t----------------------------------------\n");

sum=sum+1;

}

p=p->next;

}

printf("\t\t合计/个:\t\t\t%d个菜\n",sum);

printf("\t\t----------------------------------------\n");

if(sum==0)

printf("\t\t\t● 怪不得没订单,您还没添加菜品呢\n");

system("pause");

system("cls");

MENU3();

}

if(x==5)

{

LF=dingdanread();

scorefind(LF);//查看业绩函数

system("pause");

system("cls");

MENU3();

}

if(x==0)

{

system("cls");

MENU();

break;

}

}

}

//登陆

void login()

{

int n,i=0,j=0;

char a[10],c[10];

char b[15],d[15],f[10],e[20];

FILE *fp;

char ch;

system("cls");

MENU();

printf("请选择:");

while(1)

{

scanf("%d",&n);

//管理员登陆

if(n==1)

{

printf("请输入用户名:");

scanf("%s",a);

printf("请输入密码:");

while((ch=getch())!=13){

if(ch==8){

printf("\b \b");

i--;

continue;

}

b[i++]=ch;

putchar('*');

}

b[i]='\0';

fp=fopen("admin.txt","rt");

if(fp==NULL)

printf("没有此文件,无法打开");

fscanf(fp,"%s %s %s %s",f,c,d,e);

fclose(fp);

while(strcmp(a,c)!=0||strcmp(b,d)!=0)

{

printf("\n账号或密码错误,请重新输入:\n");

printf("请输入用户名:");

scanf("%s",a);

printf("请输入密码:");

i=0;

while((ch=getch())!=13){

if(ch==8){

printf("\b \b");

i--;

continue;

}

b[i++]=ch;

putchar('*');

}

b[i]='\0';

j++;

if(j==2)

{

printf("\n密码错误已达三次,将自动退回主菜单\n");

system("pause");

system("cls");

MENU();

return;

}

}

system("cls");

//system("color 03");

welcome();

printf("\n");

system("pause");

system("cls");

MENU1();

MENU1_choose();

}

//用户登录

if(n==2)

{

link_user LU;

user *p;

LU=userread();

p=LU->next;

printf("请输入账号或名称");

scanf("%s",yh);

printf("请输入密码:");

i=0;

while((ch=getch())!=13){

if(ch==8){

printf("\b \b");

i--;

continue;

}

b[i++]=ch;

putchar('*');

}

b[i]='\0';

int i=0;

while(p!=NULL)

{

if(strcmp(yh,p->name)==0&&strcmp(b,p->password)==0)

{

system("cls");

//system("color 0a");

//welcome();

printf("\n");

system("pause");

system("cls");

i++;

MENU2();

MENU2_choose();

break;

}

p=p->next;

}

if(i==0)

{

printf("密码或者账号错误\n");

system("pause");

system("cls");

ME();

return;

}

}

if(n==3)

{

link_shop LS;

shop *p;

j=0;

LS=shopread();

p=LS->next;

printf("请输入店铺名称或者账号:");

scanf("%s",dp);

printf("请输入密码");

i=0;

while((ch=getch())!=13)

{

if(ch==8)

{

printf("\b \b");

i--;

continue;

}

putchar('*');

b[i++]=ch;

}

b[i]='\0';

while(p!=NULL)

{

if(strcmp(dp,p->name)==0&&strcmp(b,p->password)==0)

{

system("cls");

//system("color 0a");

//welcome();

j++;

printf("\n");

system("pause");

system("cls");

MENU3();

MENU3_choose();

break;

}

else

p=p->next;

}

if(j==0)

{

printf("\t\t\n× 密码或者账号错误\n");

system("pause");

system("cls");

ME();

return;

}

}

if(n==0)

{

system("cls");

ME();

break;

}

}

}

user * creatu()

{

char a[30],b[20],c[15],d[20];

char ca[20],mi1[20],mi2[20];

link_user LU,lu;

FILE *fp;

user *s,*r,*p;

int x,y,i,h;

LU=r=(user *)malloc(sizeof(user));

LU->next=NULL;

printf("请输入姓名:");

scanf("%s",a);

lu=userread();

while(1)

{

i=0;

p=lu->next;

while(p)

{

if(strcmp(a,p->name)==0)

{

i++;

printf("\t\t×此用户已经有人注册过,请重新输入:");

scanf("%s",a);

break;

}

else

p=p->next;

}

if(i==0)

break;

}

printf("请输入收货地址:");

scanf("%s",b);

printf("请输入密码:");

scanf("%s",c);

printf("请输入电话号码:");

scanf("%s",d);

x=strlen(c);

while(x<8)

{

printf("\t\t● 您的密码小于8位,安全指数为低\n");

printf("按1修改,其他键放弃修改:");

scanf("%d",&y);

if(y==1)

{

scanf("%s",c);

x=strlen(c);

}

else

break;

}

if(strcmp(b,"0")!=0)

{

s=(user *)malloc(sizeof(user));

s->score=0;

strcpy(s->name,a);

strcpy(s->delivery,b);

strcpy(s->password,c);

strcpy(s->number,d);

r->next=s;

s->next=NULL;

r=s;

printf("为了方便充值钱包,请绑定您的银行卡:");

scanf("%s",ca);

h=strlen(ca);

while(h<15)

{

printf("\t\t● 您的银行卡不足15位,请重新输入:");

scanf("%s",ca);

h=strlen(ca);

}

i=0;

printf("请设置您的支付密码");

scanf("%s",mi1);

printf("请确认密码");

scanf("%s",mi2);

if(strcmp(mi1,mi2)!=0)

{

printf("\t\t×注册失败,两次密码不同");

return 0;

}

fp=fopen("yue.txt","at");

fprintf(fp,"%s %s %s\n",a,ca,mi1);

fclose(fp);

}

else

{

printf("\t\t×注册失败,请输入正确的收货信息:");

return 0;

}

return LU;

}

void Register()

{

int y;

char a;

FILE *fp;

shop sq;//申请

system("cls");

printf("\n\n\n\t\t\t\t1.注册用户\t\t\t2.申请店铺\n");

printf("\t\t\t\t0.返回上一级");

while(1)

{

printf("\t\t▲ 请选择要进行的选项:");

scanf("%d",&y);

if(y==1)//用户注册

{

link_user LU;

LU=creatu();

userwrite2(LU);

}

if(y==2)

{

printf("请输入店铺名称:");

scanf("%s",sq.name);

printf("请输入店铺电话:");

scanf("%s",sq.phone);

printf("请输入店铺地址:");

scanf("%s",sq.address);

printf("请输入店铺密码:");

scanf("%s",sq.password);

fp=fopen("shenqing.txt","at");

if(fp==NULL)

{

printf("发生错误,无法打开文件");

return;

}

printf("是否保存?Y/else");

scanf("%*c%c",&a);

if(a=='Y')

{

fprintf(fp," %s %s %s %s \n",sq.name,sq.phone,sq.address,sq.password);

fclose(fp);

printf("\t\t√ 申请成功,等待上级审核");

}

else

{

printf("\t\t× 已放弃申请");

fclose(fp);

}

}

if(y==0)

{

system("cls");

printf("\t\tWELCOME\n这里是外卖管理系统,请选择接下来的操作:");

printf("\n\n\t\t\t\t1.登陆");

printf("\t\t\t\t2.注册\n");

break;

}

}

}

void choose()

{

int x;

ME();

while(1)

{

scanf("%d",&x);

if(x==1)

login();

if(x==0)

{

Exit();

return;

}

if(x==2)

Register();

}

}

int main()

{

choose();

}

代码有些多,因为要用到文件以及文件交互,因此这里有整个的文件外卖管理系统。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C语言实现外卖管理系统 的全部内容, 来源链接: utcz.com/p/244629.html

回到顶部