宿舍管理查询软件 课程设计报告
课 程 设 计
课程设计名称: 宿舍管理查询软件
专 业 班 级 : 计科0604
学 生 姓 名 : 胡方俊
学 号 :4140414
指 导 教 师 : 白浩
课程设计时间: 6月23日
1 需求分析
为一个宿舍设计管理查询软件,每当进入个新同学,可以输入他的姓名,学号以及电话号码,并且可以把他们的所有信息按学号从小到大排列,能按照姓名查找并显示其所有信息,也可以按照姓名删除某个学生的信息。
2 概要设计
2.1 使用C语言中的结构体链表来存储数据
结构体链表可以方便存储成组的相关数据。结构体链表可以方便结构体的添加、删除、查找。另外结构体链表可以让一个结构体的相关数据集体存储,不仅十分方便我们对数据的操作,而且让程序的的思路特别清晰,让程序更加清晰易懂。
通过对结构以链表的操作来控制数据。在添加数据时,增加链表的长度,在删除时先通过查找找到此数据的前驱和后续,来对数据进行删除。
学会用文件的拷贝来实现冒泡法排序,这也是一种不同于常规的新方法。
2.2 用户界面设计
窗口包括: 1:添加所有学生的信息 2:显示学生所有信息
3:按学号进行排序 4:插入学生所有信
5:按姓名删除学生信息 6:查找学生所有的信息
0:退出学生信息管理系统
2.3 运行说明
此程序在使用时,应该先进性多个学生信息的添加,之后才能进行相关的操作,否则将不会显示学生的信息,并提示重新操作。
3 运行环境
3.1 硬件环境
一般的PC
3.2软件环境
(1)Windows Vista//XP
(2)
4 开发工具和编程语言
4.1 开发工具
Microsoft Visual C++ 6.0
4.2 编程语言
Visual C
5 详细设计
5.2 在宿舍管理系统中显示所有学生的信息
用printf来显示学生的信息,并且用for循环来实现所有的学生信息都能显示。
5.3 在宿舍管理系统中按学号进行排序
利用拷贝函数实现冒泡法排序,学号与学号间进行大小的相互比较,大的自动下沉,这样每进行一次比较,大的都会沉到下面,最终是由小到大的排列。
5.4 在宿舍管理系统中按姓名进行删除信息
首先用指针找到此学生的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。
程序源代码
#include /*引用库函数*/
#include
#include
#include
typedef struct /*定义结构体数组*/
{
char num[10]; /*学号*/
char name[20]; /*姓名*/
long tel; /*电话*/
}Student;
Student stu[80]; /*结构体数组变量*/
int menu_select() /*菜单函数*/
{
char c;
do{
system("cls"); /*运行前清屏*/
printf("****************************\n");
printf("*****欢迎进入宿舍管理系统****\n ");
printf("****1:添加所有学生的信息*****\n");
printf("****2:显示学生所有信息*******\n");
printf("****3:按学号进行排序*********\n");
printf("****4:插入学生所有信息*******\n");
printf("****5:按姓名删除学生信息*****\n");
printf("****6:查找学生所有的信息*****\n");
printf("****0:退出学生信息管理系统***\n");
printf("****************************\n");
printf("请选择功能选项:");
c=getchar(); /*读入选择*/
}while(c'9');
return(c-'0'); /*返回选择*/
}
int Input(Student stud[],int n) /*输入若干条记录*/
{int i=0;
char sign,x[10]; /*x[10]为清除多余的数据所用*/
while(sign!='n