ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:112.53KB ,
资源ID:4478356      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4478356.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机程序设计基础C语言课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机程序设计基础C语言课程设计.docx

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

2、房间号的记录。5.修改指定房间号的记录。6.实现信息的浏览功能。7.按房间号查询功能。8.按已入住人数排序功能。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.结论14 1.1对调试中主要问题进行总结148

3、.体会及建议14 1.1对自己设计进行评价,指出合理和不足之处,提出改进的方案 149.学生宿舍管理系统设计参与者14 1.1 小组成员信息14 1.学生宿舍管理系统概述1.1需求分析高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索

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

5、入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,还具有修改功能,能够快速的查询学校所需的住宿信息。1.2基本功能高校学生宿舍管理系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,但本课题要实现的是前端应用程序的开发。在设计该系统时,会尽可能地贴近我们学生,便于管理者操作。系统在实现上具有如下功能:1 设计简单的菜单,能够进行系统功能选择。2 实现信息的录入功能。3 在已有信息的基础上添加新的记录。4 删除指定房间号

6、的记录。5 修改指定房间号的记录6 实现信息的浏览功能7 按房间号查询功能8 按已入住人数排序功能 2.学生宿舍管理系统总体设计1.1管理流程图 对系统可划分为三层流程图: 第一层流程图: 第二层流程图: 第三层流程图:选择查询信息原则房间号对应的宿舍信息 按已入住 人数排序 学生宿舍 管理系统 3.模块划分1.1选择功能模块图1.2第二录入模块输入宿舍信息p-roomp-livenumbercount1+ count3+ endp-areacount2+ 1.3第三添加模块 插入宿 舍信息 将其入栈 输入宿 舍信息结束用sort()函数排序1.4第四删除模块 != =1.5第五修改模块 =

7、!=1.6第六浏览模块(与下图1.7类似) 开始1.7第七查询模块 != != = =1.8第八排序模块 开始开始循环,扫描存储信息选出居住人数最小的宿舍与第一个宿舍交换在余下居住人数中选出最少的与第二个宿舍交换以此类推,直至排序完成 结束 4.算法说明数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等,利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作。 5.各函数

8、模块功能1.1各自定义函数功能1、void insert()(录入系统所需的数据;将录入的数据存储在文件中)2、void seek()(按要求对数据进行查询)3、void modify()(对数据进行更新操作)4、void del()(对数据进行删除操作)5、void save()(对指定数据进行统计并输出)6、void sort()(对指定数据排序并输出)7、void reveal()(对指定数据产生报表输出)8、void menu()(功能目录) 6.程序测试显示 请选择菜单编号 请输入待增加的宿舍数 请输入第1个宿舍的房间号 输入 4 1 1316请输入第1个宿舍的宿舍长 请输入第1个宿

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

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

11、结1.1对调试中主要问题进行总结 调试过程中,经常会出现输入或显示为乱码的情况,这往往是上下定义的数据类型不同或定义数组长度不够所造成的。有时候程序中还会出现录入五个数据而只显示四个的情况,这也往往是由于定义的结构体数组长度过低所造成的。像这类问题只要把数据类型都定义成字符型,并且定义一个合理的数组长度往往都能解决。在调试过程中我遇到最大的问题出现在删除模块。在运用“dormitory.txt”打开文件并对某一数据进行删除后,往往显示会多显示一行数据。这是由于“dormitory.txt”写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中。后来我先用“dormit

12、ory.txt”打开文件并读取文件中的数据,然后再用“r”打开原文件将删除后的数据重新写入文件,最终检测运行成功。 8.体会及建议 1.1对自己设计进行评价,指出合理和不足之处,提出改进的方案 本程序拥有很多的优点:第一,它具有作为一个宿舍管理系统的各个功能,包括录入信息、添加信息、修改信息、删除信息、查询信息、统计信息六大主要功能。可以方便的进行住宿学生信息的管理。第二,它的各个功能模块在实现时非常方便,例如:录入和添加学生信息可以自己控制录入和添加的人数;统计学生信息可以分学号、班级、专业等进行统计等等。 “万事开头难”这句话在我编写程序的过程中得到了真正的体现。在最初编写的几天里出现了这

