任务6 学生宿舍信息管理系统

系列文章

任务6 学生宿舍信息管理系统

已知宿舍的信息包括:宿舍楼号,宿舍号,床位号,对应床位号的学生学号,楼长姓名等。设计程序能实现以下功能:
(1)宿舍信息录入:可随时增加宿舍信息到数据文件中
(2)宿舍信息浏览:宿舍的信息输出到屏幕
(3)查询:按学号查询学生所住宿舍楼号、宿舍号等信息,按宿舍楼号查询出该楼所有空床位的信息
(4)修改:修改指定宿舍的信息
(5)删除:删除指定宿舍的信息
(6)统计:计算指定宿舍楼的宿舍床位的空床数
(7)系统以菜单方式工作


文章目录

  • 系列文章
  • 一、实践目的与要求
    • 1、目的
    • 2、要求
  • 二、课题任务
  • 三、总体设计
    • 1.存储结构及数据类型定义
    • 2.程序结构
    • 3.所实现的功能函数
    • 4、程序流程图
  • 四、小组成员及分工
  • 五、 测试
    • 宿舍信息录入
    • 宿舍信息浏览
    • 查询学生所住宿舍楼号、宿舍号等信息
    • 查询指定宿舍楼空床位
    • 修改宿舍信息
    • 删除宿舍信息
    • 统计指定宿舍楼的宿舍床位的空床数
    • 退出系统
  • 六、源代码获取


一、实践目的与要求

1、目的

通过此次实践环节主要达到以下目的:
(1)进一步理解和运用结构化程序设计的思想和方法,学会根据具体问题选择合理的计算机存储结构实现数据的存储,构造较有效率的算法;
(2)学会算法描述的方法,并编制具有结构清晰、合理和易读性的小型实用程序;
(3)并会设计测试方案,完成程序的测试,能撰写出该程序的技术报告,为文档整理工作打下一个初步的基础;
(4)培养小组成员间互相学习,取长补短,协同工作的能力。

2、要求

(1)模块化程序设计,锯齿型书写格式,代码要有足够的注释;
(2)根据课题中规定的要求实现既定目标;
(3)撰写格式排版规范、结构完整的技术文档。

二、课题任务

(题目、内容及主要功能描述)

学生宿舍信息管理系统
已知宿舍的信息包括:宿舍楼号,宿舍号,床位号,对应床位号的学生学号,楼长姓名等。设计程序能实现以下功能:
(1)宿舍信息录入:可随时增加宿舍信息到数据文件中
(2)宿舍信息浏览:宿舍的信息输出到屏幕
(3)查询:按学号查询学生所住宿舍楼号、宿舍号等信息,按宿舍楼号查询出该楼所有空床位的信息
(4)修改:修改指定宿舍的信息
(5)删除:删除指定宿舍的信息
(6)统计:计算指定宿舍楼的宿舍床位的空床数
(7)系统以菜单方式工作

三、总体设计

1.存储结构及数据类型定义

(采用了什么存储结构、被处理数据定义的数据类型,数据类型定义中要有注释说明)

// 学生结构体,包含学号和床位号
typedef struct {
    char id[20];
    int bed_no;
} Student;

// 宿舍结构体,包含楼号、宿舍号、楼长姓名和学生数组
typedef struct {
    int building_no;
    int room_no;
    char manager_name[20];
    int empty_beds;
    Student students[4];
} Dormitory;

// 存储所有宿舍信息的数组
Dormitory dorms[100];
int num_of_dorms = 0;

2.程序结构

(程序整体的模块结构图)
任务6 学生宿舍信息管理系统_第1张图片

3.所实现的功能函数

(每个功能对应的函数名、函数形参及返回值说明)

