c语言编程题目:写一个程序模拟学生排队做饭。

代码:#include"stdio.h "

#包含" stdlib.h "

#包含“conio.h”

#包含" string.h "

#包含“io.h”

#定义ESC 27

#定义输入13

#定义Y 89

#定义y 121

#定义N 78

#定义编号110

void vmenu 1();

char choose();

void password();

char * getps();

void mimam();

void build();

void save();

void buy();

void open 1();

void modify();

void modify m();

void XnumM();

void XclassM();

void XnameM();

void add();

void xuehaoA();

void xing minga();

void query();

void xuehaoQ();

void xingmingQ()。

void delete 1();

void Xue haod();

void xing mingd();

void sort();

void sortX();

void sortN();

void sortA();

void all();

void help();

void lock();

void exit 1();

结构记录

{

char cn number[15];

char cclass[15];

char cname[15];

char cmoney[10];

char cs pend[10];

结构记录* next

};

结构sot

{

char cc number[15];

struct sot * pnext

};

结构地址

{

夏尔* ADS;

结构地址* anext

};

struct sot * chead = NULL

struct record *head=NULL,*ppointer=NULL,* temp

结构记录* modf

结构地址* ahead = NULL

FILE * fp

int Fflag = 0;

int counts = 0;

int loop = 0;

void main()

{

char菜单;

password();

while(loop==0)

{

系统(“CLS”);

vmenu 1();

menu = choose();

开关(菜单)

{

案例“1”:build();打破;

案例“2”:count++;

if(count==1)

{

buy();

打破;

}

其他

{

chead = NULL

buy();

打破;

}

案例“3”:open 1();打破;

案例“4”:modify();k = 0;打破;

案例“6”:查询();打破;

案例“7”:delete 1();打破;

case“9”:all();打破;

事例“b”:help();打破;

case“c”:lock();打破;

案例“d”:{ loop = 1;exit 1();打破;}

默认值:

Printf (" -请在菜单上输入序列号")

Printf (" -按任意键重新开始选择-\ n ");

fflush(stdin);

a = getch();

}

}

}

作废密码()

{

字符密码[15];

char * password 1;

char * password2

char p 1[15];

char p2[15];

char a;

int I;

int count = 0;

if(access("c:\\mima.txt ",00)!=0)

{

while(1)

{

系统(“CLS”);

for(I = 0;我& lt5;i++)

printf(" \ n ");

printf(" \ t \ t欢迎使用学生餐系统!\ n \ n ");

printf(" \ n ");

Printf ("\ n -请创建管理员密码:-。

password 1 = getps();

for(I = 0;我& lt15;i++)

p 1[I]= *(password 1++);

printf(" \ n ");

Printf ("\ n -请再次输入密码:-。

password 2 = getps();

for(I = 0;我& lt15;i++)

p2[I]= *(password 2++);

如果(!strcmp(p1,p2))

{

if((fp=fopen("c:\\mima.txt "," w"))==NULL)

{

Printf("错误!\ n ");

退出(0);

}

其他

{

fprintf(fp," %s ",p 1);

printf(" \ n密码已创建!\ n ");

fclose(FP);

system(" cmd . exe/c attrib c:\ \ mima . txt+h ");

打破;

}

}

其他

{

Printf("两次输入不一致,请重新输入密码:\ n ");

}

}

}

其他

{

while(1)

{

count++;

for(I = 0;我& lt5;i++)

printf(" \ n ");

Printf (" -请输入管理员密码:-。

password 1 = getps();

for(I = 0;我& lt15;i++)

p 1[I]= *(password 1++);

if((fp=fopen("c:\\mima.txt "," r ")= = NULL)

{

Printf("错误!\ n ");

退出(0);

}

其他

{

fscanf(fp,“%s”,密码);

fclose(FP);

如果(!strcmp(p1,密码))

打破;

其他

printf(" \ n密码错误!\ n ");

}

if(count & lt;=9)

{

printf(" \ n您还有%d次机会。。。。。。\n”,10-count);

Printf ("\ n \ n \ n -请按ESC以外的任意键重新输入密码!-\ n ");

a = getch();

if(a==ESC)

退出(0);

}

if(count==10)

{

printf(" \ n \ n您无权使用此系统!\ n ");

Printf("按任意键退出。。。。。。\ n ");

fflush(stdin);

a = getch();

退出(0);

}

}

}

printf(" \ n \ n \ n您想修改密码吗?\ n ");

printf(" \ t按y或y进行更改,其余键进入系统。\ n ");

fflush(stdin);

a = getchar();

if(a==Y||a==y)

{

mimam();

}

系统(“CLS”);

for(I = 0;我& lt5;i++)

printf(" \ n ");

printf(" \ t \ t欢迎使用学生餐系统!\ n \ n ");

printf(" ");

printf(" \ t \ t按任意键进入系统。。。。。。\ n \ n ");

a = getch();

}

char *getps()

{

char p[15];

密码= p;

while(1)

{

fflush(stdin);

* password = getch();

if(*password==ENTER)

{

打破;

}

putchar(' * ');

password++;

}

* password = ' \ 0

密码= p;

返回(密码);

}