资源描述:
《【精品】宿舍管理软件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、东莞理工学Bt课程课程设计数据结构题目宿舍管理软件1问题要求及任务描述1.1题目要求宿舍管理软件(2人)1)问题描述设某宿舍有:101,102,201,202四个房间,每个房间有4个床位,学生信息包括学号、姓名、房间号,为学生宿舍管理人员编写一个宿舍管理软件。2)基本要求该程序应该具有下列功能:(1)学生的入住处理;(2)学生退房处理;(3)输出学生入住信息(按房间号和床号有序);(4)修改入住信息;(5)学生调换宿舍或床位处理;(6)按给定学号、姓名、房号查询;(7)杏询房间使用情况。1.2主要任务1、结构体的定义、2、主函数的定义A3、结构体的初始
2、化4、菜单函数的设定丿5、学生的入住处理]6、学生退房处理7、输出学生入住信息》8、修改入住信息9、查询房间使用情况丿2解决问题的主要思路和方法2.1关键问题结构体的定义和学生入住信息的录入结构体的定义是一个很纠结的问题,既要做到简单易懂,又要可读性高,为此,改变了很多次。2.2拟采用解决问题的方法在学生信息输入的过程屮:第一步:在主函数中,调用菜单函数第二部:在switch开关语句中进行选择第三步:执行F1函数,要判断那个房间那个床位是否已经有人住了第四步:如果没有人,那么输入学号,输入姓名第五步:输入完毕,返冋2.3主要算法和处理流程图Switch
3、函数选择F1函数kfz、z输入、3程序实现3.1程序实现时应考虑的问题main函数调用menu函数menu函数里面有switch开关语句menuI羽数调用FlI羽数menu函数调用F2函数menu函数调用F3函数menu函数调用F4函数menu函数调用F5函数menu函数调用F6函数menu函数调用F7函数3.2主要源代码及说明#include#include#include#include/*这个与exit()有关*//*这与字符串处理函数有关勺/*这与getch()有关*/
4、structstudent{intstudentid;charstudentname[10J;introom;intbed;}str[16J;voidF1()intnj=O5h=O;printf(n请问要录入儿位学生:”);scanf(”%d”,&n);for(j=0;j<16;j++)if(str[jj.studentid==O)printf(”%d房%(1号床位",str[j].room,strIj].bed);printfC学#:n);scanf("%d",&str[j].studentid);printfC*姓名:”);scanf(H%sH
5、,&str[j].studentname);h++;if(h==n)break;printf(Hn);printfC*输出完毕!按任意键返冋主菜单!”);getch();/*getch有停顿作用*/voidF2(){inti,n,j;chara[20];for(i=0;i<16;i++){if(str[i].studentid!=0){printf(H学号:%d%sH,str[i].studentid,str[i].studentname);printfC*请问你要删除几个人:”);scanf(”%d”,&n);for(j=O;j6、+)printf(n请输入你要删除的名字:”);scanf("%s",a);for(i=0;i<16;i++){if(strcmp(a,str[i].studentname)==O){str[i].studentid=O;printfC已删除!“);printf(Hn);printf(”输出完毕!按任意键返回主菜单!”);getch();voidF3(){inti;printf(n输出学生入住信息:”);for(i=0;i<16;i++){if(str[i].studentid!=O){printf("%d宿舍%d号床:%s学#:%d
7、n",str[i].room,str[i].bed,str[i].studentname,str[i].studentid);}printfC^nKn");printf(n输出完毕!按任意键返回主菜单!”);voidF4(){inti,j,n=l,a[16],h;for(i=0;i<16;i++){if(str[i].studentid!=O){printf(H%d、%d宿舍%d号床:%s学^•:%d",n,str[i].room,str[i].bed,str[i].studentname,str[i].studentid);a[n]=i;n++;
8、printf(n请问你要修改哪一个:”);scanf(n%d&j);h=a[j];print