int main();//主函数 函数名:main函数形参:空 返回值:int 
Dormitory* find_dorm_by_id(const char* id)// 根据学生学号查找学生所在的宿舍 函数名:find_dorm_by_id函数形参:const char* id 返回值:Dormitory
void find_empty_beds_by_building(int building_no)// 根据宿舍楼号查找该楼所有空床位的宿舍 函数名:find_empty_beds_by_building函数形参:int building_no 返回值:void 
void modify_dorm(int index)// 修改指定宿舍的信息 函数名:modify_dorm 函数形参:int index 返回值:void 
void delete_dorm(int index)// 删除指定宿舍的信息 函数名:delete_dorm 函数形参:int index 返回值:void 
void count_empty_beds_by_building(int building_no)// 统计指定宿舍楼的空床位数 函数名:count_empty_beds_by_building 函数形参:int building_no 返回值:void 
void save_to_file(const char* filename)// 保存所有宿舍信息到文件中 函数名:save_to_file函数形参:const char* filename 返回值:void 
void read_from_file(const char* filename)// 从文件中读取所有宿舍信息 函数名:read_from_file函数形参:const char* filename 返回值:void 

4、程序流程图

任务6 学生宿舍信息管理系统_第2张图片

四、小组成员及分工

(组长、组员及每人承担的具体模块任务或其他)
组长:完成以下内容主函数,根据学生学号查找学生所在的宿舍、根据宿舍楼号查找该楼所有空床位的宿舍、根据宿舍id来查找功能开发。

int main();//主函数 函数名:main函数形参:空 返回值:int 
Dormitory* find_dorm_by_id(const char* id)// 根据学生学号查找学生所在的宿舍 函数名:find_dorm_by_id函数形参:const char* id 返回值:Dormitory
void find_empty_beds_by_building(int building_no)// 根据宿舍楼号查找该楼所有空床位的宿舍 函数名:find_empty_beds_by_building函数形参:int building_no 返回值:void 

组员1:完成以下内容修改指定宿舍的信息、删除指定宿舍的信息以及统计指定宿舍楼的空床位数。

void modify_dorm(int index)// 修改指定宿舍的信息 函数名:modify_dorm 函数形参:int index 返回值:void 
void delete_dorm(int index)// 删除指定宿舍的信息 函数名:delete_dorm 函数形参:int index 返回值:void 
void count_empty_beds_by_building(int building_no)// 统计指定宿舍楼的空床位数 函数名:count_empty_beds_by_building 函数形参:int building_no 返回值:void 

组员2:完成以下内容保存所有宿舍信息到文件中、从文件中读取所有宿舍信息。

void save_to_file(const char* filename)// 保存所有宿舍信息到文件中 函数名:save_to_file函数形参:const char* filename 返回值:void 
void read_from_file(const char* filename)// 从文件中读取所有宿舍信息 函数名:read_from_file函数形参:const char* filename 返回值:void 

五、 测试

(整合各功能模块后的测试结果截图及说明)

宿舍信息录入

任务6 学生宿舍信息管理系统_第3张图片

宿舍信息浏览

任务6 学生宿舍信息管理系统_第4张图片

查询学生所住宿舍楼号、宿舍号等信息

任务6 学生宿舍信息管理系统_第5张图片

查询指定宿舍楼空床位

任务6 学生宿舍信息管理系统_第6张图片

修改宿舍信息

任务6 学生宿舍信息管理系统_第7张图片
任务6 学生宿舍信息管理系统_第8张图片
任务6 学生宿舍信息管理系统_第9张图片
任务6 学生宿舍信息管理系统_第10张图片

删除宿舍信息

任务6 学生宿舍信息管理系统_第11张图片

统计指定宿舍楼的宿舍床位的空床数

任务6 学生宿舍信息管理系统_第12张图片

退出系统

任务6 学生宿舍信息管理系统_第13张图片

六、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏
感兴趣的小伙伴可以在评论区留言或者私信我哦

提示:代码获取链接:下载源码

你可能感兴趣的:(C语言-期末课程系统设计大全,算法,数据结构,课程设计,期末作业,c语言)