数据结构宿舍管理查询系统实验报告Word下载.docx
- 文档编号:14144050
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:17
- 大小:170.21KB
数据结构宿舍管理查询系统实验报告Word下载.docx
《数据结构宿舍管理查询系统实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构宿舍管理查询系统实验报告Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
(1)建立合适的数据结构作为查找表并输入数据;
数据分别按关键字姓名、学号、房号进行排序(所学排序算法任选一种效率较高的算法);
(2)设计查询菜单,按指定关键字姓名、学号、房号进行查询并输出结果,要求查询采用效率较高的算法实现;
(3)可以连续查询;
2.数据结构类型定义
typedefstruct
{
charS_name[31];
charS_number[16];
intD_number;
}Stud;
Studstudent[M];
intTotal;
}Stu,*St;
3.模块划分
(1)添加学生信息:
voidAdd(StS)
(2)修改学生信息:
voidAlter(StS)
(3)删除学生信息:
voidDelete(StS)
(4)显示所有学生信息:
voidDisplay_All(StS)
(5)按照寝室号从小到大排序:
voidSort_D_number(StS)
(6)按照学号从小到大排序:
voidSort_S_number(StS)
(7)以姓名为关键字查找:
voidQuery_S_name(StS)
(8)以学号为关键字进行查找:
oidQuery_S_number(StS)
(9)以寝室号为关键字进行查找:
voidQuery_D_number(StS)
(10)主函数:
voidmain()
4.详细设计
#include<
stdio.h>
string.h>
stdlib.h>
#defineM100
intchange=0;
//用来判断是否已保存操作
//判断学号是否与表中所存学号重复
voidS_number_Judge(StS,intt)
inti;
for(i=1;
i<
=(S->
Total)-1;
i++)
{
if(i!
=t)
{
while((strcmp((S->
student[i]).S_number,
(S->
student[t]).S_number)==0)&
&
(i!
=t))
printf("
该学号已存在,请重新输入学号!
\n"
);
请输入学生的学号:
"
scanf("
%s"
(S->
student[t]).S_number);
getchar();
i=1;
}
}
}
//添加学生信息函数
{
printf("
请输入学生的姓名:
student[++(S->
Total)]).S_name);
getchar();
//获取换行符
student[S->
Total]).S_number);
S_number_Judge(S,S->
Total);
//判断输入的学号是否重复
请输入学生的房号:
%d"
&
(S->
Total]).D_number);
getchar();
change=1;
信息添加成功!
\n\n"
//修改学生信息函数
intflag=0;
//用来判断表中是否存在所要修改的学生的信息
charname[20];
请输入你要修改学生的姓名:
name);
=S->
Total;
if(strcmp((S->
student[i]).S_name,name)==0)
flag=i;
if(!
flag)
你所要修改的学生信息在表中不存在!
else
printf("
请输入新信息:
scanf("
student[flag]).S_name);
getchar();
student[flag]).S_number);
S_number_Judge(S,flag);
student[flag]).D_number);
change=1;
信息修改成功!
putchar('
\n'
//删除学生信息
inti,j;
//用来判断表中是否存在所要删除的学生的信息
请输入你要删除学生的姓名:
if(strcmp((S->
你所要删除的学生在表中不存在!
for(i=flag;
S->
j=i+1;
strcpy((S->
student[i]).S_name,(S->
student[j]).S_name);
student[i]).S_number,(S->
student[j]).S_number);
student[i]).D_number=(S->
student[j]).D_number;
(S->
Total)--;
信息删除成功!
//显示所有学生信息函数
全体学生信息如下:
学生姓名学生学号学生房号\n"
%-20s%-15s%-5d\n"
student[i]).S_name,
student[i]).D_number);
\n\n'
voidSort_D_number(StS)//按照房号从小到大排序(冒泡法)
inti,j,t;
charname[30];
charnumber[15];
for(j=i;
j<
j++)
if((S->
student[i]).D_number>
student[j]).D_number)
{
strcpy(name,(S->
student[i]).S_name);
strcpy(number,(S->
student[i]).S_number);
t=(S->
student[i]).D_number;
strcpy((S->
(S->
strcpy((S->
student[j]).S_name,name);
student[j]).S_number,number);
student[j]).D_number=t;
}
voidSort_S_number(StS)//按照学号从小到大排序(冒泡法)
if(strcmp((S->
student[j]).S_number)>
0)
//以姓名为关键字进行查询(顺序查找)
inti,j=0;
charname[31];
请输入要查找的学生的姓名(30个字符以内):
要查找的学生信息如下:
学生姓名学生学号宿舍号\n"
if(strcmp(name,(S->
student[i]).S_name)==0)
student[i]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 宿舍 管理 查询 系统 实验 报告