宿舍管理查询软件 C语言 中文摘要,宿舍管理查询软件 课程设计报告.doc

宿舍管理查询软件 课程设计报告

课 程 设 计

课程设计名称: 宿舍管理查询软件

专 业 班 级 : 计科0604

学 生 姓 名 : 胡方俊

学 号 :20064140414

指 导 教 师 : 白浩

课程设计时间: 2008年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/2003/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

摘 要:本系统是为方便宿舍管理人员实现宿舍管理查询而开发的,具有信息录入、显示、查询、排序、插入和删除功能,能实现信息修改和通过别的途径导入大量数据,但不能实现信息存盘,使用简单方便,点击“宿舍管理查询系统.exe”即可运行。(使用详解见“说明.txt”) 宿舍管理查询软件 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式 B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询 3) 打印任一查询结果(可以连续操作) 根据上述要求,我们开始考虑系统应具备的功能: (1)要实现交互工作方式,各项操作结束后均应返回主菜单; (2)系统本无任何信息数据,要建立数据文件,需开发一个信息录入功能,即首先创建一个学员线性表,同时我们可以将数据暂时保存在内存中,所以我们未开发信息存盘功能; (3)信息录入后都保存在内存中,用户看不到,需要设计一个信息显示功能,信息的显示应该便于查阅,所以需具备按各种关键字显示的功能; (4)本系统按关键字(姓名、学号、房号)进行冒泡排序,采用二分查找方式分别实现按关键字(姓名、学号、房号)查询功能; (5)由于有些同学因为不同原因而离校,所以设计了删除功能; (6)由于有新同学入校,所以设计了插入功能; (7)当用户操作完毕需要退出时,我们提供了退出选项,便于使用者退出交互式工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值