付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中大学腹国地C语言课程设计综合实习报告学籍信息管理系统:目题姓名:黄凯学号:20081000153班级号:052081院(系):工程学院专业:土木工程指导教师:曹弘一,题目要求1.学生学籍信息管理系统设计要求使用下面的数据设计一个简单的学籍管理系统。学号姓名生别宿舍号码电话号码01张成成男5018773211102李成华女1018772311203王成凤女1018772311204张明明男5028773433305陈东男5018773211106李果男5028773433307张园园女10287756112学生成绩基本信息文件(B.TXT)极其内容:学号课程编-口勺课程名称学分平时成绩实验成绩
2、卷面成绩01A01大学物理366788202B03高等数学478-19001B03高等数学445-18802C01VF3657666(A.TXT)极其内容:学生基本信息文件综合成绩实得学分功能要求极其说明:(1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。综合成绩的计算:a.如果本课程的实验成绩为-1,则表无实验成绩,综合成绩=平时成绩*30%+卷面成绩*70%b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%实得学分的计算:采用等级学分制。综
3、合成绩在90100之间,应得学分=学分*100%综合成绩在8090之间,应得学分=学分*80%综合成绩在7080之间,应得学分=学分*75%综合成绩在6070之间,应得学分=学分*60%综合成绩在60分以下,应得学分=学分*0%(2)查询功能:分为学生基本情况查询和成绩查询两种学生基本情况查询:输入一个学号或姓名(可实现选择)查出此学生的基本信息并显示输出。输入一个宿舍号码,可查出本室所有学生的基本信息并显示输出。称号查询:输入一个学号时,查出此学生所有课程情况,格式如下:XXX实得学分:XX综合成绩:XXXX课程名称:XX学号:共修:X科,实得总、分为:XXX(3)删除功能:当在A.TXT中
4、删除一个学生时,自动地在B.TXT中删除此学生所有信息(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。提示数据结构采用结构体数组,提供学生基本信息和学生成绩基本信息结构体数组。二,需求分析根据题目要求,该程序应具备的功能有:(1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。(2)查询功能:分为学生基本情况查询和成绩查询两种(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
5、三,程序总体设计学生学籍信息管理系MENU(菜单)数排删查据序除询录退功功功入出能能能功模模模能块块块模块按按按按综综查查学学合合询询成分分成功功降升绩绩能能降序升序模模排排序序块块排排列列列列四,程序详细设计L主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。流程图程序voidmain()(while(1)(<<<<<<<<<<<<<<welcometousestudentmanage>>>>>>>>>&g
6、t;>>>>>>>nn);printf(*:=*n);printf(*1>input2>chazhao*n);printf(*3>delete4>paixuxianshi*n);printf(*5>exit*n);printf(*n);printf(*n);printf(Pleaseinputwhichyouwant(1-5):);ch=getch();switch(ch)(case'1':input();break;case'2':search();getch();break;case
7、39;3':delete();getch();break;case'4':sort();getch();break;case'5':exit(0);default:continue;)2个功能模块设计数据录入。数据2构我们需要录入的信息数据有两类:一类是学生基本信息,包括学号,学号姓名性别宿舍号码电话号码,存放在文件S_INFO.TXT中。另一类信息是学生成绩基本信息,包括学个数据。实得成绩、7号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共.实得学分根据条件自动运算。这些信息存放在文件S_SCORE.TXT中。学生基本信息的存放格式为:st
8、ructinfo(intsMingci;/名次charxuehao8;charname10;charsex2;chard_num4;宿舍号码chartel_num9;/宿舍电话号码data,s_info100;成绩基本信息的存放格式为:structcourse(charxuehao8;charcourse_No6;课程代号charcourse_name10;课程名字floatxuefen;/学分floatp_chengji;/平时成绩floats_chengji;实验成绩floatj_chengji;卷面成绩floatz_chengji;综合成绩floats_xuefen;实际学分course
9、_data,s_course100;需求分析数据录入模块的功能是用户通过输入选项在基本信息和成绩信息的输入之间进行选择O程序voidinput()while(1)whichinformationdoyouwanttoinput:b(base)s(socre)e(exit);ch=getch();if(ch='b'|ch='B')if(fp=fopen(s_info.txt,at+)=NULL)printf(cannotopenthisfile.n);getch();exit(0);Pleaseinputxuehao:);gets(sn);while(fread(
10、&data,sizeof(data),1,fp)=1)if(strcmp(sn,data.xuehao)=0)flag=1;if(flag=1)thenumberhasexist,pressangkeycontinue:n);flag=0;getch();continue;elsestrcpy(data.xuehao,sn);printf(Pleaseinputname:);gets();printf(Pleaseinputsex:M(male)/F(female):n);gets(data.sex);printf(PleaseinputyourdormitoryNo
11、:);gets(data.d_num);printf(PleaseinputtelephoneNumber:);gets(data.tel_num);fwrite(&data,sizeof(data),1,fp);/写入数据fclose(fp);/ifelseif(ch='s'|ch='S')(if(fp1=fopen(s_score.txt,at+)=NULL|(fp=fopen(s_info.txt,t)=NULL)(printf(cannotopenthisfile.n);getch();exit(0);Pleaseinputxuehao:);ge
12、ts(sn);while(fread(&data,sizeof(data),1,fp)=1)(if(strcmp(sn,data.xuehao)=0)flag=1;if(!flag)thisnumberisnotexistn);continue;)elseflag=0;strcpy(course_data.xuehao,sn);)PleaseinputcourseNo:);gets(course_data.course_No);Pleaseinputcoursename:);gets(course_data.course_name);Pleaseinputcoursexuefeng:)
13、;gets(temp);course_data.xuefen=atof(temp);Pleaseinputpingshichengji:);gets(temp);course_data.p_chengji=atof(temp);Pleaseinputshiyanchengji:);gets(temp);course_data.s_chengji=atof(temp);Pleaseinputjuanmianchengji:);gets(temp);course_data.j_chengji=atof(temp);/以下是综合成绩计算if(course_data.s_chengji=-1)/如果有
14、实验course_data.z_chengji=(course_data.p_chengji)*0.3+(course_data.j_chengji)*0.7;)else/如果无实验course_data.z_chengji=(course_data.p_chengji)*0.15+(course_data.s_chengji)*0.15+(course_data.j_chengji)*0.7;)以下是实际学分计算/if(course_data.z_chengji)<60)course_data.s_xuefen=0;elseif(course_data.z_chengji)<70
15、)course_data.s_xuefen=course_data.xuefen*0.6;elseif(course_data.z_chengji)<80)course_data.s_xuefen=course_data.xuefen*0.75;elseif(course_data.z_chengji)<90)course_data.s_xuefen=course_data.xuefen*0.8;elsecourse_data.s_xuefen=course_data.xuefen;fwrite(&course_data,sizeof(course_data),1,fp1)
16、;/写入数据fclose(fp1);fclose(fp);/elseifelsebreak;printf(another?y/n);ch=getch();if(ch='n'|ch='N')break;/input查询功能模块。需求分析学生基本情况查询是根据输入的学号该模块的功能分为学生基本情况查询和成绩查询两种。查出本室所有学生的或者根据输入的宿舍号码,或姓名查出此学生的基本信息并显示输出;基本信息并显示输出。成绩查询的功能是根据输入的学号,查出此学生的所有课程情况。流程图选择基本信息查询还是成绩查询.a/Ab/B学生基本情况查学生成绩查输入学选择根据学号姓名宿
17、舍号码查根据选择,输入学姓宿舍号是否找信是否找信显示找到的信提示没找到按任意键继显示找到的信息提示没找到,按任意键继续程序voidsearch()(selectform:a(studentinformation)b(socreinformation);ch=getch();if(ch='a'|ch='A')(if(fp=fopen(s_info.txt,t)=NULL)(Cannotopenthisfile.n);exit(0);selectway:a(studentNumber)b(studentname)c(dormitoryNO):n);ch1=getch
18、();/按照学号查找if(ch1='a'|ch1='A')(pleaseinputthestudentnumber:);gets(temp_NO);printf(xuehaonamesexsushehaotelephone);n);while(fread(&data,sizeof(data),1,fp)=1)(if(strcmp(temp_NO,data.xuehao)=0)flag=1;%8s_x0010_s_x0012_sssn,data.xuehao,,data.sex,data.d_num,data.tel_num);if(!f
19、lag)thisnumberisnotexist,pressanykeytocontinuen);getch();elseflag=0;/按照名字查找elseif(ch1='b'|ch1='B')pleaseinputthename:);gets(temp_name);printf(xuehaonamesexsushehaotelephone);n);while(fread(&data,sizeof(data),1,fp)=1)if(strcmp(temp_name,)=0)flag=1;%8s_x0010_s_x0012_sssn,d
20、ata.xuehao,,data.sex,data.d_num,data.tel_num);)if(!flag)thisnameisnotexist,pressanykeytocontinue:n);getch();)elseflag=0;)/按照宿舍号码查找elseif(ch1='c'|ch1='C')pleaseinputthedormitorynumber:);gets(temp_dnum);printf(xuehaonamesexsushehaotelephone);n);while(fread(&data,sizeof(dat
21、a),1,fp)=1)if(strcmp(temp_dnum,data.d_num)=0)flag=1;%8s_x0010_s_x0012_sssn,data.xuehao,,data.sex,data.d_num,data.tel_num);)if(!flag)printf(hisdormitoryisnotexist,pressanykeycontinue:);getch();)elseflag=0;)elseselecterrorn);)fclose(fp);/chif/学生成绩查找elseif(ch='b'|ch="B')(j=0;z
22、_fen=0;z_xuefen=0;if(fp1=fopen(s_score.txt,t)=NULL)(Cannotopenthisfile.n);exit(0);pleaseinputstudentnumber:);gets(temp_NO);printf(xuehaocourse_Nocourse_namexuefenchengji);n);while(fread(&course_data,sizeof(course_data),1,fp1)=1)(if(strcmp(temp_NO,course_data.xuehao)=0)flag=1;j+;z_fen=z_fen+cours
23、e_data.z_chengji;z_xuefen=z_xuefen+course_data.s_xuefen;_x0010_s_x0010_s_x0010_s.1f.1fn,course_data.xuehao,course_data.course_No,course_data.course_name,course_data.s_xuefen,course_data.z_chengji);)if(!flag)printf(isnotexist);)elseflag=0;)n);printf(z_gong:=kez_xuefen:%3.1fz_chengji:%6.1f,j,z_xuefen,
24、z_fen);)elseprintf(error);)fclose(fp1);)删除功能模块。需求分析该模块的功能是当在学生基本信息文件中删除一个学生时,自动在成绩信息文件中删除此人的所有信息。程序voiddelete()inputthenumberofstudentyouwanttodelete:);gets(temp_NO);if(fp1=fopen(s_score.txt,t)=NULL|(fp=fopen(s_info.txt,t)=NULL|(fp2=fopen(emp.txt,wt+)=NULL)printf(cannotopenthisfile.n);getch();exit(0
25、);)while(fread(&data,sizeof(data),1,fp)=1)if(strcmp(temp_NO,data.xuehao)!=0)fwrite(&data,sizeof(data),1,fp2);remove(s_info.txt);rename(emp.txt,s_info.txt);fclose(fp);fclose(fp2);if(fp1=fopen(s_score.txt,t)=NULL|(fp2=fopen(emp.txt,wt+)=NULL)printf(cannotopenthisfile.n);getch();exit(0);while(f
26、read(&course_data,sizeof(course_data),1,fp1)=1)if(strcmp(temp_NO,course_data.xuehao)!=0)fwrite(&course_data,sizeof(course_data),1,fp2);remove(s_score.txt);rename(emp.txt,s_score.txt);fclose(fp1);fclose(fp2);deletesuccessful);排序功能模块。需求分析该模块的功能是能实现选择根据综合成绩或实得学分升序或降序排序显示数据流程图输入要排序的课程名称是否找到NY该课程
27、提示没找到选择排序根据:根据学分还是综合成绩退出选择排序方法:升序还是降序根据选择对数据进行排序显示程序voidsort()(pleaseinputcoursenumber:);gets(tempcn);if(fp1=fopen(s_score.txt,t)=NULL)(printf(cannotopenthisfile.n);getch();exit(0);i=0;while(fread(&course_data,sizeof(course_data),1,fp1)=1)(if(strcmp(tempcn,course_data.course_No)=0)(s_coursei=cou
28、rse_data;i+;flag=1;if(!flag)(nosuchcoursen);else(flag=0;pleaseselectway:a(xuefen)b(zhonghechengji)n);ch=getch();select:s(shengxu)j(jiangxu);ch1=getch();if(ch='a'|ch='A')/升序排列if(ch1="s')(for(j=0;j<i-1;j+)(for(k=j;k<i;k+)(if(s_coursej.s_xuefen>s_coursek.s_xuefen)(temp
29、_course=s_coursej;s_coursej=s_coursek;s_coursek=temp_course;nxuehaocourse_numbercourse_namexuefenchengjin);n);for(j=0;j<i;j+)(%6s_x0010_s_x0016_s.1f.1fn,s_coursej.xuehao,s_coursej.course_No,s_coursej.course_name,s_coursej.s_xuefen,s_coursej.z_chengji);降序排列else(for(j=0;j<i-1;j+)(for(k=j;k<i;
30、k+)(if(s_coursej.s_xuefen<s_coursek.s_xuefen)(temp_course=s_coursej;s_coursej=s_coursek;s_coursek=temp_course;nxuehaocourse_numbercourse_namexuefenchengjin);n);for(j=0;j<i;j+)(%6s_x0010_s_x0016_s.1f.1fn,s_coursej.xuehao,s_coursej.course_No,s_coursej.course_name,s_coursej.s_xuefen,s_coursej.z_c
31、hengji);/ch1/chifelseif(ch='b'|ch='B')(/升序排列if(ch1="s'|ch1="S')(for(j=0;j<i-1;j+)(for(k=j;k<i;k+)(if(s_coursej.z_chengji>s_coursek.z_chengji)(temp_course=s_coursej;s_coursej=s_coursek;s_coursek=temp_course;nxuehaocourse_numbercourse_namexuefenchengjin);n);f
32、or(j=0;j<i;j+)(%6s_x0010_s_x0016_s.1f.1fn,s_coursej.xuehao,s_coursej.course_No,s_coursej.course_name,s_coursej.s_xuefen,s_coursej.z_chengji);降序排列else(for(j=0;j<i-1;j+)(for(k=j;k<i;k+)(if(s_coursej.z_chengji<s_coursek.z_chengji)(temp_course.z_chengji=s_coursej.z_chengji;s_coursej.z_chengj
33、i=s_coursek.z_chengji;s_coursek.z_chengji=temp_course.z_chengji;nxuehaocourse_numbercourse_namexuefenchengjin);n);for(j=0;j<i;j+)(%6s_x0010_s_x0016_s.1f.1fn,s_coursej.xuehao,s_coursej.course_No,s_coursej.course_name,s_coursej.s_xuefen,s_coursej.z_chengji);/ch1else(printf(illegalselect);getch();五,
34、上机操作编译、连接和运行下面是运行后各个模块的界面图:1主菜单函数2.数据录入3,查询功能(1)学生基本信息查询)学生成绩查询2(.4删除功能.5排序功能源程序:#includestdio.h/*I/O函数*/#includestdlib.h/*其它说明*/#includestring.h/*字符串函数*/#includeconio.h/*屏幕操彳函数*/#includememory.h/*内存操作函数*/#includectype.h/*字符操彳函数*/#includemalloc.h/*动态地址分配函数*/structcourse(charxuehao8;charcourse_No6;课程
35、代号charcourse_name10;课程名字floatxuefen;/学分floatp_chengji;/平时成绩floats_chengji;实验成绩floatj_chengji;卷面成绩floatz_chengji;综合成绩floats_xuefen;实际学分course_data,s_course100;structinfo(intsMingci;/名次charxuehao8;charname10;charsex2;chard_num4;宿舍号码chartel_num9;/宿舍电话号码data,s_info100;inti,j,k=0;inta,b;intflag=0;chartem
36、p20,ch,ch1,ch2;chartemp_NO8,temp_name10,temp_dnum4;chartempcn6;charsn8;临时学号floatz_fen,z_xuefen;structcoursetemp_course;structinfo*inf;FILE*fp,*fp1,*fp2;voidinput()(while(1)(s(socre)whichinformationdoyouwanttoinput:b(base)e(exit);ch=getch();if(ch='b'|ch='B')(if(fp=fopen(s_info.txt,at+
37、)=NULL)(printf(cannotopenthisfile.n);getch();exit(0);Pleaseinputxuehao:);gets(sn);while(fread(&data,sizeof(data),1,fp)=1)(if(strcmp(sn,data.xuehao)=0)(flag=1;)if(flag=1)(thenumberhasexist,pressangkeycontinue:n);flag=0;getch();continue;)else(strcpy(data.xuehao,sn);)printf(Pleaseinputname:);gets(d
38、);printf(Pleaseinputsex:M(male)/F(female):n);gets(data.sex);printf(PleaseinputyourdormitoryNo:);gets(data.d_num);printf(PleaseinputtelephoneNumber:);gets(data.tel_num);fwrite(&data,sizeof(data),1,fp);/写入数据fclose(fp);/ifelseif(ch='s'|ch='S')(if(fp1=fopen(s_score.txt,at+)=N
39、ULL|(fp=fopen(s_info.txt,t)=NULL)(printf(cannotopenthisfile.n);getch();exit(0);Pleaseinputxuehao:);gets(sn);while(fread(&data,sizeof(data),1,fp)=1)(if(strcmp(sn,data.xuehao)=0)flag=1;if(!flag)thisnumberisnotexistn);continue;elseflag=0;strcpy(course_data.xuehao,sn);PleaseinputcourseNo:);gets(cour
40、se_data.course_No);Pleaseinputcoursename:);gets(course_data.course_name);Pleaseinputcoursexuefeng:);gets(temp);course_data.xuefen=atof(temp);Pleaseinputpingshichengji:);gets(temp);course_data.p_chengji=atof(temp);Pleaseinputshiyanchengji:);gets(temp);course_data.s_chengji=atof(temp);Pleaseinputjuanm
41、ianchengji:);gets(temp);course_data.j_chengji=atof(temp);以下是综合成绩计算如果有实验if(course_data.s_chengji=-1)/course_data.z_chengji=(course_data.p_chengji)*0.3+(course_data.j_chengji)*0.7;如果无实验else/course_data.z_chengji=(course_data.p_chengji)*0.15+(course_data.s_chengji)*0.15+(course_data.j_chengji)*0.7;以下是实
42、际学分计算/if(course_data.z_chengji)<60)course_data.s_xuefen=0;elseif(course_data.z_chengji)<70)course_data.s_xuefen=course_data.xuefen*0.6;elseif(course_data.z_chengji)<80)course_data.s_xuefen=course_data.xuefen*0.75;elseif(course_data.z_chengji)<90)course_data.s_xuefen=course_data.xuefen*0.
43、8;elsecourse_data.s_xuefen=course_data.xuefen;写入数据fwrite(&course_data,sizeof(course_data),1,fp1);/fclose(fp1);fclose(fp);/elseifelsebreak;printf(another?y/n);ch=getch();if(ch='n'|ch='N')break;/inputvoidsearch()(selectform:a(studentinformation)b(socreinformation);ch=getch();if(ch=
44、'a'|ch='A')(if(fp=fopen(s_info.txt,t)=NULL)(Cannotopenthisfile.n);exit(0);)selectway:a(studentNumber)b(studentname)c(dormitoryNO):n);ch1=getch();/按照学号查找if(ch1='a'|ch1='A')(pleaseinputthestudentnumber:);gets(temp_NO);printf(xuehaonamesexsushehaotelephone);n);while(frea
45、d(&data,sizeof(data),1,fp)=1)(if(strcmp(temp_NO,data.xuehao)=0)flag=1;%8s_x0010_s_x0012_sssn,data.xuehao,,data.sex,data.d_num,data.tel_num);)if(用ag)thisnumberisnotexist,pressanykeytocontinuen);getch();)elseflag=0;)/按照名字查找elseif(ch1='b'|ch1='B')pleaseinputthename:);gets(t
46、emp_name);printf(xuehaonamesexsushehaotelephone);n);while(fread(&data,sizeof(data),1,fp)=1)if(strcmp(temp_name,)=0)flag=1;%8s_x0010_s_x0012_sssn,data.xuehao,,data.sex,data.d_num,data.tel_num);)if(!flag)thisnameisnotexist,pressanykeytocontinue:n);getch();)elseflag=0;)/按照宿舍号码查找el
47、seif(ch1='c'|ch1='C')pleaseinputthedormitorynumber:);gets(temp_dnum);printf(xuehaonamesexsushehaotelephone);n);while(fread(&data,sizeof(data),1,fp)=1)if(strcmp(temp_dnum,data.d_num)=0)flag=1;%8s_x0010_s_x0012_sssn,data.xuehao,,data.sex,data.d_num,data.tel_num);)if(!flag)printf(hisdormitoryisnotexist,pressanykeycontinue:);getch();)elseflag=0;)elseselecterrorn);)fclose(fp);/chif/学生成绩查找elseif(ch='b'|ch="B')(j=0;z_fen=0;z_xuefen=0;if(fp1=fopen(s_score.txt,t)=NULL)(Ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术修养:提高小学生审美能力的小学主题班会课件
- 寓教于乐润物无声:小学主题班会课件的魅力与应用
- 护士三基三严考试试题(附答案)-1
- 一年级钟表镜面题目及答案
- 一年级下楼题目及答案图片
- 小学生心理健康辅导主题班会课件关爱成长护航
- 守护绿色校园共建文明风尚小学主题班会课件
- 企业培训师演讲技巧培训指导书
- 智慧灯杆智能共享数据线施工方案及技术措施
- 远离心理疾病科学预防小学生心理健康主题班会课件
- 沥青混合料拌和设备操作工岗前基础培训考核试卷含答案
- 建国后中医院校中西医结合教育的发展历程、现状与展望:传承与创新之路
- (2025年)广电集团(电视台)工程技术类岗位笔试题及答案
- 人教部编版道德与法治七年级下册期末试卷
- 贵州国企招聘:2026贵州贵阳花溪智联数智科技服务有限公司招聘9人参考题库附答案
- T-CICC 31001-2025 兵棋推演名词术语
- 施工组织设计示范方案范文
- 2025四川省人力资源和社会保障厅制劳动合同书
- 外贸业务员培训知识内容课件
- (正式版)XJJ 109-2019 《自保温砌块应用技术标准》
- 村级信访工作培训课件
评论
0/150
提交评论