版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JISHOUUNIVERSITY本科生课程设计计算机语言程序设计基础I题目:学生信息管理系统开发作者:学号:所属学院:班级:完成时间:1/44评分表序号评分项分数1出勤及表现2功能完善3文档格式与文字表达4代码风格5测试调试6图表7功能设计8目录结构设计9界面与流程10加分合计课程设计工作组长签字:年月日2/441、 问题分析52、 总体设计71. 界面设计72. 数据结构设计83. 文件结构设计94. 系统功能结构设计95. 工程目录结构设计10三、模块实现、测试与调试101. 主控模块10函数原型10函数定义10函数测试122. 界面模块131)打印菜单功能132)打印学生卡片163)打印
2、添加学生提示184)打印删除学生提示195)打印修改学生提示203. 数据处理模块211)添加学生功能213/442)删除学生功能243)修改学生功能264)查询功能275)浏览功能6)列表判空功能277)列表判满功能284. 存储模块291)读入数据292)保存数据31四、系统集成测试321 .主控模块+添加学生322 .主控模块+添加学生+存储模块36五、总结434/44问题分析课程设计的题目为学生信息管理系统开发,要求实现添加学生、删除学生、修改学生信息、浏览所有学生和查询学生等操作。为了能够把学生信息永久保存下来需要使用文件。需要保存的数据结构简单,数据文件采用纯文本文件,扩展名为tx
3、t。学生信息包括以下几个数据:学号、姓名、性别、班级、宿舍。这些数据都是字符串类型,学号的长度为12,姓名的最大长度为50,性别的最大长度为2,班级的最大长度为30,宿舍的最大长度为10。性别必须是男或者女。所有数据均不能为空。添加学生操作要求用户输入学生的所有信息。删除学生操作要求用户首先输入要删除的学生的学号,然后系统根据学号删除相应数据。修改学生信息要求用户输入学生的所有信息,然后系统用输入的数据替代现有的数据。浏览所有学生信息操作把所有学生的信息按照添加的先后顺序显示出来。查询学生操作要求用户首先输入要删除的学生的学号,然后系统根据学号找到相应数据,并且显示出来。上述所有操作正常完成后
4、,不给出任何报告,如果不能正常完成,则给出错误报告。在系统启动时,从数据文件中读入数据,操作过程中数据更新保存在内存,在系统退出或者用户要求保存时才把内存中的数据保存到文件中。系统为控制台应用程序,采用控制台菜单作为用户界面。系统总体5/44业务流程见下图6/44总体设计1.界面设计系统菜单提供与系统需要完成的添加学生、删除学生、修改学生信息、浏览所有学生和查询学生功能相对应的菜单命令,以及保存文件和退出系统的菜单命令。从数据文件中读入数据是在系统启动时自动完成的,不需要提供相应的菜单命令。下图为命令菜单。*学生信息管理系统1。添加学生2。删除学生3。修改学生4。查询学生5。学生列表6。保存文
5、件0。退出系统*浏览所有学生操作的打印结果采用列表方式显示,列表包括三个部分:表格标题、表头和表格数据。下图为学生列表的一个例子。=生名册=学号姓名性别班级宿舍20144055001冯午阳男14通信17#101添加学生给出的提示信息如下图所示,包括操作提示和信息提示两个部分。添加学生学号姓名性别班级宿舍7/44修改学生给出的提示信息如下图所示,包括操作提示和信息提示两个部分。修改学生学号姓名性别班级宿舍查询学生的结果是学生信息卡,如下图所示,在开始标识和结束标识之间,以每行一条数据的方式显示各项信息。号名别级舍学姓性班宿=¥生卡片=20144055003冯午阳男14通信17#1012
6、 .数据结构设计用结构体存放学生信息,结构体类型Student定义如下图所示。其中使用常量存放各项数据的最大长度。structStudentcharsidSID_SIZE+1;/学号charnameNAME_SIZE+1;/姓名charsexSEX_SIZE+1;/性别charsClassSCLASS_SIZE+1;/班级chardormDORM_SIZE+1;/宿舍;用数组sList存放学生信息表,用SIZE存放数组的最大长度,用整型变量len保存数组中存放的学生个数,并初始化为0。相关的定义代码如下图所示。StudentsListLIST_SIZE;intlen=0;8/443 .文件结构
7、设计存放学生信息的文件名为studentData.txt,文件中每行保存一个学生的数据。每行为5个字符串,中间用一个空格隔开。每个字符串为一项数据,依次为学号、姓名、性别、班级、宿舍。每项数据为一个没有空格的字符串。4 .系统功能结构设计除主控模块外,整个系统的主要功能分为三大模块:界面、存储、数据处理。界面模块包括打印菜单、打印学生卡片、打印添加学生提示、打印删除学生提示、打印修改学生提示、打印查询学生提示、打印学生列表、报告表空、报告学生不存在、报告文件错误。存储模块包括读入数据和保存数据。数据处理模块包括添加学生、删除学生、修改学生、查询、浏览和列表判空。系统功能结构如下图所示。打印菜单
8、打印学生卡片I,打印修改提示打印添加提一n_卡片打印删除提示,打印学生列表工打印查询提示$报告表空报告文件错误I,报告学生不存在添加学生删除学生修改学生判空.判满读入数据保存数据9/445 .工程目录结构设计系统工程名称StudentMan,main.cpp中定义main函数,实现总体业务流程的控制,ui.h、ui.cpp中声明、定义界面模块中的各个功能函数,store.h、store.cpp中声明、定义存储模块中的各个功能函数,data.h、data.cpp中声明、定义数据处理模块中的各个功能函数。三、模块实现、测试与调试1.主控模块函数原型intmain();函数定义#include<
9、;iostream>#include<cstdio>#include<conio.h>usingnamespacestd;intmain()charcmd;/1.读入数据/cout<<”读入数据"<<endl;printf("读入数据n");/循环执行步骤2、3、4while(true)/2.打印菜单/cout<<"菜单"<<endl;printf("菜单n");10/44/3.输入命令cmdcout<<"请输入命令(1,2,
10、3,4,5,6,0):"<<endl;printf("请输入命令(1,2,3,4,5,6,0):n");/cin>>cmd;/scanf("%c",&cmd);cmd=getch();switch(cmd)/4.根据cmd,分支case'0':/4.1如果cmd是退出,/4.1.1保存数据/cout<<"保存数据"<<endl;printf("保存数据n");/4.1.2退出系统exit(-1);break;case'6
11、9;:/4.2如果cmd是保存/4.2.1保存数据/cout<<"保存数据"<<endl;printf("保存数据n");break;case'1':/4.3如果cmd是添加/4.3.1添加学生/cout<<"添加学生"<<endl;printf("添加学生n");break;case'2':/4.4如果cmd是删除/4.4.1删除学生/cout<<"删除学生"<<endl;printf(&q
12、uot;删除学生n");break;case'3':/4.5如果cmd是修改/4.5.1修改学生/cout<<"修改学生"<<endl;printf("修改学生n");break;case'4':/4.6如果cmd是查询/4.6.1查询学生11/44/cout<<"查询学生"<<endl;printf("查询学生n");break;case'5':/4.7如果cmd是浏览/4.7.1打印学生列表/cout<
13、;<"学生列表"<<endl;printf("学生列表n");break;default:printf("错误命令!n");break;)return0;)函数测试测试记录12/441.当使用scanf("%c",&cmd);输入命令时出现问题。更正办法是:使用cmd=getch();输入命令。需要包含conio.h头文件。2.界面模块界面模块包括打印菜单、打印学生卡片、打印添加学生提示、打印删除学生提示、打印修改学生提示、打印查询学生提示、打印学生列表、报告表空、报告学生不存在、报告文件
14、错误。1)打印菜单功能函数原型voidprintMenu();函数定义voidprintMenu()printf("*n");printf("学生信息管理系统n");printf("1。添加学生n");printf("2。删除学生n");printf("3。修改学生n");printf("4。查询学生n");printf("5。学生列表n");printf("6。保存文件n");printf("0。退山系统n");p
15、rintf(”*n");函数测试#include<iostream>#include<cstdio>#include<conio.h>#include"ui.h"usingnamespacestd;intmain()13/44charcmd;/1,读入数据/cout<<"读入数据."<<endl;printf("读入数据.n");/循环执行步骤2、3、4while(true)/2.打印菜单/cout<<"菜单"<<endl
16、;/printf("菜单n");printMenu();/3.输入命令cmd/cout<<"请输入命令(1,2,3,4,5,6,0):"<<endl;printf("请输入命令(1,2,3,4,5,6,0):n");/cin>>cmd;/scanf("%c”,&cmd);cmd=getch();switch(cmd)/4.根据cmd,分支case'0':/4.1如果cmd是退出,/4.1.1保存数据/cout<<"保存数据"<&
17、lt;endl;printf("保存数据n");/4.1.2退出系统exit(-1);break;case'6':/4.2如果cmd是保存/4.2.1保存数据/cout<<"保存数据"<<endl;printf("保存数据n");break;case'1':/4.3如果cmd是添加/4.3.1添加学生/cout<<"添加学生"<<endl;printf("添加学生n");break;case'2':/
18、4.4如果cmd是删除/4.4.1删除学生/cout<<"删除学生"<<endl;printf("删除学生n");14/44break;case'3':/4.5如果cmd是修改/4.5.1修改学生/cout<<"修改学生"<<endl;printf("修改学生n");break;case'4':/4.6如果cmd是查询/4.6.1查询学生/cout<<"查询学生"<<endl;printf(&
19、quot;查询学生n");break;case'5':/4.7如果cmd是浏览/4.7.1打印学生列表/cout<<"学生列表"<<endl;printf("学生列表n");break;default:printf("错误命令!n");break;return0;15/44;i读入数框.,3jp|iniGiniain+3iai5ipip)oinia:ip$sojt5fsin学生信息管理系统lo添加学生2 .删除学生3-修改学生4查询学生5 .学生列表6 .保存文件0退出系统请输入命令(
20、I,2,3,4,5,6,0):,皿0做|疗8.广苴茎并I口*If#|5|史口|一|】|田画3-tits.'a-ji12)浏览功能函数原型voidprintStudentList(StudentsList,intlen);函数定义单元测试3)打印学生卡片函数原型voidprintStudent(Students);函数定义voidprintStudent(Students)printf("=学生卡片=n");printf("学号:%s'n",s.sid);printf("姓名:%sn",);printf(&q
21、uot;性别:%sn",s.sex);16/44printf("班级:%sn",s.sClass);printf("宿舍:%sn",s.dorm);printf("=n");)单元测试测试代码voidtest_printStudent()Students="20144055003”,"冯午阳","男","14通信1","7#101"printStudent(s);=学生卡片学号:2口144055003姓名;冯午乐性打:男班级:14通信1
22、宿舍:7#101rressanykeytocontinueI*qa戊任与J.Mil1口岂?q知己力.-,三出Bl-4,S.1测试代码voidtest_printStudent()Students="20144055003","韩宇枫","男","14通信1","7#101"printStudent(s);17/44-ini)学生卡片=40枫信1M宇通102n韩男M7S学姓性.Pressanykeytocontinue我.白.£门幻l,q副I;.刃度ir*3)打印添加学生提示函数原型vo
23、idprintAddStudentTips();函数定义voidprintAddStudentTips()printf("添加学生n");printf("学号姓名性别班级宿舍n");)单元测试intmain()printAddStudentTips();18/44return0;*1熬力口学去学号姓名性别班级宿舍Pressanykeytocontinuedi鼠4)打印删除学生提示函数原型voidprintDeleteTips();函数定义修改学生性别班级-n");宿舍n");voidprintDeleteTips()printf(&q
24、uot;printf("学号姓名)单元测试#include<stdio.h>#include"ui.h"intmain()printDeleteTips();return0;=1E二uDebugtudeitleze修改学生刍学号姓名性别班级宿舍Pressanykeytocontinuedl良19/445)打印修改学生提示函数原型函数定义单元测试打印查询学生提示函数原型函数定义单元测试打印学生列表函数原型函数定义单元测试报告表空函数原型函数定义单元测试报告学生不存在函数原型20/44函数定义单元测试报告文件错误函数原型函数定义单元测试3.数据处理模块数据
25、处理模块包括添加学生、删除学生、修改学生、查询、浏览和列表判空。1)添加学生功能函数原型voidaddStudent(StudentsList,intlen,Students);函数定义voidaddStudent(StudentsList,int*len,Students)strcpy(sList*len.sid,s.sid);strcpy(sList*,);strcpy(sList*len.sex,s.sex);strcpy(sList*len.sClass,s.sClass);strcpy(sList*len.dorm,s.dorm);(*len)+;21/4
26、4单元测试voidaddStudent(StudentsList,int*len,Students)strcpy(sList*len.sid,s.sid);strcpy(sList*,);strcpy(sList*len.sex,s.sex);strcpy(sList*len.sClass,s.sClass);strcpy(sList*len.dorm,s.dorm);(*len)+;voidtest_addStudent()StudentsList10;intlen=0;Students="20144055003”,"冯午阳",&qu
27、ot;男","14通信1","7#101”;addStudent(sList,&len,s);printStudent(sList0);printf("学里数百:%dn",len);测试记录1 .第一次的代码voidaddStudent(StudentsList,intlen,Students)strcpy(sListlen.sid,s.sid);strcpy(sL,);strcpy(sListlen.sex,s.sex);strcpy(sListlen.sClass,s.sClass);st
28、rcpy(sListlen.dorm,s.dorm);len+;voidtest_addStudent()StudentsList10;intlen=0;Students="20144055003","冯午阳","男","14通信1","7#101"addStudent(sList,len,s);printStudent(sList0);printf("学基数百:%dn",len);22/44F:ludcutlmXIldsngKS<n.<Hul,工.-ICI
29、65;号名别级舍学姓性班宿二二二学生卡片二二:二沼:20144055003I:冯午阳:男I;14通信1:7#101I学生数目:0Pressanykeytocontinue1JI20问题:学生数目应该为1,输出结果是0.分析:说明记录学生数目的变量len的值没有变化。原因是单向值传递。修改:传递len的地址修改后的代码:voidaddStudent(StudentsList,int*len,Students)strcpy(sList*len.sid,s.sid);strcpy(sList*,);strcpy(sList*len.sex,s.sex);strcpy(sL
30、ist*len.sClass,s.sClass);strcpy(sList*len.dorm,s.dorm);(*len)+;voidtest_addStudent()StudentsList10;intlen=0;Students="20144055003”,"冯午阳","男","14通信1","7#101"addStudent(sList,&len,s);printStudent(sList0);printf("学生数目:%dn",len);测试结果23/44=学生卡片=m
31、学号工20144055003姓名士冯午阳性别男班级:14通信1宿舍=7#101学生数目,1Pressanykeytocontinue2)删除学生功能从学生列表sList中删除编号为i的学生,要求i大于等于0小于学生数目len。函数原型voiddeleteStudent(StudentsList,int*len,inti);函数定义voiddeleteStudent(StudentsList,int*len,inti)/把编号i+1到len-1的学生的数据前移一位for(;i<=*len-2;i+)sListi=sListi+1;/学生数目减1(*len)-;单元测试voidtest_de
32、leteStudent()StudentsList10;intlen=0;charfileName="studentData.txt"charfileName2="studentData2.txt"intflag=readData(fileName,sList,&len);deleteStudent(sList,&len,len/2);saveData(fileName2,sList,len);24/44)studentData.txt文件的内容20144055001冯午阳男14通信17#10120144055001冯午阳男14通信17#
33、10220144055001冯午阳男14通信17#10320144055001冯午阳男14通信17#104111www男14tong11702运行test_deleteStudent()后studentData2.txt文件的内容20144055001冯午阳男14通信17#10120144055001冯午阳男14通信17#10220144055001冯午阳男14通信17#103111www男14tong11702111www男14tong11702调试代码voidtest_deleteStudent()StudentsList10;intlen=0;charfileName尸"stu
34、dentData.txt"charfileName2尸"studentData2.txt"intflag=readData(fileName,sList,&len);printf("%d'n",len);deleteStudent(sList,&len,len/2);printf("%dn",len);saveData(fileName2,sList,len);根据调试结果,我们发现在数据文件studentData.txt中如果最后一行有换行符,则readData函数会多读入一条数据。修改readDa
35、ta函数,用fgetc(fp);fgetc(fp);吸收掉每行末尾的readData(charfileName口,StudentsList,int*len)FILE*fp=fopen(fileName,"r");Students;25/44if(fp=NULL)return0;)while(!feof(fp)fscanf(fp,"%s%s%s%s%s",s.sid,,s.sex,s.sClass,s.dorm);fgetc(fp);fgetc(fp);addStudent(sList,len,s);)fclose(fp);retu
36、rn1;)3)修改学生功能函数原型intupdateStudent(StudentsList,intlen,Students);函数定义intupdateStudent(StudentsList,intlen,Students)intp=find(sList,len,s.sid);if(p=-1)return0;else/strcpy(sListp.sid,s.sid);strcpy(sL,);strcpy(sListp.sex,s.sex);strcpy(sListp.sClass,s.sClass);strcpy(sListp.dorm,s.dorm);ret
37、urn1;单元测试voidtest_updateStudent()StudentsList10;intlen=0;intstatus;Students="20144055003","pppp","0","1414","7501”;charfileName="studentData.txt"26/44intflag=readData(fileName,sList,&len);status=updateStudent(sList,len,s);printf("%dn&qu
38、ot;,status);saveData(fileName,sList,len);数据文件studentData.txt原来的内容:20144055001fwy男14通信17#10320144055002fwy男14通信17#10420144055003tttt男14通信17#104执行函数test_updateStudent()后,数据文件studentData.txt的内容:20144055001fwy男14通信17#10320144055002fwy男14通信17#10420144055003pppp0141475014)查询功能函数原型函数定义单元测试6)列表判空功能函数原型27/44
39、intemptySList(intlen);函数定义intemptySList(intlen)if(len=0)return1;elsereturn0;单元测试voidtest_emptySList()intlen'=LIST_SIZE-1;intflag=emptySList(len);printf("%d'n",flag);len=LIST_SIZE;flag=emptySList(len);printf("%dn",flag);len=0;flag=emptySList(len);printf("%dn",fla
40、g);sg31ressanykeytocontinue07)列表判满功能函数原型intfullSList(intlen);函数定义intfullSList(intlen)if(len=LIST_SIZE)return1;else28/44return0;)单元测试voidtest_fullSList()intlen工LIST_SIZE-1;intflag=fullSList(len);printf("%d'n",flag);len=LIST_SIZE;flag=fullSList(len);printf("%dn",flag);)4.存储模块存储
41、模块包括读入数据和保存数据。存放学生信息的文件名为studentData.txt,文件中每行保存一个学生的数据。每行为5个字符串,中间用一个空格隔开。每个字符串为一项数据,依次为学号、姓名、性别、班级、宿舍。每项数据为一个没有空格的字符串。1)读入数据函数原型intreadData(charfilename口,StudentsList,int*len);29/44函数定义intreadData(charfileName口,StudentsList,int*len)FILE*fp=fopen(fileName,"r");Students;if(fp=NULL)return0;
42、)while(!feof(fp)fscanf(fp,"%s%s%s%s%s",s.sid,,s.sex,s.sClass,s.dorm);addStudent(sList,len,s);)fclose(fp);return1;)单元测试voidtest_readData()StudentsList10;intlen=0;charfileName尸"studentData.txt"intflag=readData(fileName,sList,&len);inti;if(flag=1)for(i=0;i<len;i+)printS
43、tudent(sListi);)elseprintf("文件访问出错!)studentData.txt文件的内容:20144055001冯午阳男14通信17#10120144055001冯午阳男14通信17#10220144055001冯午阳男14通信17#10320144055001冯午阳男14通信17#10430/44=学生卡片=:20144055001:冯午阳:男*3逋信1:7#152一一母,卜上L1._二,.一学号!20144(J55001姓名,诺午配性别:男班级:W通信1宿舍:7#103号名单级合寰性班宿+-T*.-r一号科别级台学姓牲我喈二二二学生卡片2014405500
44、1得午阳男11通信17#104",gmh'E)“序|a-i团WJU5.if,*正Piessanykeytocontinuefc;科,|第ja.7n-2)保存数据函数原型intsaveData(charfileName,StudentsList,intlen);函数定义intsaveData(charfileName,StudentsList,intlen)inti;FILE*fp=fopen(fileName,"w");if(fp=NULL)return0;for(i=0;i<len;i+)fprintf(fp,"%s%s%s%s%sn&q
45、uot;,sListi.sid,sL,sListi.sex,sListi.sClass,sListi.dorm);fclose(fp);return1;单元测试voidtest_saveData()StudentsList10;31/44intlen=0;charfileName="studentData.txt"charfileName2="studentData2.txt"intflag=readData(fileName,sList,&len);inti;if(flag=1)for(i=0;i<len;i+)prin
46、tStudent(sListi);elseprintf("文件访问出错!");strcpy(sL,"fwy");saveData(fileName2,sList,len);studentData2.txt文件中的内容:20144055001fwy男14通彳S17#10120144055001冯午阳男14通信17#10220144055001冯午阳男14通信17#10320144055001冯午阳男14通信17#104四、系统集成测试1.主控模块+添加学生测试代码#include<iostream>#include<cs
47、tdio>#include<conio.h>#include"ui.h"usingnamespacestd;intmain()/test_printStudent();printAddStudentTips();/test_addStudent();/test_fullSList();/return0;32/44charcmd;StudentsListLIST_SIZE;intlen=0;Students;/1.读入数据/cout<<”读入数据"<<endl;printf("读入数据n");/循环执行步
48、骤2、3、4while(true)/2.打印菜单/cout<<"菜单"<<endl;/printf("菜单n");printMenu();/3.输入命令cmd/cout<<"请输入命令(1,2,3,4,5,6,0):"<<endl;printf("请输入命令(1,2,3,4,5,6,0):n");/cin>>cmd;/scanf("%c”,&cmd);cmd=getch();switch(cmd)/4.根据cmd,分支case'0
49、':/4.1如果cmd是退出,/4.1.1保存数据/cout<<"保存数据"<<endl;printf("保存数据n");/4.1.2退出系统exit(-1);break;case'6':/4.2如果cmd是保存/4.2.1保存数据/cout<<"保存数据"<<endl;printf("保存数据n");break;case'1':/4.3如果cmd是添加/4.3.1添加学生33/44/cout<<"添加学生
50、"<<endl;/printf("添加学生n");if(fullSList(len)/判满/报告错误printf("空间已满!n");else/添加printAddStudentTips();/提示scanf("%s%s%s%s%s",s.sid,,s.sex,s.sClass,s.dorm);addStudent(sList,&len,s);printStudent(sListlen-1);break;case'2':/4.4如果cmd是删除/4.4.1删除学生/cout&l
51、t;<"删除学生"<<endl;printf("删除学生n");break;case'3':/4.5如果cmd是修改/4.5.1修改学生/cout<<"修改学生"<<endl;printf("修改学生n");break;case'4':/4.6如果cmd是查询/4.6.1查询学生/cout<<"查询学生"<<endl;printf("查询学生n");break;case'
52、5':/4.7如果cmd是浏览/4.7.1打印学生列表/cout<<"学生列表"<<endl;printf("学生列表n");break;default:printf("错误命令!n");break;34/44)return0;)侵人数据.*和将标*柏品击洌=*昧*学生信息管理系统lu添加学生2,删除学生丸修改学生4.查询学生B.学生列表60保存文件。口退出系统*输入命令。2,3,1,瓦姆0):1 添加学生学号姓名性别班级宿舍2054055001t.yy男15通信11502二,二二二二一学生卡片二二二二
53、二一二号名!;J级台始学姓性班宿蒜;20154055001:tyy上男273:1502IIJ.0HW口1人4七日,阜7引理1sxi1*IST-事寻安川*1:“把上面的intlen=0;语句改为intlen=LISTSIZE;电aAMll-u35/442.主控模块+添加学生+存储模块#include<iostream>#include<cstdio>#include<conio.h>#include"ui.h"#include"store.h"usingnamespacestd;intmain()/test_printS
54、tudent();printAddStudentTips();/test_addStudent();/test_fullSList();/test_readData();/test_saveData();/return0;charcmd;StudentsListLIST_SIZE;intlen=0;Students;intflag;charfileName="studentData.txt"/1.读入数据/cout<<"读入数据"<<endl;/printf("读入数据n");flag=readData(fil
55、eName,sList,&len);if(flag=0)printf("打开文件出错!");exit(-1);/循环执行步骤2、3、4while(true)4436/2,打印菜单/cout<<"菜单"<<endl;/printf("菜单n");printMenu();/3.输入命令cmd/cout<<"请输入命令(1,2,3,4,5,6,0):"<<endl;printf("请输入命令(1,2,3,4,5,6,0):n");/cin>
56、>cmd;scanf("%c”,&cmd);cmd=getch();switch(cmd)/4.根据cmd,分支case'0':/4.1如果cmd是退出,/4.1.1保存数据/cout<<"保存数据"<<endl;/printf("保存数据n");flag=saveData(fileName,sList,len);if(flag=0)printf("文件访问出错!");exit(-1);/4.1.2退出系统exit(0);case'6':/4.2如果cmd
57、是保存/4.2.1保存数据/cout<<"保存数据"<<endl;/printf("保存数据n");flag=saveData(fileName,sList,len);if(flag=0)printf("文件访问出错!");exit(-1);break;case'1':/4.3如果cmd是添加/4.3.1添加学生37/44/cout<<"添加学生"<<endl;/printf("添加学生n");if(fullSList(len)/判
58、满/报告错误printf("空间已满!n");else/添加printAddStudentTips();/提示scanf("%s%s%s%s%s",s.sid,,s.sex,s.sClass,s.dorm);addStudent(sList,&len,s);/printStudent(sListlen-1);break;case'2':/4.4如果cmd是删除/4.4.1删除学生/cout<<"删除学生"<<endl;printf("删除学生n");break;case'3':/4.5如果cmd是修改/4.5.1修改学生/cout<<"修改学生"<<endl;printf("修改学生n");break;case'4':/4.6如果cmd是查询/4.6.1查询学生/cout<<"查询学生"<<endl;printf("查询学生n");break;c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024窗帘供应与安装协议模板
- 2024年智能化弱电系统施工协议
- 2024专业消防设施保养协议
- 体检中心年底工作总结范文6篇
- 中铁建绩效考核
- 文书模板-《借款保证担保合同》
- 2024年二手房贷款业务协作协议样本
- 化普通商品购买:2024协议格式
- 2024年非公开股权转让协议范本
- 2024住宅小区物业经理聘任协议
- 新版手术室管理规范
- 《物流成本管理》(朱伟生 第六版)课件全套 第1-12章 绪论、物流成本计算 - 物流成本绩效考评
- 微量元素与人体健康智慧树知到期末考试答案章节答案2024年吉林大学
- 大学生数媒个人职业生涯规划
- 心理健康与职业生涯第11课《主动学习高效学习》第一框教案《做主动的学习者》
- 建筑垃圾清运及处置 投标方案(技术方案)
- 围手术期管理规范
- 2024年-会计师事务所审计保密协议
- 《中外舞蹈史》考试复习题库(含答案)
- GB/T 19923-2024城市污水再生利用工业用水水质
- 大疆无人机农用版培训课件
评论
0/150
提交评论