学生宿舍管理系统设计(C语言)

上传人:沈*** 文档编号:103665392 上传时间:2022-06-09 格式:DOC 页数:16 大小:110.50KB
收藏 版权申诉 举报 下载
学生宿舍管理系统设计(C语言)_第1页
第1页 / 共16页
学生宿舍管理系统设计(C语言)_第2页
第2页 / 共16页
学生宿舍管理系统设计(C语言)_第3页
第3页 / 共16页
资源描述:

《学生宿舍管理系统设计(C语言)》由会员分享,可在线阅读,更多相关《学生宿舍管理系统设计(C语言)(16页珍藏版)》请在装配图网上搜索。

1、计算机程序设计基础课程设计题目:学生宿舍管理系统设计班 级:计 121_120502 120504 120506 120505 姓 名:贾 文 超杨 晓 红张 永 康 陆 秀 和指导 刘 喜 梅孙 强范 周 瑜20XX 7月 1日信息工程学院信息技术教学与实验中心学生宿舍管理系统设计功能:实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等.基本要求:1.设计简单的菜单,能够进行系统功能选择.2.实现信息的录入功能.3.在已有信息的基础上添加新的纪录.4.删除指定房间号的记录.5.修改指定房间号的记录.6.实现信息的浏览功能.7.按房间号查询功能.8.

2、按已入住人数排序功能.1.学生宿舍管理系统概述4 1.1需求分析 4 1.2基本功能 42.学生宿舍管理系统总体设计5 1.1管理流程图5 1.2管理员操作53.模块划分6 1.1第一选择模块6 1.2第二录入模块7 1.3第三添加模块8 1.4第四删除模块8 1.5第五修改模块9 1.6第六浏览模块9 1.7第七查询模块10 1.8第八排序模块114.算法说明115.各函数模块功能11 1.1各自定义函数功能 116.程序测试127.结论141.1对调试中主要问题进行总结148.体会与建议141.1对自己设计进行评价,指出合理和不足之处,提出改进的方案149.学生宿舍管理系统设计参与者14

3、1.1 小组成员信息141.学生宿舍管理系统概述1.1需求分析高校学生宿舍管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以与前端应用程序的开发两个方面.对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点.旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大.这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件.学生宿舍管理系统对于一个学校来

4、说是必不可少的组成部分.对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,只能靠人工去一条条地查找,这样不但麻烦而且效率非常低.当今社会是飞速进步的世界,计算机化管理正是适应时代的产物.21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普与.我们针对此,设计了一套学生宿舍管理系统.学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去.由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失.这无疑是为信息存储量比较大的学校提供

5、了一个方便、快捷的操作方式.本系统具有运行速度快、安全性高、稳定性好的优点,还具有修改功能,能够快速的查询学校所需的住宿信息.1.2基本功能高校学生宿舍管理系统的开发主要包括后台数据库的建立和维护以与前端应用程序的开发两个方面,但本课题要实现的是前端应用程序的开发.在设计该系统时,会尽可能地贴近我们学生,便于管理者操作.系统在实现上具有如下功能:1 设计简单的菜单,能够进行系统功能选择.2 实现信息的录入功能.3 在已有信息的基础上添加新的记录.4 删除指定房间号的记录.5 修改指定房间号的记录6 实现信息的浏览功能7 按房间号查询功能8 按已入住人数排序功能2.学生宿舍管理系统总体设计1.1

6、管理流程图对系统可划分为三层流程图:第一层流程图:输入宿舍信息房间号、楼号、容纳人数、手机号等 学生宿舍 管理系统第二层流程图: 添加宿舍管理系统记录删除选择操作修改 第三层流程图:房间号对应的宿舍信息 学生宿舍 管理系统选择查询信息原则 按已入住 人数排序 3.模块划分1.1选择功能模块图 输入 插入录入存储 删除 修改主函数数据操作 查询 统计输出信息 排序 显示1.2第二录入模块开始输入宿舍信息p-livenumberp-areap-roomcount2+ count3+count1+ end开始1.3第三添加模块 插入宿 舍信息用sort函数排序 输入宿 舍信息 将其入栈结束开始1.4

7、第四删除模块输入删除房间号for循环,扫描存储学生信息p-room:roomm!= 删除对应 学生信息 结束1.5第五修改模块开始 输入修改 房间号room for循环,扫描 存储学生信息 p-room; room = != 修改对应 学生信息结束1.6第六浏览模块与下图1.7类似 开始1.7第七查询模块 按宿舍 长查询 选择查 询方式 按宿舍号查询 输入要查找 宿舍长#开始循环,扫描存储的宿舍信息 输入查找 的宿舍号p-dormitoryleader: dormitoryleaderp-room: room!=!= = =输出宿舍信息输出宿舍信息 结束1.8第八排序模块 开始开始循环,扫描存

