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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计课程设计报告宿舍管理系统Word格式.docx

1、8.按照学生的学号升序对学生信息进行排序。9.用文件的方式将录入的数据进行存储,并从其中读取数据。三、概要设计1.功能模块图:2.各模块详细的功能描述:A.输入模块:调用input()函数将学生宿舍信息依次输入到结构体数组中,结束后将保存在制定文件中,在其他模块的函数中可以随时进行调用,结束后可以将修改后的学生宿舍信息再一次保存。B.添加模块:如果要添加新入住学生信息可以调用append函数将新生信息插入到原有信息的末尾,在保存到文件中。C.修改模块:修改可以通过输入要修改的学生的学号,对学生的个人信息利用switch选择要修改的内容.修改完毕后,保存到所设定的文件中去。D.删除模块:删除可以

2、通过输入要删除的学生学号,对学生的所有个人信息进行删除.删除完毕之后保存到文件中去。E.查询模块:选择输入要查询学生的学号,并将查询的信息显示在屏幕上。F.统计模块:输入要统计人数的班级号,然后输出此班的总人数。G.排序模块:按学生学号用冒泡法升序排出学生的信息。H.打印模块:输出当前文件中所有的学生住宿信息。四、详细设计:1.流程图:2.重点设计:intread_file(STUDENTSstudents)FILE*fp;inti=0;if(fp=fopen(,rt)=NULL) printf(nn*库存文件不存在!请创建);/*创建文件*/return0;while(fread(&stud

3、entsi,sizeof(STUDENTS),1,fp)=1)/*成功创建*/i+;fclose(fp);returni;voidsave_file(STUDENTSstudents,intsum)/*保存信息*/FILE*fp;inti;wbprintf(读文件错误!nreturn;五测试数据及运行结果:三组正常数据:1.2.异常测试数据及运行结果:2.六、调试情况,设计技巧及体会:1.设计过程中的体会:在刚开始还没有大体思路,觉得设计不简单。但当总体构思完成后,对各个功能的实现可以用小程序即模块形式进行实现,比如输入数据,输出数据,修改数据,删除数据等.在一个个小程序中调试,最后各个模块的

4、功能完成比较好后,在将所有的模块都放进main()主函数中进行调试,这样可以避免由整体构思调试引起的调试障碍.但还是没有得到完美的效果,有的模块还是有问题。而且程序上看没什么问题啊?老师也帮了不少的忙吧。在此写过老师的帮助。2.在调试过程中,F5,F10,F11,有了更深的认识,并且可以更灵活的运用。在编写程序的过程中,有些逻辑不是很清楚,但大部分程序模块还是写出来了。那些不清楚的就是文件方面的知识,以后要好好研究下文件了。总体来说,这次课程设计对C语言方面的知识又重新复习了一遍,感觉还行。3.还有就是原先有想过用密码,构思是想实现一个帐号密码配对使用的方法,但是由于文件的使用不熟练,最后还是

5、以失败告终。同时程序只能在当前登录过程中输入进入系统,有较大的局限性。七、参考文献C语言程序设计谭浩强清华大学出版社1999年12月C语言程序设计(第二版)王曙燕/主编八附录:3.完全代码:#include/*头文件*/#defineMAX100typedefstructintyear;intmonth;intday;DATE;intnum;/*学号*/charname20;/*姓名*um); if(studentsi.num=0)break; printf(n学生姓名: scanf(%s,studentsi.name);n学生性别:,studentsi.sex);n学生年龄:%d,&stud

6、entsi.age);n学生出生年月日:%d%d%dstudentsi.,&studentsi., &studentsi.;n学生宿舍:,studentsi.sushe);n学生班级:,studentsi.classes);n学生专业:,studentsi.zhuanye);n学生床号:,studentsi.chuanghao); i+; while(it); save_file(students,t);/*保存输入的学生信息*/ printf(n%d个学生信息输入完毕!,t); getch();returnt;/*返回输入学生的个数值*/*输出模块*/voidoutput(STUDENTSs

7、tudents,intsum) inti;system(clsprintf(numnamesexageyear-month-daysusheclasseszhuanyechuanghaonfor(i=0;isum;i+)/*输出学生的信息*/ printf(%5d%5s%5s%5d%5d%5d%5d%5s%5s%5s%5sn, studentsi.num,studentsi.name,studentsi.sex,studentsi.age,studentsi.,studentsi.,studentsi.,studentsi.sushe, studentsi.classes,studentsi.

8、zhuanye,studentsi.chuanghao); save_file(students,sum);/*添加信息模块*/intappend(STUDENTSstudents,intsum) inti=sum,flag=0; /*从已经输入的学生尾部添加*/charchoice ; sum=read_file(students); system(nn添加学生信息ndo if(iMAX)/*已经输入的学生个数和要添加的学生个数之和要小于定义的学生个数最大值*/ printf(n新学生学号:studentsi.num);/*输入添加学生的基本信息*/n学生宿舍号:n床号:n继续添加吗(Y/N

9、)choice=getch(); if(choice=Y|choice=y) flag=1;n继续!/*是否要继续添加*/ elseflag=0; while(flag=1);n按任意键返回主菜单! save_file(students,i);/*保存添加的学生信息到原文件*/ returni;/*返回文件中学生个数值*/*修改信息模块*/voidmodify(STUDENTSstudents,intsum)um=modify_num)n学生信息nnumnamesexageyear-month-dayaddresssushezhuanyechuanghaon,studentsi.num,stu

10、dentsi.name,studentsi.sex,studentsi.age,studentsi.,studentsi.,studentsi.,studentsi.sushe,studentsi.classes,studentsi.zhuanye,studentsi.chuanghao);n要修改哪一项nn1.学生学号nn2.学生姓名nn3.学生性别nn4.学生年龄nn5.学生出生年月日nn6.学生宿舍号nn7.学生班级nn8.学生专业nn9.学生床号nn请选择(1-9): scanf(choice); switch(choice) case1:n输入修改后的学号: scanf(break;

11、 case2:n输入修改后的姓名: case3:n输入修改后的性别:/*选择要修改学生的项目*/ case4:n输入修改后的年龄: case5:n输入修改后的出生年月: case6:n输入修改后的宿舍号: case7:n输入修改后的班级: case8:n输入修改后的专业: case9:n输入修改后的床号: n学生信息表n break;/*输出修改后的学生信息*/ if(i=sum)n该学生不存在! getch();nn继续修改吗( choice=getch(); /*是否要继续修改*/*保存修改后的信息*/*删除信息模块*/ intdel(STUDENTSstudents,intsum) in

12、ti,del_num;请输入要删除的学生学号del_num);/*输入要删除的学生学号*/ for(i=0;i+) if(del_num=studentsi.num) for(;sum-1; studentsi.num=studentsi+1.num;删除成功 save_file(students,sum-1);/*保存删除后的学生信息到原文件*/ return(sum-1);/*查询信息模块*/voidinquire(STUDENTSstudents,intsum) FILE*fp; inti,choice,flag,inquire_num;/*读文件*/%dn,sum); do syste

13、m(n输入要查询的学生学号:scanf(inquire_num);/*输入要查询的学生学号*/ if(studentsi.num=inquire_num)n此学生信息为:%5d%5s%5s%5d%d%d%d%5s%5s%5s%5sn break;/*输出要查询的学生信息*/ if(i=sum)n无此学生信息nnn是否继续(/*是否要继续*/while(flag=1);getch();/*统计信息模块*/voidcount(STUDENTSstudents,intsum) inti,count=0;chars10;请输入要统计的班级的学生的班级号!,s);/*按输入的班级号统计此班的总学生人数*

14、/if(strcmp(s,studentsi.classes)=0) count+;%s班的总人数为%d人,s,count); save_file(students,sum);/*排行信息模块*/voidsort(STUDENTSstudents,intsum) inti,j,t;n学生信息排行nn按学号排行ni+)/*按学号用冒泡法升序排列学生信息*/ for(j=i+1;jstudentsj.num) t=studentsi.num; studentsi.num=studentsj.num; studentsj.num=t; studentsi.num,studentsi.name,stu

15、dentsi.sex,studentsi.age,studentsi.,studentsi.,studentsi.,studentsi.sushe,studentsi.classes,studentsi.zhuanye,studentsi.chuanghao);/*输出排序后的学生信息*/*保存排序后的学生信息到文件中*/voidmima()charmima;chara9; 请输入密码:8;mima=getch();*ai=mima;a8=0nnnnnnnnn成功登陆!else nnnnnnnnn密码错误,您无权使用该系统!nnexit(1);voidmain()/*主函数*/ STUDENT

16、SstudentsMAX;intchoice,sum;mima();sum=read_file(students);if(!sum)并录入基本库存信息! sum=input(students);/*录入学生信息*/system(nnn学生宿舍管理系统nn1.添加学生信息nn2.修改学生信息nn3.删除学生信息nn4.查询学生信息nn5.统计学生信息nn6.学生排序nn7.打印学生信息nn0.退出系统nn请选择(0-7): switch(choice)/*用switch选择要调用的各模块函数并执行*/ case1:sum=append(students,sum);modify(students,sum);sum=del(students,sum);inquir

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

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