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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据结构课设宿舍管理系统Word下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据结构课设宿舍管理系统Word下载.docx

1、2、设计结构体及函数表(1)结构体#define N 100/宏定义,线性表的初始最大长度#define M 10 /宏定义,typedef struct char name20; /学生姓名Stu; int num; /宿舍号 char sex4; /性别 int rn_num; /容纳人数 int fee; /宿舍费用 int yz_num; /已住人数 Stu *stud; /入住学生姓名 room; /宿舍信息 typedef struct int len; /当前长度 room *data; /存储空间基址 int linesize; /当前分配的存储容量linklist; /定义线

2、性表 int f; /全局变量,存放操作序号2)函数表void init(linklist &l);/*参数:线性表l */*返回值:无返回值 */*功能:对线性表l进行初始化 */void room_num_sort(linklist &利用宿舍号对宿舍进行排序 */void menu();无参数 */显示操作菜单 */void display1(linklist &/功能:显示宿舍的相关信息(除宿舍已住人数及已住学生姓名外) */void display2(linklist &显示宿舍的相关信息(包括宿舍已住人数及已住学生姓名) */void function1(linklist &录入宿

3、舍的相关信息 */void function2(linklist &将学生安排到已经输入的宿舍里住宿 */void function3(linklist &已住学生退宿 */void function4(linklist &通过宿舍号查询指定宿舍的相关信息 */void main();主函数 */3)主函数与各模块的调用linklist l; /定义线性表 linit(l); /调用初始化函数char ch,ch2;system(color 1e);/调节显示的背景以及前景printf(n *欢迎进入宿舍管理查询系统*n请按任意键开始操作:Fflush(stdin); /清空输入缓冲区,以得到

4、正确的输入结果scanf(%c,&ch);cls /将屏幕先前显示的内容清理掉menu(); /调用主菜单函数while(f!=0) switch(f) case 1:function1(l);break;/调用录入宿舍信息函数 case 2:function2(l);/调用学生入宿函数 case 3:function3(l);/调用学生退宿函数 case 4:function4(l); /调用查询宿舍信息函数 case 5: printf(是否退出系统:t fflush(stdin); scanf(ch2); if(ch2=y|ch2=Y) system( exit(0); else men

5、u(); break; 四 详细设计各算法的实现1)定义结构体 /性别 /入住学生姓名room;2)定义顺序表 /当前分配的存储容量3)功能菜单的显示void menu() char ch; printf( |*|n |*宿舍管理系统*|n |*主菜单*|n | |n | 1、宿舍信息录入 2、学生分配宿舍 |n | 3、住宿学生退宿 4、宿舍信息查询 |n | 5、退出系统 |n 请输入你想进行的操作: scanf(%df); if(f5) 操作序号输入错误!n 按任意键返回主菜单重新输入! system( menu();4)录入宿舍的相关信息l) int i,j,m; char ch2;

6、system( if(l.len=l.linesize) /判断线性表的长度是否超过线性表的存储空间的长度 room *newbase; newbase=(room *)realloc(l.data,(N+M)*sizeof(room ); /给线性表再分配长度为M的内存空间 l.data=newbase; l.linesize+=M;请输入你要输入的宿舍的个数:j); for(m=0;mj;m+) i=l.len;请输入第%d个宿舍基本信息:,i+1);宿舍号码t学生性别t容纳人数t住宿费用n%d %s %d %dl.datai.num,l.datai.sex,&l.datai.rn_num

7、,&l.datai.fee); l.datam.yz_num=0; l.datam.stud=NULL; l.len+; room_num_sort(l); display1(l);按任意键返回主菜单! fflush(stdin); /清屏 menu();5)学生入宿 int i,room_num,j; char ch,ch2; Stu n;请输入需要住宿的学生的宿舍号:room_num); for(i=0;il.len;i+) if(l.datai.num=room_num) if(l.datai.yz_num=l.datai.rn_num) printf(该房间已满!按回车键返回.n ff

8、lush(stdin); scanf( system( menu(); if(l.datai.yz_num=0) l.datai.stud=(Stu *)malloc(M*sizeof(Stu ); j=0;请输入入住该宿舍的学生的姓名: gets(n.name); strcpy(l.datai.studj.name,n.name); j+; l.datai.yz_num+;是否还有学生入住该宿舍 while(j=l.datai.rn_num) printf(%d宿舍已经住满!,l.datai.num); else j=l.datai.yz_num; printf(按任意键返回.n fflus

9、h(stdin); scanf(未找到该宿舍!6)已住宿学生退宿 int i,j,m,n,ch1; char delete_name20; int room_num;你是否要进行退宿操作 if(ch=请输入要退宿的学生的宿舍号: for(m=0; if(l.datam.num=room_num) 请输入退宿学生的姓名:%s,delete_name); for(j=0;jl.datam.yz_num;j+) if(strcmp(l.datam.studj.name,delete_name)=0) for(n=j;nl.datam.yz_num-1;n+) l.datam.studn=l.data

10、m.studn+1; l.datam.yz_num-;退宿成功! else7)宿舍相关信息的查询 int i,j,ch2; char ch,ch1;请输入你需要查询的宿舍的宿舍号:宿舍号码t学生性别t容纳人数t住宿费用t已住人数n%dtt%stt,l.datai.sex);,l.datai.rn_num);,l.datai.fee);%dn,l.datai.yz_num);已住学生姓名: for(j=0;l.datai.yz_num;%st,l.datai.studj.name);ch1); 五 调试分析1、该系统功能简单明了,在编写程序过程中,以模块化实现功能是最好的方法,不过在函数的调用过

11、程中出现了各种错误,如子函数的变量未命名,与主函数的不一致,经常在编译时出现变量,函数名不合法的现象,但是好在有分模块写,查找改正错误非常方便。2、系统能正常运行后,我对菜单界面做了一些后期美化,此步骤通常放在最后,因为这样可以在未实现系统功能时,减小程序的复杂度,方便改写程序。当完成基本框架后,我通过一次次的运行程序来更改添加必要的提示内容。做了一些外观上的整改,使系统更人性化。3、程序编写过程中出现过许多错误,经调试发现大多数错误是由于的不到正确的输入结果,然后通过查阅资料发现这个是由于输入数据过多,导致输入的数据错误,只要在输入数据前加上“fflush(stdin)”这条语句就可以了,该

12、条语句的功能是清空输入缓冲区。4、前期在程序运行过程中,如果宿舍的学生未住满时,再有学生入住该宿舍,以前输入的学生会被覆盖,经查询发现,是在输入学生姓名的时候出错,每次输入都是从第0个开始输入,所以才会被覆盖,后来只要在输入之前判断宿舍的已住人数是否为0,就可以解决该问题了,这样就不会被覆盖了。六 测试结果1、欢迎界面运行程序进入欢迎界面2、菜单显示在欢迎界面按任意键后进入菜单3、录入宿舍的相关信息选择功能一,跳转到录入宿舍信息界面输入完成后系统会显示你输入的宿舍的相关信息4、学生分配宿舍选择功能二,跳转到学生入宿界面5、已住学生退宿选择功能三,进入学生退宿界面6、显示宿舍的相关信息选择功能四,进入宿舍信息查询界面7、未住满宿舍再入宿选择功能二,进入学生分配宿舍界面再选择功能四,查询该宿舍的相关信息,显示之前信息未被覆盖七 用户使用说明本程序具有良好的交互式界面,用户使用本程序,操作简便,只要在按照菜单输入相应的操作序号即可。在录入以及退出功能上还通过输入“y或n”来判断是否执行用户的目的,简单明了。本程序在重要内容上还设置了报错提示,确认提示的能够更好的帮助顾客实现自己想要的功能。八 课程设计总结1、程序虽然在此之前做了软件基础的实验,编写了一些小程序来

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2