C语言实现简单餐饮管理与点餐系统_第1页
C语言实现简单餐饮管理与点餐系统_第2页
C语言实现简单餐饮管理与点餐系统_第3页
C语言实现简单餐饮管理与点餐系统_第4页
C语言实现简单餐饮管理与点餐系统_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第C语言实现简单餐饮管理与点餐系统本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内容如下

/*

项目名称:南航餐饮管理系统

组员:梁文新,刘青林,刘艺,施瑞文(组长)

//当注册用户名为:root,密码为:root的账号时,系统默认为初始管理员

//头文件

#includestdio.h

#includestdlib.h

#includetime.h

#includeconio.h

#includewindows.h

#includestring.h

//宏定义区

#defineM

sizeof(structUser)//用户表的大小

#defineN

sizeof(structstapleFood)//主食表大小

#defineP

sizeof(structnon_stapleFood)//副食表大小

#defineQ

sizeof(structDrink_beverage)//饮品表大小

#defineX

sizeof(structTable)//餐桌表大小

#defineY

sizeof(structForm)//订单表大小

//结构体

structUser

//用户表

charuserName[10];//用户名

charpassWord[18];//密码

intisVIP;//会员标记

intisAdministrator;//管理员标记

floatmoney;//余额

structUser*next;//指针域

typedefstructUseruser;

typedefuser*pUser;

structstapleFood

//主食

charname[20];

floatprice;

structstapleFood*next;

typedefstructstapleFoodstaple_food;

typedefstaple_food*pStapleFood;

structnon_stapleFood

//副食

charname[20];

floatprice;

structnon_stapleFood*next;

typedefstructnon_stapleFoodnon_staple_food;

typedefnon_staple_food*pNon_stapleFood;

structDrink_beverage

//饮品

charname[20];

floatprice;

structDrink_beverage*next;

typedefstructDrink_beveragedrinkBeverage;

typedefdrinkBeverage*pDrinkBeverage;

structTable

//餐桌

intID;//餐桌编号

intPeople;//已坐人数

intcount;//可容纳人数

charUsername[10];//订餐人

structTable*next;

typedefstructTabletable;

typedeftable*pTable;

structForm

//订单

charname[20];

floatprice;

structForm*next;

typedefstructFormorderForm;

typedeforderForm*pOrder;

//自定义函数区

//用户客户端

voidDefault();//欢迎界面

voidUser_Login();//用户登录界面

voidLogon();//注册界面

pUserreadUserFile();//从文件中读取用户信息,返回一个表头地址

voidsave_User(pUserp1);//将用户信息保存到文件中

voidUser_Menu();//用户菜单

voidUser_Order();//点餐

voidOrder_StapleFood();//主食

voidOrder_nonStapleFood();//副食

voidOrder_DrinkBeverage();//饮品

voidOrder_Form(intID,intnumber);//订单

voidUser_List_Table();//餐桌列表

voidApply_VIP_Menu();//会员办理菜单

voidAdd_money(pUserhead);//充值

voidUpdata_User(pUserhead);//更新用户表

voidApply_VIP(pUserhead);//办理会员

voidUser_Wallet();//我的钱包

//管理员客户端

voidAdministrator_Menu();//管理员菜单

voidAdministrator_Login();//管理员登录

voidCheck_User();//查看用户

voidFind_User();//查找用户

voidAll_User();//查看所有用户

voidAll_VIP();//本店会员

voidSetup_administrator();//设置管理员

voidFood();//菜品信息

voidAdd_Food();//添加菜单

voidsave_stapleFood(pStapleFoodp);//保存主食信息

voidsave_non_stapleFood(pNon_stapleFoodp);//保存副食信息

voidsave_drinkBeverage(pDrinkBeveragep);//保存饮品信息

pStapleFoodreadStapleFoodFile();//从主食文件中读取用户信息,返回一个表头地址

pNon_stapleFoodreadNonStapleFoodFile();//从副食文件中读取用户信息,返回一个表头地址

pDrinkBeveragereadDrinkBeverageFile();//从饮品文件中读取用户信息,返回一个表头地址

voidTable();//餐桌管理

voidAdd_Table();//添加餐桌

voidsave_Table(pTablep);//保存餐桌信息

pTablereadTableFile();//从餐桌文件中读取用户信息,返回一个表头地址

voidClear_Table();//清理餐桌

voidClear_oneTable();//清理指定餐桌

voidClear_allTable();//清理所有餐桌

voidUpdata_Table(pTablehead);//更新餐桌文件

voidAdministrator_List_Table();//餐桌列表

//公共函数

voidtoxy(intx,inty);//将光标移动到x,y坐标处

voidHideCursor(intx);//隐藏光标

char*HidePassword();//隐藏密码

voidExit();//退出系统

voidChange();//切换账号

voidAmend_passWord();//修改密码

voidList_Food();//菜单列表

//全局变量区

char_userName[10];

char_passWord[18];//记录当前用户

pOrderorderHead=NULL,p2=NULL;//记录当前用户的订单

intnum=0;

//函数实现区

voidtoxy(intx,inty)//将光标移动到x,y坐标处

COORDpos={x,y};

HANDLEOut=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(Out,pos);

voidHideCursor(intx)//隐藏光标,当x为0时,隐藏,为1时,显示

CONSOLE_CURSOR_INFOcursor_info={1,x};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);

voidDefault()//欢迎界面

chart;//用于选择

do

{

HideCursor(0);//隐藏光标

system("color72");

toxy(28,8);

printf("

欢迎来到南航餐饮!

");

toxy(26,9);

printf("-----------------------------");

toxy(27,11);

printf("1.登录

2.注册

3.管理员登录");

while(1)

//死循环为防止其他按键干扰

{

t=getch();//不回显函数

if(t=='1')//如果按1,则进入登录界面

User_Login();

elseif(t=='2')//如果按2,则进入注册界面

Logon();

elseif(t=='3')

Administrator_Login();

}//如果既不是1也不是2和3,则循环输入

}while(1);//永远为真

voidUser_Menu()//用户菜单

chart;//用于选择菜单选项

do

{

system("cls");

HideCursor(0);//隐藏光标

system("color74");

toxy(32,3);

printf("南航餐饮点餐系统!");

toxy(32,4);

printf("当前用户:%s",_userName);

toxy(30,5);

printf("*********************");

toxy(32,7);

printf("|

1.菜单列表

|");

toxy(32,9);

printf("|

2.餐桌列表

|");

toxy(32,11);

printf("|

3.会员办理

|");

toxy(32,13);

printf("|

4.修改密码

|");

toxy(32,15);

printf("|

5.我的钱包

|");

toxy(32,17);

printf("|

6.切换账号

|");

toxy(32,19);

printf("|

7.退出系统

|");

t=getch();//不回显函数,输入一个值

switch(t)

{

case'1':User_Order();break;

case'2':User_List_Table();break;

case'3':Apply_VIP_Menu();break;

case'4':Amend_passWord();break;

case'5':User_Wallet();break;

case'6':Change();break;

case'7':Exit();break;

default:break;

}

}while(1);//永远为真

char*HidePassword()//隐藏密码

charpassword[18];//密码

char*p;//指向密码的指针

inti=0;//记录密码位数

chart;//输入密码

for(;;)

//此处为输入密码不回显操作

{

t=getch();

//输入k

if(t=='\r')

//如果输入k为回车,则跳出循环

{

break;

}

elseif(t=='\b')

//如果输入k为删除键

{

if(i0)

//如若密码还没完全删除

{

printf("\b");

printf("");

printf("\b");

i--;

}

}

else

//如果输入的k既不是删除键,也不是回车键

{

password[i]=t;

//把k的值赋给_password[i];

printf("*");

//输出*号,保护用户隐私

i++;

//密码位数加1

}

}

password[i]='\0';//在数组末端加一个结束符

p=password;//让p指向该数组

returnp;//返回一个指向密码的指针

pUserreadUserFile()//从文件中读取用户信息,返回一个表头地址

FILE*fp;

//文件指针

intn=0;//记录链表的结点数

pUserhead=NULL;//定义头指针

pUserp2,p,pre;

fp=fopen("User.txt","a+");

//以只读的方式打开文件

if(fp==NULL)

{

printf("cannotopenfile\n");

}

else

{

while(!feof(fp))

//判断文件位置标志是否移动到文件末尾

{

n++;

p=(pUser)malloc(M);//向内存申请一段空间

fread(p,M,1,fp);

//将fp所指向的文件中的内容赋给p

if(n==1)

{

head=p;

p2=p;

}

else

//创建链表

{

pre=p2;

p2-next=p;

p2=p;

}

}

p2-next=NULL;

}

if(n=2)

head-next=NULL;

else

pre-next=NULL;

fclose(fp);

//关闭文件

returnhead;

//返回头指针

voidsave_User(pUserp1)

//将p1所指向的内容存储到文件中

FILE*fp;

//文件指针

fp=fopen("User.txt","a+");

//以追加的方式打开文件

if(fp==NULL)

{

printf("cannotopenfile\n");

}

if(fwrite(p1,M,1,fp)!=1)

//将p1所指向的1个大小为N的数据结构写入fp所指向的文件中

{

printf("filewriteerror\n");

}

fclose(fp);

//关闭文件

voidUser_Login()//登录页面

char*q,t,c;//q指针用于接收*HidePassword()函数返回的指向密码的指针,t和c均用于选择

pUserp=readUserFile();//从文件中读取用户信息,返回一个表头地址

do

{

HideCursor(1);//显示管光标

system("cls");//清屏

system("color73");//设置颜色

toxy(28,8);

printf("南航餐饮管理系统登录界面");

toxy(26,9);

printf("-----------------------------");

toxy(32,11);

printf("用户名:");

toxy(32,13);

printf("密

码:");

toxy(40,11);

scanf("%s",_userName);

toxy(40,13);

q=HidePassword();//输入密码

strcpy(_passWord,q);//将获得的密码复制给_passWord[]数组

while(p!=NULLstrcmp(p-userName,_userName)!=0)

//遍历链表,寻找当前输入的账户的账号

{

p=p-next;

}

if(p!=NULL)

//如果p不为空

{

if(strcmp(p-passWord,_passWord)==0)

//如果输入的密码正确

{

toxy(32,16);

printf("正在登陆....");

Sleep(500);

//暂停0.5秒

system("cls");

toxy(32,10);

printf("登陆成功!");

break;

//跳出循环

}

else

//如果输入的密码错误

{

toxy(32,16);

printf("正在登陆....");

Sleep(500);

system("cls");

toxy(30,8);

printf("-------------------------");

toxy(30,9);

printf("|

|");

toxy(30,10);

printf("|密码错误!是否继续?

|");

toxy(30,12);

printf("|1.是

2.否|");

toxy(30,13);

printf("|

|");

toxy(30,14);

printf("-------------------------");

while(1)//无限循环为防止其他按键干扰

{

t=getch();

//输入t

if(t=='1')

{

system("cls");

//清屏

break;

}

elseif(t=='2')

//如果输入t为n,进入开始界面

{

system("cls");

//清屏

Default();break;

}

}

}

}

else

//如果p为空,即输入的账号不正确

{

toxy(32,16);

printf("正在登陆....");

Sleep(500);

system("cls");

toxy(30,8);

printf("-------------------------");

toxy(30,9);

printf("|

|");

toxy(30,10);

printf("|

账号错误!是否继续?|");

toxy(30,11);

printf("|

|");

toxy(30,12);

printf("|

1.是

2.否|");

toxy(30,13);

printf("|

|");

toxy(30,14);

printf("-------------------------");

while(1)

//死循环防止其他按键干扰

{

c=getch();

if(c=='1')

{

system("cls");

break;

}

elseif(c=='2')

{

system("cls");

//清屏

Default();

}

}

}

}while(1);

Sleep(500);

//暂停0.5秒

User_Menu();

//账号密码均正确,进入用户主菜单

voidLogon()//注册界面

pUserp1;

pUserp=readUserFile();//从文件中读取用户信息,返回一个表头地址

p1=(pUser)malloc(M);

//向内存申请一段空间

char*q1,*q2;//q1,q2分别用于接收*HidePassword()函数返回的值

charuserName[10],passWord[18],againPassword[18],c,k,t;//c,k,t均用于选择

do{

system("cls");

system("color73");

HideCursor(1);//显示光标

intflag=0;//标记信息库中是否存在要注册用户名

toxy(28,8);

printf("南航餐饮管理系统注册界面");

toxy(26,9);

printf("-----------------------------");

toxy(32,11);

printf("用户名:");

toxy(32,13);

printf("密

码:");

toxy(32,15);

printf("确认密码:");

toxy(42,11);

scanf("%s",userName);//输入用户名

toxy(42,13);

q1=HidePassword();//输入密码

strcpy(passWord,q1);

toxy(42,15);

q2=HidePassword();//输入确认密码

strcpy(againPassword,q2);

while(p!=NULL)

//遍历链表,寻找当前输入的账户的账号

{

if(strcmp(p-userName,userName)==0)//如果信息库中存在该用户名

{

toxy(32,17);

printf("用户名已存在,请重新注册!");

flag=1;//flag为1时表示用户名已存在

break;//跳出循环

}

p=p-next;

}

if(flag)//如果用户名已存在

{

HideCursor(0);//隐藏光标

toxy(32,19);

printf("是否继续?");//询问是否继续

toxy(32,21);

printf("1.是\t2.否");

while(1)

{

t=getch();

if(t=='1')

break;

elseif(t=='2')

break;

}

if(t=='1')//如果继续,则重新注册

continue;

elseif(t=='2')//如果不继续,则回到首页

{

system("cls");//清屏

Default();//回到首页

}

}

if(strcmp(passWord,againPassword)==0)

//如果输入的两次密码均正确

{

strcpy(p1-userName,userName);

strcpy(p1-passWord,passWord);

strcpy(_userName,userName);

strcpy(_passWord,passWord);

p1-isVIP=0;

p1-money=0;

if(strcmp(userName,"root")==0strcmp(passWord,"root")==0)

p1-isAdministrator=1;

else

p1-isAdministrator=0;

toxy(32,16);

printf("正在注册....");

Sleep(500);

break;

//跳出循环

}

else

//如果输入的两次密码不同

{

toxy(32,16);

printf("正在注册....");

Sleep(500);

system("cls");

toxy(30,8);

printf("------------------------------");

toxy(30,9);

printf("|

|");

toxy(30,10);

printf("|两次密码不一致!是否继续注册|");

toxy(30,11);

printf("|

|");

toxy(30,12);

printf("|

1.是

2.否

|");

toxy(30,13);

printf("|

|");

toxy(30,14);

printf("------------------------------");

while(1)

{

c=getch();

if(c=='1')

{

system("cls");

break;

}

elseif(c=='2')

{

system("cls");

Default();

break;

}

}

}

}while(1);

save_User(p1);

//调用函数,将p1所指向的内容存储到文件中

system("cls");

toxy(32,10);

printf("注册成功!");

Sleep(500);

//暂停0.5秒

toxy(32,12);

printf("正在自动为您登陆....");

Sleep(500);

User_Menu();

//注册成功后进入主菜单

voidUser_Order()//点餐

charch='0';

chart='0';

intID;

intnumber;

do

{

while(1)

{

system("cls");

HideCursor(1);

intflag=0;

pTableT,Thead;

Thead=readTableFile();

T=Thead;

intj=11;

toxy(12,6);

printf("餐桌列表(按任意键继续)");

toxy(2,8);

printf("餐桌编号|可坐人数|已坐人数");

toxy(0,9);

printf("--------------------------------------");

while(T!=NULL)

{

toxy(6,j);

printf("%-10d%-10d%d",T-ID,T-count,T-People);

j++;

T=T-next;

}

toxy(38,12);

printf("请选择餐桌号:");

scanf("%d",ID);

toxy(40,14);

printf("请选择人数:");

scanf("%d",number);

T=Thead;

while(T!=NULL)

{

if(T-ID==ID)

{

if((T-count)-(T-People)=number)

{

toxy(38,16);

printf("占座成功!按任意键继续点餐");

flag=1;

break;

}

else

{

toxy(38,16);

printf("占座失败!该餐桌座位不够");

flag=0;

break;

}

}

T=T-next;

}

if(T==NULLflag==0)

{

toxy(38,16);

printf("该餐桌编号不存在,请重新输入");

Sleep(1000);

continue;

}

elseif(T!=NULLflag==0)

{

toxy(38,17);

printf("是否继续

1.是

2.否");

while(1)

{

ch=getch();

if(ch=='1'||ch=='2')

break;

}

if(ch=='1')

continue;

elseif(ch=='2')

break;

}

elseif(flag)

break;

}

if(ch=='2')

break;

getch();

do

{

system("cls");

toxy(32,6);

printf("点餐");

toxy(24,8);

printf("-----------------");

toxy(28,10);

printf("1)主

食");

toxy(28,12);

printf("2)副

食");

toxy(28,14);

printf("3)饮

品");

toxy(28,16);

printf("4)订

单");

toxy(28,18);

printf("5)返

回");

t=getch();

switch(t)

{

case'1':Order_StapleFood();break;

case'2':Order_nonStapleFood();break;

case'3':Order_DrinkBeverage();break;

case'4':Order_Form(ID,number);break;

case'5':break;

default:break;

}

if(t=='5')

break;

}while(1);

if(t=='5')

break;

}while(1);

voidOrder_StapleFood()//主食

chart;

do

{

system("cls");

pStapleFoodp,head=readStapleFoodFile();

pOrderp1;

p=head;

charfoodName[20];

inti=8;

toxy(10,4);

printf("主食菜单");

toxy(6,6);

printf("菜名\t\t\t价格");

toxy(0,7);

printf("-----------------------------------");

while(p!=NULL)

{

toxy(6,i);

printf("%-22s%.2f",p-name,p-price);

i++;

p=p-next;

}

toxy(40,8);

printf("请输入您要点的菜名:");

scanf("%s",foodName);

p=head;

while(p!=NULLstrcmp(p-name,foodName)!=0)

{

p=p-next;

}

if(p)

{

p1=(pOrder)malloc(Y);

strcpy(p1-name,foodName);

p1-price=p-price;

num++;

if(num==1)

{

orderHead=p1;

p2=p1;

}

else

{

p2-next=p1;

p2=p1;

}

p2-next=NULL;

toxy(40,10);

printf("点餐成功!是否继续?1.是

2.否");

while(1)

{

t=getch();

if(t=='1')

break;

elseif(t=='2')

break;

}

if(t=='2')

break;

}

else

{

toxy(36,10);

printf("没有找到这道菜,请检查您输入的菜名是否正确!");

Sleep(1500);

}

}while(1);

voidOrder_nonStapleFood()//副食

chart;

do

{

system("cls");

pNon_stapleFoodp,head=readNonStapleFoodFile();

pOrderp1;

p=head;

charfoodName[20];

inti=8;

toxy(10,4);

printf("副食菜单");

toxy(6,6);

printf("菜名\t\t\t价格");

toxy(0,7);

printf("-----------------------------------");

while(p!=NULL)

{

toxy(6,i);

printf("%-22s%.2f",p-name,p-price);

i++;

p=p-next;

}

toxy(40,8);

printf("请输入您要点的菜名:");

scanf("%s",foodName);

p=head;

while(p!=NULLstrcmp(p-name,foodName)!=0)

{

p=p-next;

}

if(p)

{

p1=(pOrder)malloc(Y);

strcpy(p1-name,foodName);

p1-price=p-price;

num++;

if(num==1)

{

orderHead=p1;

p2=p1;

}

else

{

p2-next=p1;

p2=p1;

}

p2-next=NULL;

toxy(36,10);

printf("点餐成功!是否继续?1.是

2.否");

while(1)

{

t=getch();

if(t=='1')

break;

elseif(t=='2')

break;

}

if(t=='2')

break;

}

else

{

toxy(36,10);

printf("没有找到这道菜,请检查您输入的菜名是否正确!");

Sleep(1500);

}

}while(1);

voidOrder_DrinkBeverage()//饮品

chart;

do

{

system("cls");

pDrinkBeveragep,head=readDrinkBeverageFile();

pOrderp1;

p=head;

charfoodName[20];

inti=8;

toxy(10,4);

printf("饮品菜单");

toxy(6,6);

printf("菜名\t\t\t价格");

toxy(0,7);

printf("-----------------------------------");

while(p!=NULL)

{

toxy(6,i);

printf("%-22s%.2f",p-name,p-price);

i++;

p=p-next;

}

toxy(40,8);

printf("请输入您要点的菜名:");

scanf("%s",foodName);

p=head;

while(p!=NULLstrcmp(p-name,foodName)!=0)

{

p=p-next;

}

if(p)

{

p1=(pOrder)malloc(Y);

strcpy(p1-name,foodName);

p1-price=p-price;

num++;

if(num==1)

{

orderHead=p1;

p2=p1;

}

else

{

p2-next=p1;

p2=p1;

}

p2-next=NULL;

toxy(36,10);

printf("点餐成功!是否继续?1.是

2.否");

while(1)

{

t=getch();

if(t=='1')

break;

elseif(t=='2')

break;

}

if(t=='2')

break;

}

else

{

toxy(36,10);

printf("没有找到这道菜,请检查您输入的菜名是否正确!");

Sleep(1500);

}

}while(1);

voidOrder_Form(intID,intnumber)//订单

do

{

system("cls");

inti=10;

chart;

floattotalPrice=0;

floatactualPayment=0;

pOrderp=orderHead;

pUserq,head;

pTableT,Thead;

q=head;

if(orderHead==NULL)

{

toxy(26,8);

printf("您还没有点任何东西,赶紧去点吧!(按任意键返回)");

getch();

break;

}

else

{

toxy(26,6);

printf("我的订单");

toxy(22,8);

printf("菜品名称\t\t价格");

toxy(20,9);

printf("***************************");

while(p!=NULL)

{

toxy(22,i);

printf("%-18s%.2f",p-name,p-price);

i++;

totalPrice+=p-price;

p=p-next;

}

head=readUserFile();

q=head;

toxy(20,i);

printf("***************************");

while(q!=NULLstrcmp(q-userName,_userName)!=0)

{

q=q-next;

}

if(q)

{

toxy(24,++i);

printf("总价:

%.2f",totalPrice);

if(q-isVIP)

actualPayment=totalPrice*0.85;

else

actualPayment=totalPrice;

toxy(24,++i);

printf("实付:

%.2f",actualPayment);

}

toxy(22,++i);

printf("1.确认支付

2.取消订单

3.返回");

while(1)

{

t=getch();

if(t=='1'||t=='2'||t=='3')

break;

}

if(t=='1')

{

Thead=readTableFile();

T=Thead;

while(T!=NULLT-ID!=ID)

{

T=T-next;

}

toxy(24,++i);

printf("正在支付....");

if(q-money=actualPayment)

{

q-money-=actualPayment;

T-People+=number;

Updata_User(head);

Updata_Table(Thead);

Sleep(1500);

system("cls");

toxy(24,10);

printf("支付成功!按任意键返回");

orderHead=NULL;

getch();

break;

}

else

{

Sleep(1500);

system("cls");

toxy(24,10);

printf("余额不足!按任意键返回");

getch();

break;

}

}

elseif(t=='2')

{

orderHead=NULL;

break;

}

elseif(t=='3')

break;

}

}while(1);

voidUser_List_Table()//餐桌列表

system("cls");

pTablep,head;

head=readTableFile();

p=head;

inti=11;

toxy(32,6);

printf("餐桌列表(按任意键继续)");

toxy(22,8);

printf("餐桌编号|可坐人数|已坐人数");

toxy(20,9);

printf("--------------------------------------");

while(p!=NULL)

{

toxy(26,i);

printf("%-10d%-10d%d",p-ID,p-count,p-People);

i++;

p=p-next;

}

getch();

voidApply_VIP_Menu()//办理会员

chart;//t用于选择

do

{

system("cls");

system("color75");

HideCursor(0);

pUserhead=readUserFile();//从文件中读取用户信息,返回一个表头地址

toxy(32,6);

printf("会员办理");

toxy(30,8);

printf("1)

充值");

toxy(30,10);

printf("2)

办理会员");

toxy(30,12);

printf("3)

返回");

t=getch();

switch(t)

{

case'1':Add_money(head);break;

case'2':Apply_VIP(head);break;

case'3':break;

default:break;

}

if(t=='3')//如果输入3,则跳出循环,该函数生命周期结束,回到上一级菜单

break;

}while(1);

voidAdd_money(pUserhead)//充值

floatmoney;//输入要充值的钱

pUserp;

p=head;//head为从上一级菜单传过来的参数,为用户信息链表的头结点

while(p!=NULLstrcmp(p-userName,_userName)!=0)//遍历链表,寻找当前登录账户的信息

{

p=p-next;

}

while(1)

{

system("cls");

system("color76");

toxy(32,6);

printf("南航餐饮充值中心");

if(p!=NULL)

{

if(p-isVIP==0)//如果不是会员

{

toxy(20,8);

printf("对不起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论