宿舍管理系统报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、实验目的 (2)
二、实验内容 (2)
三、实验环境 (2)
四、需求分析 (2)
五、概要设计 (3)
1、方案设计 (3)
2、数据结构说明 (3)
3、模块功能说明 (4)
六、详细设计及运行结果 (5)
1、登陆界面 (5)
2、主界面 (5)
3、录入模块 (6)
4、录入界面 (7)
5、打印学生信息界面 (7)
6、更新学生信息界面 (8)
7、查询宿舍信息界面 (8)
8、统计宿舍信息界面 (9)
9、学生宿舍排序 (9)
七、源程序 (10)
八、心得体会 (28)
学生宿舍管理系统
一、实验目的
1.熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。、;
2.以线性表的各种操作(建立、插入、删除、遍历等)的实现为重点;
3.掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;
4.通过实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针
类型的应用和链表的建立等各种基本操作)。
二、实验内容
我组设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。包括学生的姓名、学号、性别、专业、班级等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。
三、实验环境
台式计算机每人一台;
软件:Visual C++6.0;
四、需求分析
该程序是由C语言编写的一个宿舍管理查询软件,本程序在Microsoft Visual C++ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以姓名、学号、宿舍号为关键字查询学生信息。统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计,并且输出信息按学号大小从小到大输出。
五、概要设计
1、方案设计
2、数据结构说明
程序中数据主要是学生信息和宿舍信息,具体属于类型如下: struct stu
{
char name[20];
int num;
char sex;
int age;
int grade;
int nclass;
char zhuanye[30];
};
struct dom
{
int bui_num;
int floor_num;
int room_num;
int bed_num;
struct stu st;
}s[MAX],p;
3、模块功能说明
第一密码模块:调用cipher(),进行管理者的注册与登录操作。
第二录入模块:调用input_message(),对住宿学生信息进行录入。
第三添加模块:调用append_message(),对新来学生信息进行添加录入。
第四修改模块:调用revise_message(),对需修改学生的信息进行修改。
第五删除模块:调用delete_message(),对某一学生信息进行删除操作。
第六查询模块:调用find_message(),分别以姓名、学号、宿舍号对学生信息进行查询。第七统计模块:调用census_message(),分别以学号、宿舍号、性别、班级、专业方式对学生信息进行统计,并按学号由小到大输出。
六、详细设计及运行结果
1、登陆界面
2、主界面
5、打印学生信息界面
7、查询宿舍信息界面
9、学生宿舍排序
七、源程序
#include
#include "string.h"
#define MAX 10
#define PRINT1 printf("---------------------------------------------------------------------------\n")
#define PRINT2 printf("学号--学生姓名--性别--年龄--年级--班级--专业--楼号--楼层号--房间号--床号\n\n")
int sum;
struct stu
{
char name[20];
int num;
char sex;
int age;
int grade;
int nclass;
char zhuanye[30];
};
struct dom
{
int bui_num;
int floor_num;
int room_num;
int bed_num;
struct stu st;
}s[MAX],p;
/*保存信息*/
save_message()
{ FILE *fp;
int i;
if((fp=fopen("dom.txt","wt"))==NULL)
{
printf("读文件错误!\n");
return 0;
}
for(i=0;i if(fwrite(&s[i],sizeof(struct dom),1,fp)!=1) printf("写文件错误!\n"); fclose(fp); } /*输入模块*/ input_message() { int i=0; //clrscr(); printf("\n\n 录入学生信息(最多%d个)\n",MAX); printf(" ----------------------------\n"); do { printf("\n 第%d个学生\n\n",i+1); printf("\n 学号: "); scanf("%d",&s[i].st.num);