13、样那样的错误一大堆,这主要是由于我对基础知识掌握不扎实所造成的。但是随后几天里,我对课本知识进行了回顾并不时的向老师和同学进行请教,慢慢的对编写程序也开始得心应手起来。程序的编写总归是一件费时费力的事情,但只要我们认真编写和调试最后总能成功。 短短的两周实习时间我收获颇多,我相信经过这次实习必将为我以后的深入学习打下扎实的基础。 9.学生宿舍管理系统设计参与者1.1小组成员信息 姓名 院系 班级 学号 贾文超 信息工程学院 机121 120502 陆秀和 信息工程学院 机121 120506 杨晓红 信息工程学院 机121 120504 张永康 信息工程学院 机121 120505参考文献:1

14、.软件工程导论 第四版 清华大学出版 2.C#开发实战宝典 王小科 编著 清华大学出版社 3.C#开发大全 刘丽霞 编著 清华大学出版 4.XX知道 5.C#与.net开发网 附录:源程序清单#include /*I/O函数*/#include /*其它说明*/#include /*字符串函数*/#define BUFLEN 100 /* 缓冲区最大字符数 */#define LEN 100 /* 房间号和宿舍长最大字符数,实际请更改 */#define N 1000 /* 最大宿舍人数,实际请更改*/struct apartment /*结构体*/char roomLEN+1; /* 房间号

15、 */char dormitoryleaderLEN+1; /* 宿舍长 */int dormitory; /* 楼号 */char area3; /* 宿舍面积 */char holdLEN+1; /* 房间容纳人数 */char member1000; /* 宿舍成员 */char telLEN+1; /* 手机号号码 */char livenumber30; /* 居住人数 */stuN;int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */void seek();void modify();void insert();void del(

16、);void reveal();void save();void menu(); int main() while(k)menu();system(pause);return 0; void help() printf(n0.欢迎使用宿舍系统帮助!n);printf(n1.进入系统后,先刷新宿舍信息,再查询;n);printf(n2.按照菜单提示键入数字代号;n);printf(n3.增加宿舍信息后,切记保存按7;n);printf(n4.谢谢您的使用!n); void readfile()/* 建立信息 */char *p=dormitory.txt;FILE *fp;int i=0;if

17、(fp=fopen(dormitory.txt,r)=NULL) printf(Open error! Strike any key to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.room,stui.dormitoryleader,&stui.dormitory,stui.area,stui.hold,stui.member,stui.tel,stui.livenumber)=8)i+;i=i;fclose(fp);n=i;printf(录入完毕!n); void seek() /*查找

18、*/int i,item,flag;char s121; /* 以宿舍长和房间号最长长度+1为准 */printf(-n);printf(-1.按房间号查询-n);printf(-2.按宿舍长查询-n);printf(-3.退出本菜单-n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的宿舍的房间号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.room,s1)=0)flag=1;printf(房间号 宿舍长 楼

19、号 宿舍面积 房间容纳人数 n);printf(-n);printf(%0s %8s %3d %7s %11s n,stui.room,stui.dormitoryleader,stui.dormitory,stui.area,stui.hold);printf(*n);printf( 宿舍成员 手机号 居住人数n);printf(-n);printf( %0s %20s %8sn,stui.member,stui.tel,stui.livenumber);if(flag=0)printf(该房间号不存在!n); break;case 2:printf(请输入要查询的宿舍的宿舍长:n);sca

20、nf(%s,s1);for(i=0;in;i+)if(strcmp(stui.dormitoryleader,s1)=0)flag=1;printf(房间号 宿舍长 楼号 宿舍面积 房间容纳人数 n);printf(-n);printf(%0s %8s %3d %7s %11s n,stui.room,stui.dormitoryleader,stui.dormitory,stui.area,stui.hold);printf(*n);printf( 宿舍成员 手机号 居住人数n);printf(-n);printf( %0s %20s %8sn,stui.member,stui.tel,st

21、ui.livenumber);if(flag=0)printf(该宿舍长不存在!n); break;case 3:return;default:printf(请在1-3之间选择n); void modify() /*修改信息*/int i,item,num;char area13,s1LEN+1,s2LEN+1; /* 以宿舍长和房间号最长长度+1为准 */printf(请输入要修改的宿舍的房间号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.room,s1)=0) /*比较字符串是否相等*/num=i;printf(-n);printf(1.修改宿舍长n);printf(2.修改楼号n);printf(3.修改宿舍面积n);printf(4.修改房间容纳人数n);printf(5.修改宿舍成员n);printf(6.修改手机号号码n);printf(7.修改居住人数n);printf(8.退出本菜单n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);switch(item)case 1:printf(请输入新的宿舍长:n);scanf(%s,s2);strcpy(stunum.dormitoryleader,s2)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1