8、储信息选出居住人数最小的宿舍与第一个宿舍交换在余下居住人数中选出最少的与第二个宿舍交换以此类推,直至排序完成 结束4.算法说明数据类型整形、实型、字符型、指针、数组、结构等;运算类型算术运算、逻辑运算、自增自减运算、赋值运算等;程序结构顺序结构、判断选择结构、循环结构;大程序的功能分解方法即函数的调用与使用等,利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作.5.各函数模块功能1.1各自定义函数功能1、void insert录入系统所需的数据;将录入的数据存储在文件中2、void seek按要求对数据进行查询3、

9、void modify对数据进行更新操作4、void del对数据进行删除操作5、void save对指定数据进行统计并输出6、void sort对指定数据排序并输出7、void reveal对指定数据产生报表输出8、void menu功能目录6.程序测试显示 请选择菜单编号请输入待增加的宿舍数请输入第1个宿舍的房间号 输入4 1 1316请输入第1个宿舍的宿舍长 请输入第1个宿舍的楼号 请输入第1个宿舍的宿舍面积贾文超 1 40请输入第1个宿舍的房间容纳人数 请输入第1个宿舍的宿舍成员6贾文超/陆秀和/杨晓红/张永康/李正明/伟力请输入第1个宿舍的手机号 请输入第1个宿舍的居住人数 6录入完

10、毕! 请选择菜单编号 6结果:所有宿舍信息为:房间号 宿舍长 楼号 宿舍面积 房间容纳人数1316贾文超 1 40 6*宿舍成员 手机号 居住人数贾文超/陆秀和/杨晓红/张永康/李正明/伟力显示 请选择菜单编号输入 2 -1.按房间号查询- -2.按宿舍长查询- -3.退出本菜单-请选择子菜单编号: 1请输入要查询的宿舍的房间号: 1316结果:房间号 宿舍长 楼号 宿舍面积 房间容纳人数1316贾文超 1 40 6*宿舍成员 手机号 居住人数贾文超/陆秀和/杨晓红/张永康/李正明/伟力显示请选择菜单编号 请输入要修改的宿舍的房间号输入 3 1316 - 请输入新的宿舍面积 1.修改宿舍长 2

11、.修改楼号 3.修改宿舍面积 4.修改房间容纳人数 5.修改宿舍成员 6.修改手机号 7.修改居住人数 8.退出本菜单 - 请选择子菜单编号: 3 50请选择子菜单编号: 请选择菜单编号 8 6结果:房间号 宿舍长 楼号 宿舍面积 房间容纳人数1316贾文超 1 50 6*宿舍成员 手机号 居住人数贾文超/陆秀和/杨晓红/张永康/李正明/伟力 7.总结1.1对调试中主要问题进行总结调试过程中,经常会出现输入或显示为乱码的情况,这往往是上下定义的数据类型不同或定义数组长度不够所造成的.有时候程序中还会出现录入五个数据而只显示四个的情况,这也往往是由于定义的结构体数组长度过低所造成的.像这类问题只

12、要把数据类型都定义成字符型,并且定义一个合理的数组长度往往都能解决.在调试过程中我遇到最大的问题出现在删除模块.在运用dormitory.txt打开文件并对某一数据进行删除后,往往显示会多显示一行数据.这是由于dormitory.txt写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中.后来我先用dormitory.txt打开文件并读取文件中的数据,然后再用r打开原文件将删除后的数据重新写入文件,最终检测运行成功.8.体会与建议1.1对自己设计进行评价,指出合理和不足之处,提出改进的方案本程序拥有很多的优点:第一,它具有作为一个宿舍管理系统的各个功能,包括录入信息

13、、添加信息、修改信息、删除信息、查询信息、统计信息六大主要功能.可以方便的进行住宿学生信息的管理.第二,它的各个功能模块在实现时非常方便,例如:录入和添加学生信息可以自己控制录入和添加的人数;统计学生信息可以分学号、班级、专业等进行统计等等.万事开头难这句话在我编写程序的过程中得到了真正的体现.在最初编写的几天里出现了这样那样的错误一大堆,这主要是由于我对基础知识掌握不扎实所造成的.但是随后几天里,我对课本知识进行了回顾并不时的向老师和同学进行请教,慢慢的对编写程序也开始得心应手起来.程序的编写总归是一件费时费力的事情,但只要我们认真编写和调试最后总能成功. 短短的两周实习时间我收获颇多,我相

