数据结构——宿舍管理查询系统 实验报告.docVIP

  • 103
  • 0
  • 约8.21千字
  • 约 12页
  • 2017-06-07 发布于浙江
  • 举报

数据结构——宿舍管理查询系统 实验报告.doc

数据结构——宿舍管理查询系统 实验报告

洛阳理工学院实验报告 系别 计算机系 班级 学号 姓名 课程名称 数据结构 实验日期 实验名称 宿舍管理查询 掌握数据结构两种基本查找和排序解决应用问题。 计算机一台,Visual C++6.0 实验内容: 问题描述 为宿舍管理人员设计一个宿舍管理查询系统, 程序采用交互工作方式,完成下列功能: (1)建立合适的数据结构作为查找表并输入数据; 数据分别按关键字姓名、学号、房号进行排序(所学排序算法任选一种效率较高的算法); (2)设计查询菜单,按指定关键字姓名、学号、房号进行查询并输出结果,要求查询采用效率较高的算法实现; (3)可以连续查询; 数据结构类型定义 typedef struct { char S_name[31]; char S_number[16]; int D_number; }Stud; typedef struct { Stud student[M]; int Total; }Stu,*St; 模块划分 (1)添加学生信息:void Add(St S) (2)修改学生信息:void Alter(St S) (3)删除学生信息:void Delete(St S) (4)显示所有学生信息:void Display_All(St S) (5)按照寝室号从小到大排序:void Sort_D_number(St S) (6)按照学号从小到大排序:void Sort_S_number(St S) (7)以姓名为关键字查找:void Query_S_name(St S) (8)以学号为关键字进行查找:oid Query_S_number(St S) (9)以寝室号为关键字进行查找:void Query_D_number(St S) (10)主函数:void main() 详细设计 #includestdio.h #includestring.h #includestdlib.h #define M 100 int change=0; //用来判断是否已保存操作 typedef struct { char S_name[31]; char S_number[16]; int D_number; }Stud; typedef struct { Stud student[M]; int Total; }Stu,*St; //判断学号是否与表中所存学号重复 void S_number_Judge(St S,int t) { int i; 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); printf(请输入学生的学号:); scanf(%s,(S-student[t]).S_number); getchar(); i=1; } } } } //添加学生信息函数 void Add(St S) { printf(请输入学生的姓名:); scanf(%s,(S-student[++(S-Total)]).S_name); getchar();//获取换行符 printf(请输入学生的学号:); scanf(%s,(S-student[S-Total]).S_number); getchar(); S_number_Judge(S,S-Total);//判断输入的学号是否重复 printf(请输入学生的房号:); scanf(%d,(S-student[S-Total]).D_number); getchar(); change=1; printf(信息添加成功!\n\n); } //修改学生信息函数 void Alter(St S) { int i; int flag=0; //用来判断表中是否存在所要修改的学生的信息 char name[20]; printf(请输入你要修改学生的姓名:); scanf(%s,name); getchar(); for(i=1;i=S-Total;i++) if(strcmp((S-student[i]).S_name,name)==0) flag=i; if(!flag) printf(你所要修改的学生信息在表中不存在!\n); else { printf(请输入新信息:\n); prin

文档评论(0)

1亿VIP精品文档

相关文档