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

    宿舍管理系统C语言实验报告材料.docx

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

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

    宿舍管理系统C语言实验报告材料.docx

    1、宿舍管理系统C语言实验报告材料C语言程序设计报告题 目:宿舍管理系统院系名称:电子工程学院 专业名称:计算机科学与技术班 级:1001 学生姓名:XXX学号(8位):13指导教师:XXX设计起止时间:2011年6月22日2011年6月30日一. 设计目的学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工一条条去查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社

    2、会是飞速进步的而世界,原始的记录方式已经被社会所淘汰,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。故随着宿舍需要管理的信息快速增长,建立一个宿舍管理系统可使宿舍管理人员的管理工作系统化、规范化、自动化,大大提高管理效率。二. 设计内容1.录入学生信息2.显示学生信息3.插入学生信息4.修改学生信息5.删除学生信息6.排序学生信息7.统计学生信息8.管理员密码三概要设计1.录入学生信息将信息保存至

    3、文件中2.从文件中读取信息显示出学生信息3. 从文件中读取信息存至单链表中,传递头指针从而修改学生信息,再将修改完成的学生信息保存至文件中4. 从文件中读取信息存至单链表中,传递头指针从然后用冒泡法排序学生信息,再将修改完成的学生信息保存至文件中5.统计学生信息按照宿舍号、楼层、楼号分别统计出人数6.管理员进入此系统需输入密码,而学生进入则不需要1功能模块图;2各个模块详细的功能描述。1.录入学生信息录入学生信息将信息保存至文件中2.显示学生信息从文件中读取信息显示出学生信息3.插入学生信息从文件中读取信息存至单链表中,传递头指针从而插入学生信息,再将修改完成的学生信息保存至文件中4.修改学生

    4、信息从文件中读取信息存至单链表中,传递头指针从而修改学生信息,再将修改完成的学生信息保存至文件中5.删除学生信息从文件中读取信息存至单链表中,传递头指针从而删除学生信息,再将修改完成的学生信息保存至文件中6.排序学生信息从文件中读取信息存至单链表中,传递头指针从然后用冒泡法排序学生信息,再将修改完成的学生信息保存至文件中7.统计学生信息统计学生信息按照宿舍号、楼层、楼号分别统计出人数四测试数据及运行结果1正常测试数据和运行结果要求提供3组正常测试数据和运行结果排序查找2异常测试数据及运行结果要求提供2组异常测试数据和运行结果五调试情况,设计技巧及体会1改进方案对自己的设计进行评价,指出合理和不

    5、足之处,提出改进方案; 管理员密码不精致,会被管理员以外的人看到保密性不好。插入、删除、修改等函数太过繁琐。2体会对设计及调试过程的心得体会:在这一周多的实习中,让我对C语言有了更深刻的认识,不但复习了原来所学的知识,更对新的知识有了了解。在调试过程中,通过自己学习,寻求老师、同学的帮助解决了许多不懂的问题。六参考文献C语言程序设计(第二版)七附录:源代码(电子版)#include#include#include#include#include#include#define P 学号:%-8ld姓名:%-8s班级:%-10s楼号:%-3s楼层:%-3s宿舍号:%-3sn,p-num,p-nam

    6、e,p-classes,p-bnum,p-fnum,p-rnum#define N sizeof(struct stud)manager();main();student();struct stud long num; char name20; char classes20; char bnum5; char fnum5; char rnum5; struct stud *next; ;struct node char mima10; struct node *next; ;/*/ 录入学生信息/*/struct stud *input_message() struct stud *p1,*p

    7、2,*head; FILE *fp; fp=fopen(student_message.txt,wt); head=p2=(struct stud *)malloc(N); /*head p2指向头结点*/ printf(请输入 学号 姓名 班级 楼号 楼层 宿舍号(输入0结束)n); p1=(struct stud *)malloc(N); /*p1指向第一个结点*/scanf(%ld %s %s %s %s %s,&p1-num,p1-name,p1-classes,p1-bnum,p1-fnum,p1-rnum);if(p1-num!=0) fprintf(fp,%ld %s %s %s

    8、 %s %sn,p1-num,p1-name,p1-classes,p1-bnum,p1-fnum,p1-rnum);while(p1-num!=0) p2-next=p1; /*将新结点连接到表尾*/ p2=p1; /*p2指向新的表尾*/ p1=(struct stud *)malloc(N); /*p1指向新申请的结点*/ scanf(%ld %s %s %s %s %s,&p1-num,p1-name,p1-classes,p1-bnum,p1-fnum,p1-rnum); if(p1-num!=0) fprintf(fp,%ld %s %s %s %s %sn,p1-num,p1-n

    9、ame,p1-classes,p1-bnum,p1-fnum,p1-rnum); fclose(fp); p2-next=NULL; /*表尾结点next置空*/ free(p1); /*释放无效结点*/ return head;/*/ 将文件中的信息存入单链表/*/struct stud *inread() /*将文件中的信息存入单链表*/ struct stud *head,*p,*p1; FILE *fp; fp=fopen(student_message.txt,rt); if(fp=NULL) printf(读出文件出错,按任意键退出); exit(1); head=(struct

    10、stud *)malloc(N); head-next=NULL; p=head; while(!feof(fp) p1=(struct stud*)malloc(N); fscanf(fp,%ld %s %s %s %s %sn,&p1-num,p1-name,p1-classes,p1-bnum,p1-fnum,p1-rnum); p-next=p1; /*连接结点*/ p=p1; p-next=NULL; fclose(fp); return head; /*/ 显示学生信息/*/revise_message() FILE *fp; struct stud *p; int n=0,a,f

    11、size; p=(struct stud *)malloc(N); fp=fopen(student_message.txt,rt); if(fp=NULL) printf(n 打开文件失败!); exit(1); while(!feof(fp) /*文件未结束执行循环*/ a=fileno(fp); fsize=filelength(a); /*判断文件大小 */ if(fsize=0) break; fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); printf(P); n=1; fcl

    12、ose(fp);if(n=0) printf(无记录!n);/*/ 将单链表的信息保存至文件中/*/baocun(struct stud *p) struct stud *p1; FILE *fp; fp=fopen(student_message.txt,wt); if(fp=NULL) printf(写入文件出错,按任意键退出); exit(1); for(p1=p-next;p1!=NULL;p1=p1-next) fprintf(fp,%ld %s %s %s %s %sn,p1-num,p1-name,p1-classes,p1-bnum,p1-fnum,p1-rnum); fclo

    13、se(fp);/*/ 查询学生信息/*/find_message() long nnum; int a,b,n,m; FILE *fp; struct stud *p; fp=fopen(student_message.txt,rt); p=(struct stud *)malloc(N); system(cls); printf(nnnn); printf( * n); printf( 欢迎进入宿舍管理系统 n); printf( * n); printf(n 1.返回上一级 n); printf(n 1.按学生学号查找 n); printf(n 2.按学生姓名查找 n); printf(n

    14、 3.按宿舍号查找 n); printf(nnn); printf(请选择:); scanf(%d,&b); printf(nnn); / 按学生学生学号 if(b=1) printf(n请输入要查找的人的学号:n); scanf(%ld,&nnum); while(!feof(fp) fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); if(p-num=nnum) printf(P); a=1; /*标志*/ if(a!=1) printf(n没有找到此人!n); / 按学生姓名查找 if(

    15、b=2) char nname20; printf(n请输入要查找的人的姓名:); scanf(%s,&nname); while(!feof(fp) fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); n=strcmp(p-name,nname); if(n=0) printf(P); a=1;/*标志*/ if(a!=1) printf(n没有找到此人!n); if(b=3) char nrnum20; printf(n请输入要查找的宿舍号:); scanf(%s,&nrnum); whi

    16、le(!feof(fp) fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); m=strcmp(p-rnum,nrnum); if(m=0) printf(P); a=1;/*标志*/ if(a!=1) printf(n没有找到此宿舍!n); if(b=0) manager();/*/ 删除学生信息/*/delete_message(struct stud *p0) struct stud *p; long nnum; int a; p=p0-next; printf(请输入要删除的人的学号:

    17、); scanf(%ld,&nnum); while(p!=NULL) if(p-num=nnum) p0-next=p-next; /*后续结点接到前面的结点上*/ printf(已删除此人!); a=1; /*标志常量*/ p0=p; /*推移指针*/ p=p-next; if(a!=1) printf(没有找到要删除的人!);/*/ 插入和修改学生信息/*/change_message(struct stud *p0) long nnum; int a,b; system(cls); printf(nnnn); printf( * n); printf( 欢迎进入宿舍管理系统 n); p

    18、rintf( * n); printf(n 0.返回上一级 n); printf(n 1.插入学生信息 n); printf(n 2.修改学生信息 n); printf(nnn); printf(请选择:); scanf(%d,&b); printf(nnn); if(b=1) struct stud *p; p=(struct stud *)malloc(N); printf(请输入要插入的学号 姓名 班级 楼号 楼层 宿舍号n); scanf(%ld %s %s %s %s %s,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); p-next=p

    19、0-next; /*后续结点连接到新结点后*/ p0-next=p; /*此时新接点处在头的位置*/ if(b=2) printf(请输入要修改的人的学号:); scanf(%ld,&nnum); while(p0-next!=NULL) p0=p0-next; /*指针后移*/ if(p0-num=nnum) printf(请修改此人的姓名 班级 楼号 楼层 宿舍号:); scanf(%s %s %s %s %s,p0-name,p0-classes,p0-bnum,p0-fnum,p0-rnum); printf(n修改成功!n); a=1; /*标志*/ if(a!=1) printf(

    20、n没有找到此人!n); if(b=0) manager(); /*/ 统计学生信息/*/ dorm_message() int a,b,m; FILE *fp; struct stud *p; fp=fopen(student_message.txt,rt); p=(struct stud *)malloc(N); a=0; system(cls); printf(nnnn); printf( * n); printf( 欢迎进入宿舍管理系统 n); printf( * n); printf(n 0.返回上一级 n); printf(n 1.输入楼号统计人数 n); printf(n 2.输入

    21、楼层号统计人数 n); printf(n 3.输入宿舍号统计人数 n); printf(nnn); printf(请选择:); scanf(%d,&b); printf(nnn); / 按楼号统计 if(b=1) char nbnum20; printf(n请输入要统计的楼号:n); scanf(%s,&nbnum); while(!feof(fp) fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum); m=strcmp(p-bnum,nbnum); if(m=0) printf(P); a+; /*标志*/ printf(n该楼共有%d人n,a); / 按楼层号统计 if(b=2) char nfnum20; printf(n请输入要统计的楼层号:n); scanf(%s,&nfnum); while(!feof(fp) fscanf(fp,%ld %s %s %s %s %sn,&p-num,p-name,p-classes,p-bnum,p-fnum,p-rnum);


    注意事项

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

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




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

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

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


    收起
    展开