欢迎来到天天文库
浏览记录
ID:57075672
大小:225.50 KB
页数:21页
时间:2020-08-01
《宿舍管理系统课程设计资料报告材料.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、农业大学理学与信息科学学院高级语言课程设计报告设计题目宿舍管理系统学生专业班级班学生(学号)设计小组其他同学(学号)指导教师完成时间设计地点2016年12月06日一、课程设计目的和任务《高级语言程序设计》课程设计是计算机相关专业的主要实践性教学环节。其目的在于加深对高级语言程序设计理论和基本知识的理解,掌握使用C语言进行面向过程设计的基本方法,提高运用面向过程知识解决实际问题的能力。为毕业设计和以后的工程实践打下良好的基础。宿舍管理系统:用C语言为学生宿舍管理人员编写一个宿舍管理软件。设某宿舍有:101,102,201,202四个房间,每个房间可住学生<=4人
2、,存储结构:学号、、房间号,按房间号有序,实现学生的入住、退房和查询,按给定学号、、房号查询。二、分析与设计1.程序的基本功能:(1).实现新生入住登记(2).修改入住学生信息(3)实现退房(4)实现以查询学生信息(5)实现以学号查询学生信息(6)实现以寝室号查询学生信息(7)实现按照寝室号从小到大排序(8)实现按学号从小到大排序(9)实现显示所有学生信息(10)实现退出程序并保存数据2.定义的函数及说明: 此程序由11个函数构成。 Add----------添加学生信息函数(、学号、宿舍号、班级) Alter----------修改学生信息函数
3、Delete--------删除学生信息函数 Display_All--------显示所有学生信息函数Query_S_name---------查询函数以为关键字进行查询Query_S_number-------查询函数以学号为关键字进行查询 Query_D_number------查询函数以寝室号为关键字进行查询Save-----存储函数 Judge_Save----退出程序时判断是否保存函数Menu--菜单Main---主函数3.系统总框图:三、系统实施1.源程序代码:#include#include4、>#include#includeintdirty=0;//用来判断是否已保存操作//定义一个存储学生相关信息的结构体typedefstruct{charS_name[10];//学生charS_number[10];//学生学号intD_number;//学生所在寝室的宿舍号charS_class1[10];//班级intTotal;//学生总数}Student[16];intsushehao[4]={101,102,201,202};intcount[4]={0};//判断学号是否与表中所存学号重复voidS_numb5、er_Judge(StudentS,intt){inti;for(i=1;i<=(S->Total)-1;i++)while(strcmp(S[i].S_number,S[t].S_number)==0)//strcmp字符串比较函数,两个字符逐个比较,相等返回值为{printf("学号输入失败,该学号已存在,请重新输入学号!");printf("请输入学生的学号(10个字符以):");scanf("%s",S[t].S_number);getchar();i=1;}}//添加学生信息函数voidAdd(StudentS){intj;intflag=1;p6、rintf("请输入学生(10个字符以):");scanf("%s",S[++(S->Total)].S_name);getchar();//获取换行符printf("请输入学生的学号(10个字符以):");scanf("%s",S[S->Total].S_number);getchar();S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复while(flag){printf("请输入宿舍:");scanf("%d",&S[S->Total].D_number);for(j=0;j<4;j++){if(S[S-7、>Total].D_number==sushehao[j]&&count[j]<4){count[j]++;flag=0;break;}if(S[S->Total].D_number==sushehao[j]&&count[j]==4){printf("该宿舍已满,请重新输入");break;}}}getchar();printf("请输入所在班级:");scanf("%s",S[S->Total].S_class1);getchar();printf("添加成功!");}//修改学生信息函数voidAlter(StudentS){inti;int8、flag=0;//用来判断表中是否存在
4、>#include#includeintdirty=0;//用来判断是否已保存操作//定义一个存储学生相关信息的结构体typedefstruct{charS_name[10];//学生charS_number[10];//学生学号intD_number;//学生所在寝室的宿舍号charS_class1[10];//班级intTotal;//学生总数}Student[16];intsushehao[4]={101,102,201,202};intcount[4]={0};//判断学号是否与表中所存学号重复voidS_numb
5、er_Judge(StudentS,intt){inti;for(i=1;i<=(S->Total)-1;i++)while(strcmp(S[i].S_number,S[t].S_number)==0)//strcmp字符串比较函数,两个字符逐个比较,相等返回值为{printf("学号输入失败,该学号已存在,请重新输入学号!");printf("请输入学生的学号(10个字符以):");scanf("%s",S[t].S_number);getchar();i=1;}}//添加学生信息函数voidAdd(StudentS){intj;intflag=1;p
6、rintf("请输入学生(10个字符以):");scanf("%s",S[++(S->Total)].S_name);getchar();//获取换行符printf("请输入学生的学号(10个字符以):");scanf("%s",S[S->Total].S_number);getchar();S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复while(flag){printf("请输入宿舍:");scanf("%d",&S[S->Total].D_number);for(j=0;j<4;j++){if(S[S-
7、>Total].D_number==sushehao[j]&&count[j]<4){count[j]++;flag=0;break;}if(S[S->Total].D_number==sushehao[j]&&count[j]==4){printf("该宿舍已满,请重新输入");break;}}}getchar();printf("请输入所在班级:");scanf("%s",S[S->Total].S_class1);getchar();printf("添加成功!");}//修改学生信息函数voidAlter(StudentS){inti;int
8、flag=0;//用来判断表中是否存在
此文档下载收益归作者所有