老师管理系统.docx
- 文档编号:8941227
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:15
- 大小:16.32KB
老师管理系统.docx
《老师管理系统.docx》由会员分享,可在线阅读,更多相关《老师管理系统.docx(15页珍藏版)》请在冰点文库上搜索。
老师管理系统
#include
#include
#include
#defineNULL0
#defineLENsizeof(structteacher)
structteacher
{
longintnum;
charname[20];
intage;
charsubject[128];
structteacher*next;
};
intTOTAL_NUM=0;
structteacher*head=NULL;
voidwelcome();
voidmainmenu();
voidrecord();
voidinsert(structteacher*stu);
voiddisplay(structteacher*stu);
voiddisplayAll();
voidquery();
voidquery_by_num();
voidquery_by_name();
voidfreeAll();
voiddel();
voidchange();
voiddevise(structteacher*p);
intmain()
{
charuserName[9];
charuserPWD[7];
inti;
welcome();
for(i=0;i<3;i++)
{
printf("\n管理员初始用户名和密码均为admin\n");
printf("请输入您的用户名:
");
scanf("%s",userName);
printf("\n请输入您的密?
");
scanf("%s",userPWD);
if((strcmp(userName,"admin")==0)&&(strcmp(userPWD,"admin")==0))
{
//用户名和密码正确,显示主菜单
mainmenu();
break;
}
else
{
if(i<2)
{
//用户名或密码错误,提示用户重新输入
printf("用户名或密码错误,请重新输入!
");
}
else
{
//连续3次输错用户名或密码,退出系统?
printf("您已连续3次将用户名或密码输错,系统将退?
");
}
}
}
return0;
}
//显示欢迎信息
voidwelcome()
{
printf("+---------------------------+\n");
printf("||\n");
printf("|欢迎使用教师信息管理系统|\n");
printf("||\n");
printf("+---------------------------+\n");
}
//系统主菜单
voidmainmenu()
{
intchoice;
choice=-1;
readData();
printf("\n温馨提示:
为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
{
printf("\n\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+[0]----退出系统|\n");
printf("\t\t\t+*?
?
?
*?
*?
*?
*?
*?
*?
*?
*?
|\n");
printf("\t\t\t--------------------------------\n");
printf("请输入您的选择?
);
scanf("%d",&choice);
switch(choice)
{
case0:
writeData();
freeAll();
exit(0);
case1:
record();
break;
case2:
displayAll();
break;
case3:
query();
break;
case4:
del();
break;
case5:
change();
break;
default:
printf("\n无效选项!
");
break;
}
}while(choice!
=0);
}
//录入教师信息
voidrecord()
{
structteacher*p0;
p0=(structteacher*)malloc(LEN);
printf("请输入教师的编号:
");
scanf("%ld",&p0->num);
printf("请输入教师的姓名:
");
scanf("%s",p0->name);
printf("请输入教师的年龄:
");
scanf("%d",&p0->age);
printf("请输入教师的所教科目:
");
scanf("%s",p0->subject);
insert(p0);
printf("该教师的信息\n");
printf("-------------------------------------------------------------------------------");
printf("编号\t姓名\t年龄\t科目\n");
display(p0);
}
voidinsert(structteacher*stu)
{
structteacher*p0,*p1,*p2;
p1=head;
p0=stu;
if(head==NULL)
{
head=p0;
p0->next=NULL;
}
else
{
while((p0->num>p1->num)&&(p1->next!
=NULL))
{
p2=p1;
p1=p1->next;
}
if(p0->num<=p1->num)
{
if(head==p1)
head=p0;
else
p2->next=p0;
p0->next=p1;
}
else
{
p1->next=p0;
p0->next=NULL;
}
}
TOTAL_NUM++;
}
voiddisplay(structteacher*p)
{
printf("%d\t%s\t%d\t%s\n",p->num,p->name,p->age,p->subject);
}
//浏览教师信息
voiddisplayAll()
{
structteacher*p;
printf("教师总数:
%d\n",TOTAL_NUM);
p=head;
if(head!
=NULL)
{
printf("\n编号\t姓名\t年龄\t科目\n");
printf("-------------------------------------------------------------------------------");
do
{
display(p);
p=p->next;
}while(p!
=NULL);
}
printf("\n");
}
//查询教师信息
voidquery()
{
intchoice;
choice=-1;
do
{
printf("\n");
printf("+--------------------+\n");
printf("|按编号查请按1|\n");
printf("|按姓名查请按2|\n");
printf("|取消请按0|\n");
printf("+--------------------+\n");
printf("请输入您的选择:
");
scanf("%d",&choice);
switch(choice)
{
case0:
return;
case1:
query_by_num();
break;
case2:
query_by_name();
break;
default:
printf("\n无效选项!
");
break;
}
}while(choice!
=0);
}
//按编号查询教师信息
voidquery_by_num()
{
intnum;
structteacher*p1;
printf("请输入教师的编号:
");
scanf("%ld",&num);
if(head==NULL)
{
printf("无教师记录!
\n");
return;
}
p1=head;
while(num!
=p1->num&&p1->next!
=NULL)
p1=p1->next;
if(num==p1->num)
{
printf("\n编号\t姓名\t年龄\t科目\n");
printf("-------------------------------------------------------------------------------");
display(p1);
}
else
printf("没有该教师记录,请核对!
");
}
//按姓名查询教师信息
voidquery_by_name()
{
charname[20];
structteacher*p1;
printf("请输入教师的姓名:
");
scanf("%s",name);
if(head==NULL)
{
printf("无教师记录!
\n");
return;
}
p1=head;
while(strcmp(name,p1->name)&&p1->next!
=NULL)
p1=p1->next;
if(!
strcmp(name,p1->name))
{
printf("\n编号\t姓名\t年龄\t科目\n");
printf("-------------------------------------------------------------------------------");
display(p1);
}
else
printf("没有该教师记录,请核对!
");
}
voidfreeAll()
{
structteacher*p1,*p2;
p1=p2=head;
while(p1)
{
p2=p1->next;
free(p1);
p1=p2;
}
}
//删除教师信息
voiddel()
{
structteacher*p1,*p2;
longintnum;
if(head==NULL)
{
printf("无教师记录!
\n");
return;
}
printf("请输入您要删除的教师的编号:
");
scanf("%ld",&num);
p1=head;
while(num!
=p1->num&&p1->next!
=NULL)
{
p2=p1;
p1=p1->next;
}
if(num==p1->num)
{
if(p1==head)
head=p1->next;
else
p2->next=p1->next;
free(p1);
TOTAL_NUM--;
}
else
printf("没有该教师记录,请核对!
\n");
}
//修改教师信息
voidchange()
{
structteacher*p1,*p2;
longintnum;
if(head==NULL)
{
printf("无教师记录!
\n");
return;
}
printf("请输入您要删除的教师的编号:
");
scanf("%ld",&num);
p1=head;
while(num!
=p1->num&&p1->next!
=NULL)
{
p2=p1;
p1=p1->next;
}
if(num==p1->num)
devise(p1);
else
printf("没有该教师记录,请核对!
\n");
}
voiddevise(structteacher*p)
{
intchoice;
choice=-1;
do
{
printf("请选择您要修改的教师的信息内容:
\n");
printf("+----------------------+\n");
printf("|姓名请按1|\n");
printf("|年龄请按2|\n");
printf("|科目请按3|\n");
printf("|取消请按0|\n");
printf("+----------------------+\n");
printf("请输入您的选择:
");
scanf("%d",&choice);
switch(choice)
{
case0:
return;
case1:
printf("请输入新姓名:
");
scanf("%s",p->name);
break;
case2:
printf("请输入新年龄:
");
scanf("%d",&p->age);
break;
case3:
printf("请输入新科目:
");
scanf("%s",p->subject);
break;
default:
printf("\n无效选项!
");
break;
}
}while(choice!
=0);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 老师 管理 系统