如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
上海电力学院数据结构C++课程设计题目:宿舍管理查询系统学生姓名:李鑫学号:20103277院系:计算机与信息工程学院专业年级:信息安全2010级2012年6月27日一、设计题目宿舍管理查询系统二、需求分析1)运行环境(软、硬件环境)Windows操作系统;其他无要求。2)输入的形式和输入值的范围控制台下按照给定的要求输入指定的数字0-9以及名字。学号:8位;姓名:两到四位;宿舍号:数字(不含字母)。3)输出的形式描述以固定的格式打印输出。4)功能描述采用交互工作方式,按照要求输入查询类型。可以:1.输入信息。输入学生姓名、输入学生学号、输入学生房号、是否继续输入。2.显示信息。显示学生学号、姓名、房号。3.排序信息。可以按:1、姓名,2、学号,3、房号。并会生成并保存文本文件。4.查询信息。可以按:1、姓名,2、学号,3、房号。需要输入相关的查询条件。0.退出5)测试数据姓名:李鑫,学号:20103277,房号:403姓名:张三,学号:20101111,房号:999姓名:和平鸽,学号:20105678,房号,111姓名:赵六,学号:20108766,房号,369三、概要设计1)抽象数据类型定义描述(对各类的成员及成员函数进行抽象描述,参见书或ppt及实验)定义了学生结构体,包含学生姓名、学号、房号。并且其对象大小为100个结构空间,为顺序存储结构。structstudent{charname[20];intstudnum;introomnum;}Stud[100];2)功能模块设计(如主程序模块设计)主程序为一个while无限循环,直到输入为零时,调用exit(0);方可退出循环,这是为了支持反复输入。While内部为switch选择语句,首先,打印输出查询类型,然后选择相应的项目序号,进而可以实现相应的功能,这是为了支持多项选择。voidmain(int,char**,char**)//主函数{while(1){switch(menu_select())//菜单选择{case0x31://输入case0x32://显示case0x33://排序do{cin>>s;switch(s){case0x31://按姓名排Sort_by_name(Stud,n);break;case0x32://按学号排Sort_by_studnum(Stud,n);break;case0x33://按房号排Sort_by_roomnum(Stud,n);break;}WriteToFile(Stud,n);//写入文件}while(m=='Y'||m=='y');case0x34://查询do{cin>>s;switch(s){case0x31://按姓名查Query_by_name(Stud,n);break;case0x32://按学号查Query_by_studnum(Stud,n);break;case0x33://按房号查Query_by_roomnum(Stud,n);break;}}while(m=='Y'||m=='y');case0x30://退出exit(0);}}}3)模块层次调用关系图宿舍管理查询系统输入信息显示信息排序信息查询信息退出姓名学号房号按姓名按学号按房号排序后存入文本中四、详细设计实现概要设计中定义的所有的类的定义及类中成员函数,并对主要的模块写出伪码算法。1.输入信息。intInput(studentStud[],intn)2.显示信息。voidDisplay(studentStud[],intn)3.排序信息。voidSort_by_name(studentStud[],intn)voidSort_by_studnum(studentStud[],intn)voidSort_by_roomnum(studentStud[],intn)写入文件中voidWriteToFile(studentStud[],intn){fstreamfile;file.open("mytext.txt",ios::trunc|i