欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    宿舍管理系统精选文档.docx

    • 资源ID:12670805       资源大小:633.34KB        全文页数:36页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    宿舍管理系统精选文档.docx

    1、宿舍管理系统精选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-TTMSHHJ8】宿舍管理系统精选文档HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告 课设题目: 宿舍管理系统 系 部: 电气与信息工程学院 专 业: 电子信息科学与技术(车联网工程) 姓 名: 李鑫 完成日期: 2014年6月25日2014年7月5日 1.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2)通过课程设计,进一步掌握C语言中重要的数据结构。掌

    2、握并熟练运用指针、链表、结构体、文件等数据结构。3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5)通过课程设计,加强了自己的程序分析能力。2.需求分析要求1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。3)学会利用数组、结构体、链表进行相关信息表示。4)功能模块

    3、划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。11)C语言课程设计报告的内容反应实际设计过程,且符合格

    4、式要求,无抄袭现象。任务描述现学校要管理宿舍入住的学生,请设计一宿舍管理程序,以方便学校宿舍管理员对学生进行管理,该程序应该具有以下功能:1) 能从键盘录入床位信息。2) 指定学号,显示该学生的住宿的信息。3) 指定宿舍号,显示住宿信息。4) 给定宿舍号、床位号,修改住宿信息。5) 给定宿舍号、床位号,删除住宿信息。 运行环境1)WindowsXP/7系统2)VC+编译环境开发工具C语言3.总体设计系统模块设计1)欢迎及信息导入界面:构造函数int main(),显示欢迎及制作信息。构造函数 void loadRec(), 从磁盘文件导入住宿信息到内存。2)主菜单界面:构造函数int menu

    5、_select(),实现系统主菜单的显示。3)住宿信息新建:构造函数void createRec(),新建或录入学生住宿信息。4)住宿信息查询:构造函数void searchRec()查询指定学号的学生住宿信息。5)住宿信息修改:构造函数void modifyRec()修改指定宿舍号及床位号的学生住宿信息。6)住宿信息删除:构造函数void deleteRec()实现对指定宿舍号及床位号的学生住宿信息记录的删除。并通过函数free(),释放内存空间。7)住宿信息浏览:构造函数void listRec(),实现对指定宿舍住宿信息浏览界面的显示。8)住宿信息统计:构造函数void countRec

    6、(),实现对床位信息中空床位数的统计。9)住宿信息保存:构造函数void writeInfo(),保存学生住宿信息。10)退出界面:构造函数void exit0()退出程序。系统功能模块图4.详细设计数据结构设计根据系统要求,系统中需要保存的数据信息,其结构如下:数据项名称数据项系统表示数据类型数据长度备注姓名p1-name 字符串20学号p1-id 字符串20班级p1-classs字符串10入住时间p1-p1-p1-整形床位信息p1-,p1-p1-字符型字符型整形105根据系统要求,系统中需要保存的类别信息,其结构如下:类别代号char name20char id20char classs1

    7、0DATE intake类别名称姓名学号班级入住时间类别代号INFO bed类别名称住宿情况基本信息结构体Typedef structint year;int month;int day;DATE;Typedef structchar dorm10;char bedid5;int k;INFO;struct studentchar name20;char id20;char classs20;DATE intake;INFO bed;struct student *next;模块接口设计1)所有函数模块声明如下:void createRec(); /*新建住宿信息记录*/void loadRe

    8、c(); /*从磁盘文件导入住宿信息到内存void searchRec(); /*查询住宿记录*/void modifyRec(); /*修改住宿记录*/void countRec(); /*统计空床位记录*/void deleteRec(); /*删除住宿记录*/void listRec(); /*显示住宿信息*/void writeInfo(); /*保存住宿记录*/void exit0(); /*退出*/int menu_select(); /*主菜单*/2)定义一个全局变量以及结构体指针:struct student *head=NULL,*p1,*p2,*p3;定义结构体指针head

    9、 为头指针,p1 为输入数据缓存空间指针,p2 为尾指针,p3为中间指针int writeinfo_flag=0; 保存住宿信息标志的全局变量标志。3)主要模块的实现系统以主函数int main()为入口调用void loadRec()函数导入住宿信息,然后调用int menu_select();函数,进入主菜单界面。系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。 以下是几个主要模块的流程图:1)主菜单函数: 否 是 否 是 图1 主函数流程图2)查询指定学号学生住宿信息函数: 图2显示指定宿舍学生住宿信息结构框图3)新建或添加学生住宿信息函数:图3 新建若干组学生住宿

    10、信息结构框图4)修改(删除)指定宿舍号及床位号的学生住宿信息函数: 图4修改(删除)指定宿舍号及床位号的学生住宿信息结构框图5)显示指定宿舍号学生住宿信息函数:图5 显示指定宿舍号学生住宿信息函数结构框图 6)保存学生住宿信息函数: 图6保存学生住宿信息函数结构框图5.运行结果欢迎界面及文件信息导入: 图1 欢迎界面及文件信息导入主菜单界面:图2主菜单界面 新建学生住宿信息:图3 新建学生住宿信息查询指定学号的学生住宿信息: 图4查询指定学号的学生住宿信息:修改指定宿舍号及床位号的学生住宿信息图5 修改指定宿舍号及床位号的学生住宿信息删除指定宿舍号及床位号的学生住宿信息:图6 删除指定宿舍号及

    11、床位号的学生住宿信息显示指定宿舍号的学生住宿信息: 图7 显示指定宿舍号的学生住宿信息统计空床位数:图8 统计空床位数保存学生住宿信息图9 保存学生住宿信息退出界面图10 退出界面6.程序前后文本1 导入的文本路径:张强 1 11 2012-08-06 125 1 1王阳明 2 11 2012-08-06 125 2 0陈超 3 11 2012-08-06 125 3 0李可 4 11 2012-08-06 128 4 12 保存后的文本路径:王阳明 2 11 2012-8-6 125 2 0陈超 3 11 2012-8-6 125 3 0李可 4 11 2012-8-6 128 4 1陈东

    12、5 11 2012-8-6 128 1 07.编程体会 本次课程设计总体感觉要较之去年的简单了不少。但由于C语言初学较差,基础薄弱,感觉还是存在较大的问题。所以这次的编程实现主要是对教师模板进行的在修改,使得其满足课设中所提众多要求。编程中大体要满足的一般都是新建、修改、删除、保存、查询、文件读入等功能,其中的删除和文件读入较为复杂。个人认为这次课设的一个难点是要求运用链表实现编程。不得不说链表的运用会提高程序的清晰度和可读性。但由于链表理解起来较难,这会在应用上存在极大的难度。课设中信息较为复杂,如床位信息、入住时间,都是作为一个信息存在,但本省包含多个信息量。所以在定义结构体时,对结构体进

    13、行了另命名和结构体嵌套。在创建、删除等链表等功能的实现中,经常需要找到当前结点之前的结点,也就是前驱结点。随着程序的进展,也需要更新前驱结点指针。在真正的程序应用中,总是会有许多出错的地方,比如各函数对输入数据格式的限制。文件读入时,文件不存在,文件读取错误等。还有指针应用中,申请空间及对废弃指针存储内容的释放等。细节决定成败,程序编写中一个微小的错误就会引发一系列的错误,造成修改难度大,程序无法运行的诸多麻烦。所以在程序编写之初,便应保持良好的心态,认真对待,有条不紊。通过这次课程设计,我可以说是获益匪浅,不仅使得我回顾了大量的C语言知识,巩固了已知,在此基础之上,我还了解理解了虚度哦故去不

    14、是很理解或根本不知道的东西。而且从另一侧面锻炼了我的心性,让我在对待事物上可以统筹,又可以对每一个部分进行充分的认识。以及耐心,认真,反复检查,精益求精等良好的品行等。总之,本次课设于我意义重大,受益良多。8.程序源代码/* 已知一个宿舍的信息为:床位信息(宿舍号、床位号、是否入住)、学号、姓名、班级、入住时间,从键盘输入 n 个宿舍的信息,并将其保存在 () 文件中。 */*所使用的有头文件*/#include#include#include#include #include#define LEN sizeof(struct student)/*结构体定义*/typedef struct i

    15、nt year; /*年*/ int month; /*月*/ int day; /*日*/DATE;typedef struct char dorm10; /*宿舍号*/ char bedid5; /*床位号*/ int k; /*入住情况k=(0/1)*/INFO;struct student char name20; /*姓名*/ char id20; /*学号*/ char classs10; /*班级*/ DATE intake; /*入住时间*/ INFO bed; /*床位信息*/ struct student *next; ;/*函数声明*/void createRec();

    16、/*新建住宿信息记录*/void loadRec(); /*从磁盘文件导入住宿信息到内存*/void searchRec(); /*查询住宿记录*/void modifyRec(); /*修改住宿记录*/void countRec(); /*统计空床位记录*/void deleteRec(); /*删除住宿记录*/void listRec(); /*显示住宿信息*/void writeInfo(); /*保存住宿记录*/void exit0(); /*退出*/int menu_select(); /*主菜单*/*链表操作所用结构体指针*/struct student *head=NULL,*p

    17、1,*p2,*p3;/*定义结构体指针head 为头指针p1 为输入数据缓存空间指针p2 为尾指针*/*宿舍记录保存标志全局变量*/int writeinfo_flag=0;/*主函数*/int main() printf(ntt n); printf(ntt n); printf(ntt C语言课程设计-宿舍管理 nn); printf(ntt n); printf(ntt n); printf(ntt 指导老师:张吴波 n); printf(ntt 制作人:李鑫 班级:T1223-11 n); printf(ntt n); printf(ntt 电话: n); printf(nntt*n)

    18、; getchar(); system(cls); loadRec(); for(;) switch(menu_select() case 1: system(cls); createRec();break; case 2: system(cls); searchRec();break; case 3: system(cls); modifyRec();break; case 4: system(cls); deleteRec();break; case 5: system(cls); listRec(); break; case 6: system(cls); countRec(); bre

    19、ak; case 7: system(cls); writeInfo();break; case 0: system(cls); exit0();return 0; default : getchar(); system(cls); printf(n 选择错误,请正确输入你的选择(07),:n); printf(n 按任意键返回.n); getchar(); system(cls); /*清屏*/ return 0;/*主菜单*/int menu_select() int c; printf(ntt n); printf(ntt 欢迎使用简易宿舍管理系统 n); printf(ntt*nn);

    20、 printf(tt* 1.新建学生住宿信息n); printf(tt* 2.查询指定学号的学生住宿信息n); printf(tt* 3.修改指定宿舍号及床位号的学生住宿信息n); printf(tt* 4.删除指定宿舍号及床位号的学生住宿信息n); printf(tt* 5.显示指定宿舍号学生住宿信息n); printf(tt* 6.统计空床位数n); printf(tt* 7.保存学生住宿信息n); printf(tt* 0.退出(任何情况下按Ctrl+C 退出程序)nn); printf(tt*n); printf(n 请输入相应选择(07):n); scanf(%d,&c); retu

    21、rn c;/*从磁盘文件导入学生住宿信息到内存*/void loadRec() FILE *fp; int n=0; if(fp=fopen(,r)=NULL) /*打开文件*/ printf(文件不存在或无法打开!n); return; head=p1=(struct student *)malloc(LEN); /*开辟一个新单元*/ p1-next =NULL; while(!feof(fp) n+; fscanf(fp,%s%s%s %d-%d-%d %s%s%d, p1-name,p1-id,p1-classs,&p1-,&p1-,&p1-,p1-,p1-,&p1-; if(p1-i

    22、d0id09) n-;break; p2=(struct student *)malloc(LEN); /*开辟一个新单元*/ p1-next =p2; p3=p1; p1=p2; p1-next =NULL; free(p2); p3-next=NULL; printf(ntt %d项信息输入完毕,按任意键返回.n,n); getchar(); system(cls); /*清屏*/ writeinfo_flag=0; /*设置保存记录标志*/ if( fclose(fp) ) /* 关闭文件 */ printf( Can not close the file!n ); exit(0); /

    23、*新建宿舍信息记录*/void createRec() int n,i; if(head!=0) p3=head; while( p3-next!=NULL) p3=p3-next; getchar(); printf(n 住宿信息数据库已存在,新建住宿信息将接续在原信息库的后面,按任意键继续.:n); getchar(); system(cls); /*清屏*/ p3-next=p1=(struct student *)malloc(LEN); /*开辟一个新单元*/ else head=p1=(struct student *)malloc(LEN); /*开辟一个新单元*/ p1-nex

    24、t =NULL; printf(nn 请输入希望建立的住宿基本信息条数n(n1&n10):n); do scanf(%d,&n); if(n10) printf(nn输入范围有误,请重新输入希望建立的宿舍基本信息条数n(n1&n10):n); while(n10); /*开始建立n条学生住宿基本信息记录*/ printf(nn 请输入学生的住宿信息如:n姓名 学号 班级 入住时间 宿舍号 床位号 入住情况(0/1)n); for(i=0;iname,p1-id,p1-classs,&p1-,&p1-,&p1-,p1-,p1-,&p1-; p2=(struct student *)malloc(

    25、LEN); /*开辟一个新单元*/ p1-next =p2; p3=p1; p1=p2; p1-next =NULL; free(p2); p3-next=NULL; printf(n %d项信息输入完毕,按任意键返回.n,n); getchar(); system(cls); /*清屏*/ writeinfo_flag=1; /*清除保存记录标志*/*查询指定学号的学生住宿信息记录*/void searchRec() char id20; p1=head; if(p1=NULL) printf(nn住宿信息数据库为空! n); printf(n 按任意键返回.n); getch(); sys

    26、tem(cls); /*清屏*/ return ; printf(nn 请输入学生学号以便查证:n); scanf(%s,id); while(p1!=NULL) if(strcmp(p1-id,id )=0) printf(t该学生住宿信息如下:nt 姓名:); printf(%sn,p1-name ); printf(t 学号:); printf(%sn,p1-id ); printf(t 班级:); printf(%sn,p1-classs ); printf(t 入住时间:); printf(%d-%d-%dn,p1-,p1-,p1-; printf(t 床位信息:); printf(%s %s %dn,p1-,p1-,p1- ); break; else p1=p1-next ; if(p1=NULL) printf(nn找不到该学生的相应住宿信息!n); printf(n 按任意键返回.n); getch(); system(cls); /*清屏*/*修改指定宿舍号及床位号的学生住宿记录*/ void modifyRec() char dorm


    注意事项

    本文(宿舍管理系统精选文档.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开