14、信经过这次实习必将为我以后的深入学习打下扎实的基础.9.学生宿舍管理系统设计参与者1.1小组成员信息 # 院系 班级 学号贾文超 信息工程学院机121 120502陆秀和 信息工程学院机121 120506杨晓红 信息工程学院机121120504张永康 信息工程学院机121 120505参考文献:1.软件工程导论第四版 清华大学出版 2.C#开发实战宝典王小科 编著 清华大学3.C#开发大全刘丽霞 编著 清华大学出版 4.百度知道 5.C#与.net开发网 附录:源程序清单#include/*I/O函数*/#include/*其它说明*/#include/*字符串函数*/#defineBUFL

15、EN 100 /* 缓冲区最大字符数 */#defineLEN 100 /* 房间号和宿舍长最大字符数,实际请更改 */#defineN 1000 /* 最大宿舍人数,实际请更改*/structapartment/*结构体*/char roomLEN+1; /* 房间号 */char dormitoryleaderLEN+1; /* 宿舍长 */int dormitory; /* 楼号 */char area3; /* 宿舍面积 */char holdLEN+1; /* 房间容纳人数 */char member1000; /* 宿舍成员 */char telLEN+1; /* 手机号 */ch

16、ar livenumber30; /* 居住人数 */stuN;int k=1,n,m; /* 定义全局变量 */void readfile;/* 函数声明 */void seek;void modify;void insert;void del;void reveal;void save;void menu; int main whilemenu;system;return 0; void help printf;printf;printf;printf;printf; void readfile/* 建立信息 */char *p=dormitory.txt;FILE *fp;int i=0

17、;if fp=fopen=NULL printf;system;exit;whilefscanf=8i+;i=i;fclose;n=i;printf; void seek /*查找*/int i,item,flag;char s121; /* 以宿舍长和房间号最长长度+1为准 */printf;printf;printf;printf;printf;whileprintf;scanf;flag=0;switchcase 1:printf;scanf;fori=0;iifstrcmp=0flag=1;printf;printf;printf;printf;printf;printf;printf

18、;ifprintf; break;case 2:printf;scanf;fori=0;iifstrcmp=0flag=1;printf;printf;printf;printf;printf;printf;printf;ifprintf; break;case 3:return;default:printf; void modify /*修改信息*/int i,item,num;char area13,s1LEN+1,s2LEN+1; /* 以宿舍长和房间号最长长度+1为准 */printf;scanf;fori=0;iifstrcmp=0 /*比较字符串是否相等*/num=i;printf

19、;printf;printf;printf;printf;printf;printf;printf;printf;printf;whileprintf;scanf;switchcase 1:printf;scanf;strcpy; break;case 2:printf;scanf;break;case 3:printf;scanf;strcpy; break;case 4:printf;scanf;strcpy; break;case 5:printf;scanf;strcpy; break;case 6:printf;scanf;strcpy; break;case 7:printf;sc

20、anf;strcpy; break;case 8:return;default:printf; void sort/*按居住人数排序*/int i,j,*p,*q,s;char temp100;fori=0;ifori;j-ifstrcmp0strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy;strcpy; p=&stuj-1.dormitory; q=&stuj.do

21、rmitory; s=*q; *q=*p; *p=s; void insert /*插入函数*/int i=n,j,flag;printf;scanf;do flag=1;whileflag=0;printf;scanf;forj=0;jifstrcmp=0printf;flag=1;break; /*如有重复立即退出该层循环,提高判断速度*/printf;scanf;printf;scanf;printf请输入第 %d 个宿舍的宿舍宿舍面积:n,i+1;scanf;printf;scanf;printf请输入第 %d 个宿舍的宿舍成员:n,i+1;scanf;printf;scanf;pri

22、ntf;scanf;if i=i;i+;whilei;n+=m;printf;sort; void delint i,j,flag=0;char s1LEN+1;printf;scanf;fori=0;iifstrcmp=0 flag=1;forj=i;jstuj=stuj+1;ifprintf;ifprintf;n-; void revealint i;printf;printf;printf;fori=0;i printf;printf;printf;printf;fori=0;i printf; void saveint i;FILE *fp;fp=fopen; /*写入*/fori=0

23、;ifprintf;fclose; void menu/* 界面 */int num;printf;printf;printf;printf;printf;printf; printf;printf;printf;printf;printf;printf;printf;printf;printf;printf;scanf;switch case 0:help;break;case 1:readfile;break;case 2:seek;break;case 3:modify;break;case 4:insert;break;case 5:del;break;case 6:reveal;break;case 7:save;break;case 8:k=0;break;default:printf;16 / 16

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!