宿舍管理软件c语言版Word格式文档下载.docx
- 文档编号:4011462
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:26
- 大小:18.62KB
宿舍管理软件c语言版Word格式文档下载.docx
《宿舍管理软件c语言版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《宿舍管理软件c语言版Word格式文档下载.docx(26页珍藏版)》请在冰点文库上搜索。
voidquit();
/*退出系统*/
voidbound();
/*画一条直线*/
intcheck();
/*检查是否为第一次使用*/
typedefstructstudent
{
charstuname[31];
charstunum[11];
charnumber[5];
structstudent*next;
}STU;
FILE*fp;
/*定义数据文件为全局变量*/
staticcharchoice;
/*定义操作代码为全局静态变量*/
voidmenu()
do
{
system("
cls"
);
/*printf("
\t**********************************\n"
*/
printf("
\n\t\t\t宿舍管理系统\n"
bound();
\n\t\t1.显示所有学生信息\n"
\t\t2.添加学生信息\n"
\t\t3.查询学生信息\n"
\t\t4.修改学生信息\n"
\t\t5.删除学生信息\n"
\t\t0.退出系统\n"
\t\t请输入操作代码(0~5):
\t"
fflush(stdin);
choice=getchar();
}while(choice<
'
0'
||choice>
5'
/*while(choice<
)
{printf("
\t\t输入的操作代码无效,请重新输入:
"
choice=getchar();
}*/
}
voiddisplay()/*显示所有学生的信息*/
STU*sturecord;
sturecord=(STU*)malloc(sizeof(STU));
if(check()==0)
return;
sort_stunum();
fp=fopen("
record.dat"
"
r"
if(fp==NULL)
文件读取失败!
\n"
}
\t%-10s\t%-10s\t%-5s\n"
姓名"
学号"
宿舍号"
while(fread(sturecord,sizeof(STU),1,fp)!
=0)
{
printf("
\t%-10s"
sturecord->
stuname);
stunum);
\t%-5s\n"
number);
fclose(fp);
\t请按任意键返回主菜单:
getch();
menu();
voidaddrecord()/*增加学生信息*/
charch;
\n\t请输入学生的姓名:
scanf("
%s"
\t请输入学生的学号:
if(find_stunum(sturecord->
stunum)==1)
{addrecord();
\t请输入学生的宿舍号:
\t该学生信息如下:
stuname,sturecord->
stunum,sturecord->
\t确认添加该信息吗?
(Y/N)\t"
ch=getchar();
if(ch=='
y'
||ch=='
Y'
{fp=fopen("
a"
if(fp!
=NULL)
{
fwrite(sturecord,sizeof(STU),1,fp);
printf("
\t学生信息已增加!
free(sturecord);
}
else
添加信息失败,请按任意键退出!
getch();
exit
(1);
fclose(fp);
else
menu();
bound();
\t输入y/Y继续增加学生信息,否则按任意键返回主菜单:
fflush(stdin);
ch=getchar();
if(ch=='
addrecord();
menu();
return;
voidsearchmenu()/*查询菜单*/
\t1.按姓名查询\n\n"
);
\t2.按学号查询\n\n"
\t3.按宿舍号查询\n\n"
\t4.返回菜单\n"
voidsearch()/*查询系统*/
charstr[31];
searchmenu();
\t请输入查询类型:
while(ch<
1'
||ch>
4'
\t输入的操作代码无效,请重新输入:
switch(ch)
{case'
:
\t请输入要查找学生的姓名:
scanf("
str);
if(search_stuname(str)==1)
{
bound();
printf("
\t请按任意键返回"
getch();
break;
}
printf("
\t该学生信息不存在,是否继续查找?
(Y/N)"
fflush(stdin);
ch=getchar();
if(ch=='
search();
break;
case'
2'
\t请输入要查找学生的学号:
if(search_stunum(str)==1)
{bound();
fflush(stdin);
3'
\t请输入要查找的宿舍号:
if(search_number(str)==1)
\n\t该宿舍号不存在,是否继续查找?
intsearch_stuname(charstr[])/*按姓名查询*/
{inti=0;
if(strcmp(str,sturecord->
stuname)==0)
i++;
if(i>
0)
return1;
else
return0;
intsearch_stunum(charstr[])/*按学号查询*/
stunum)==0)
fclose(fp);
return1;
return0;
intsearch_number(charstr[])/*按宿舍号查询*/
\t该宿舍的学生信息为:
number)==0)
{printf("
voidsort_stunum()/*按学号对所有学生信息排序*/
intcount;
STU*head,*p,*q,*r;
head=(STU*)malloc(sizeof(STU));
q=(STU*)malloc(sizeof(STU));
head->
next=NULL;
count=fread(q,sizeof(STU),1,fp);
while(count!
{
r=head->
next;
p=head;
while(r!
=NULL&
&
strcmp(q->
stunum,r->
{
p=r;
r=r->
}
p->
next=q;
q->
next=r;
q=(STU*)malloc(sizeof(STU));
count=fread(q,sizeof(STU),1,fp);
p=head->
w"
while(p!
fwrite(p,sizeof(STU),1,fp);
p=p->
return;
intfind_stunum(charstr[])/*增加学生信息时检查学号是否存在*/
{STU*p;
p=(STU*)malloc(sizeof(STU));
a+"
while(fread(p,sizeof(STU),1,fp)!
{if(strcmp(str,p->
\t该学生信息已存在,按任意键返回重新输入!
fflush(stdin);
intfind1_stunum(charstr[],STU*q,STU*p)/*修改学生信息时检查学号是否存在*/
{
while(q!
{if(q==p)
q=q->
continue;
if(strcmp(str,q->
\t该学号已存在,请重新输入!
q=q->
}
voidmodify()/*修改系统*/
\n\t1.按姓名修改学生信息\n"
\n\t2.按学号修改学生信息\n"
\n\t3.返回主菜单\n"
\n\t请选择(1~3):
{modify_stuname();
{modify_stunum();
voidmodify_stuname()/*按姓名修改学生信息*/
{charch;
STU*head,*p,*q;
q=head;
\t请输入学生姓名:
while(search_stuname(str)==0)
\t输入的学生姓名不存在,是否返回主菜单?
(y/n)"
printf("
\t请重新输入姓名:
scanf("
}
{q->
next=p;
q=p;
p=(STU*)malloc(sizeof(STU));
q->
q=head->
do
{
\t请重新输入该学生的学号:
p->
}while(find1_stunum(p->
stunum,q,p)==1);
\t请重新输入该学生的姓名:
\t请重新输入该学生的宿舍号:
scanf("
\t学生信息已修改,确认保存吗?
(Y/N):
{p=head->
fp=fopen("
while(p!
{
fwrite(p,sizeof(STU),1,fp);
p=p->
voidmodify_stunum()/*按学号修改学生信息*/
\t请输入学生学号:
while(search_stunum(str)==0)
\t输入的学生学号不存在,是否返回主菜单?
\t请重新输入学号:
ch=getchar(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宿舍 管理软件 语言版
![提示](https://static.bingdoc.com/images/bang_tan.gif)