收藏 分销(赏)

学生成绩排名管理系统-C++-课程设计报告书样本.doc

上传人:二*** 文档编号:4532383 上传时间:2024-09-26 格式:DOC 页数:37 大小:1.27MB
下载 相关 举报
学生成绩排名管理系统-C++-课程设计报告书样本.doc_第1页
第1页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: C+语言课程设计 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院软件工程系 设计时间: .6.8.6.24 设计地点: 计算机工程学院机房 成绩:指引教师评语: 签名: 年 月 日1课程设计目C+课程设计是计算机科学与技术专业重要实践性教学环节之一,本次设计结合实际应用规定,使课程设计既覆盖C+知识点,又接近工程实际需要。目是通过课程设计综合训练,培养学生实际分析问题、解决问题能力,以及编程和动手能力,最后目的是通过课程设计这种形式,协助学生系统掌握C+这门课程重要内容,养成良好编程习惯,更好完毕教学任务。2课程设计任务

2、与规定:规定:本次课程设计运用C+程序设计课程中所学到编程知识和编程技巧,完毕具备一定难度和工作量程序设计题目,协助学生掌握编程、调试基本技能,独立完毕所布置任务。规定:1、对系统进行功能需求分析2、设计合理数据构造和系统框架3、编程简洁,程序功能齐全,能对的运营4、阐明书、流程图要清晰5、课题完毕后必要按规定提交课程设计报告任务:设计一种学生成绩排名系统,该系统重要功能如下:1) 具备对成绩管理功能(添加、删除、排序)2) 具备对成绩记录功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩功能。4)学生成绩应当保存在文献中。3课程设计阐明书概要设计模块阐明: 在我

3、设计程序中一共涉及了九个模块,分别是:浏览模块、添加模块、删除模块、查询模块、编辑模块、排序模块、读入文献模块、记录模块、退出系统模块。这九个功能中各个都是独立分开作为子函数,也就是说为了实现这九个功能我写了九个函数,在主函数中通过switch语句,把九个函数联系了起来,同步,为了实现多次使用这九个函数,就在switch语句外加了for循环。 功能机构图:详细设计 总体流程图:各功能模块流程图:浏览功能模块流程图 添加功能模块流程图 删除功能模块流程图 查询功能模块流程图修改功能模块流程图排序功能模块流程图读入文献功能模块流程图记录功能模块流程图退出系统功能模块流程图4课程设计成果源代码:#i

4、nclude #include#include#includeusing namespace std;struct lessonfloat cgrade;float egrade;float mgrade;struct man char name10; char clas20; int num;float sum;float average;lesson less;m100;int n=100;static int e=0;void sort();void handle();void search();void error() cout-输入错误请从新输入-endl;coutn;void da

5、ta_input() int a;cout添加学生信息endl;cout请输入信息 依次输入:学号 姓名 班级 C+ 英语 数学 输0结束endl;for(a=e;ama.num; if(ma.num=0) break; cinma.namema.clasma.less.cgrade ma.less.egradema.less.mgrade; e+; void data_show() int i;coutsetiosflags(ios:left)setw(2)学号 setw(10)姓名setw(10)班级setw(10)C+setw(10)英语setw(10)数学setw(10)总分setw(

6、10)平均分endl;for(i=0;ie;i+)mi.sum=mi.less.cgrade+mi.less.egrade+mi.less.mgrade; mi.average=mi.sum/3;coutsetiosflags(ios:left)setw(5)mi.num setw(10)mi.namesetw(10)mi.classetw(10)mi.less.cgradesetw(10)mi.less.egradesetw(10)mi.less.mgradesetw(10)mi.sumsetw(10)mi.averageendl; if(mi.num=0) break;void dalet

7、e() data_show(); couta; for(int i=0;ie;i+) if(a=mi.num) c+;int j;for(j=i;je-1;j+)strcpy(mj.name,mj+1.name);strcpy(mj.clas,mj+1.clas);mj.less.cgrade=mj+1.less.cgrade; mj.less.egrade=mj+1.less.egrade; mj.less.mgrade=mj+1.less.mgrade; mj.num=mj+1.num; for(i=0;ie-1;i+)coutsetw(5)mi.numsetw(15)mi.nameset

8、w(20)mi.classetw(12)mi.less.cgradesetw(15)mi.less.egradesetw(15)mi.less.mgradeendl;cout-删除成功-endl;break; if(c=0) error(); e-; void handle() float sumc=0,sume=0,summ=0;static float sum=0; char max_class20,max_name20,min_class20,min_name20;int i,j,c=0; float count1=0,count2=0,count3=0;float maxc=m0.le

9、ss.cgrade,minc=m0.less.cgrade,pc,maxe=m0.less.egrade,mine=m0.less.egrade,pe,maxm=m0.less.mgrade,minm=m0.less.mgrade,pm,max_score=maxc+maxe+maxm,min_score=maxc+maxe+maxm,max_cgrade=0,max_egrade=0,max_mgrade=0,max_num=0,min_cgrade=0,min_egrade=0,min_mgrade=0,min_num;for(i=1;imi.less.cgrade)minc=mi.les

10、s.cgrade;if(maxcmi.less.egrade)mine=mi.less.egrade;if(maxemi.less.mgrade)minm=mi.less.mgrade;if(maxmmi.less.mgrade)maxm=mi.less.mgrade;if(max_score(mi.less.cgrade+mi.less.egrade+mi.less.mgrade) min_score=mi.less.cgrade+mi.less.egrade+mi.less.mgrade; min_num=mi.num;strcpy(min_name,mi.name);strcpy(min

11、_class,mi.clas);min_cgrade=mi.less.cgrade;min_egrade=mi.less.egrade;min_mgrade=mi.less.mgrade; for(j=0;j=60) +count1; sume=sume+mj.less.egrade;if(mj.less.egrade=60) +count2; summ=summ+mj.less.mgrade;if(mj.less.mgrade=60) +count3;pc=count1;pe=count2;pm=count3;cout求学号为t学生总分和平均分请输入0,求全班总成绩信息请输入其他数字k;if

12、(k=0)cout请输入学生学号:t;for(i=0;ie;i+)if(t=mi.num)sum=mi.less.cgrade+mi.less.egrade+mi.less.mgrade;cout她是:mi.name 总分:sum 平均分 :sum/3endl;c+;if(c=0) error();elsecout1 C+成绩,2 英语成绩,3 数学成绩,4 全班成绩endl; cout请输入序号:r; switch(r) case 1:cout(1)C+成绩最高分: maxc C+成绩最低分: mincendl; cout C+全班平均分: sumc/e C+及格率: pc/eendl;br

13、eak; case 2:cout(2)英语成绩最高分: maxe 英语成绩最低分: mineendl; cout 英语全班平均分: sume/e 英语及格率:pe/eendl;break; case 3:cout(3)数学成绩最高分: maxm 数学成绩最低分: minmendl; cout 数学全班平均分: summ/e 数学及格率: pm/eendl;break; case 4:cout 全班最高分: max_scoreendl; cout她信息为:endl; coutsetiosflags(ios:left)setw(2)学号 setw(15)姓名setw(12)班级setw(12) C

14、+setw(15)英语setw(15)数学endl; coutsetiosflags(ios:left)setw(5)max_num setw(15)max_namesetw(12)max_classsetw(12) max_cgradesetw(15)max_egradesetw(15)max_mgradeendl; cout 全班最低分: min_scoreendl; cout她信息为:endl; coutsetiosflags(ios:left)setw(2)学号 setw(15)姓名setw(12)班级setw(12) C+setw(15)英语setw(15)数学endl; couts

15、etiosflags(ios:left)setw(5)min_num setw(15)min_namesetw(12)min_classsetw(12) min_cgradesetw(15)min_egradesetw(15)min_mgradeendl; break; default:error();break; void search1() data_show(); cout请输入您要查找学号:a; int bool=0; for(int i=0;in;i+) if(a=mi.num) coutsetiosflags(ios:left)setw(2)学号 setw(15)姓名setw(12

16、)班级setw(12) C+setw(15)英语setw(15)数学endl; coutsetiosflags(ios:left)setw(5)mi.num setw(15)mi.namesetw(12)mi.classetw(12) mi.less.cgradesetw(15)mi.less.egradesetw(15) mi.less.mgradeendl; coutendl; bool=1; if(bool=0) cout-抱歉没有您要查询信息-endl; search(); void search2() data_show(); cout请输入您要查找姓名:a; int bool=0;

17、 for(int i=0;in;i+) if(a=mi.name) coutsetiosflags(ios:left)setw(2)学号 setw(15)姓名setw(12)班级setw(12) C+setw(15)英语setw(15)数学endl; coutsetiosflags(ios:left)setw(5)mi.num setw(15)mi.namesetw(12)mi.classetw(12) mi.less.cgradesetw(15)mi.less.egradesetw(15) mi.less.mgradeendl; coutendl; bool=1; if(bool=0) co

18、ut-抱歉没有您要查询信息-endl; search();void search3() data_show(); cout请输入您要查找课程:a; int bool=0; for(int i=0;ie;i+) if(a=C+) coutsetiosflags(ios:left)setw(2)setw(15) 姓名setw(12)C+成绩:endl; coutsetiosflags(ios:left)setw(5)setw(15) mi.namesetw(12)mi.less.cgradeendl; coutendl; bool=1; else if(a=英语) coutsetiosflags(

19、ios:left)setw(2)setw(15) 姓名setw(12)英语成绩:endl; coutsetiosflags(ios:left)setw(5)setw(15) mi.namesetw(12)mi.less.egradeendl; coutendl; bool=1; else if(a=数学) coutsetiosflags(ios:left)setw(2)setw(15) 姓名setw(12)数学成绩:endl; coutsetiosflags(ios:left)setw(5)setw(15) mi.namesetw(12)mi.less.mgradeendl; coutendl

20、; bool=1; if(bool=0) cout-抱歉没有您要查询信息-endl; search(); void search() cout按学号查找请输入1endl;cout按姓名查找请输入2endl;cout按课程查找请输入3endl;cout退出请输入4endl;coutr;switch(r) case 1:search1();break; case 2:search2();break; case 3:search3();break; case 4:cout-GOOD LUCK-endl;break; default:error(); void compile() data_show(

21、); couta; /i-; for(i=0;ie;i+) if(a=mi.num) c+; for(;) cout(1).姓名:; coutmi.nameendl; cout(2).班级:; coutmi.clasendl; cout(3).学号:; coutmi.numendl; cout(4).C+成绩:; coutmi.less.cgradeendl; cout(5).英语成绩:; coutmi.less.egradeendl; cout(6).数学成绩:; coutmi.less.mgradeendl; cout(7).exitendl; coutendl; cout编辑姓名请输入1

22、endl; cout编辑班级请输入2endl; cout编辑学号请输入3endl; cout编辑C+成绩请输入4endl; cout编辑英语成绩请输入5endl; cout编辑数学成绩请输入6endl; cout退出请输入7endl; coutendl; coutr; switch(r) case 1:coutmi.name;break; case 2:coutmi.clas;break; case 3:coutmi.num;break; case 4:coutmi.less.cgrade;break;case 5:coutmi.less.egrade;break; case 6:coutmi

23、.less.mgrade;break; case 7:cout-修改成功-endl; return;break; default:error(); if(c=0) error(); compile(); void sort1()int j,i;char temp120,temp220 ;int temp4,temp5,temp6;float temp7;for(i=0;ie-1;i+) for(j=0;j=0) strcpy(temp1,mj.name); strcpy(temp2,mj.clas);temp4=mj.less.cgrade;temp5=mj.less.egrade;temp6

24、=mj.less.mgrade;temp7=mj.num;strcpy(mj.name,mj+1.name);strcpy(mj.clas,mj+1.clas);mj.less.cgrade=mj+1.less.cgrade;mj.less.egrade=mj+1.less.egrade;mj.less.mgrade=mj+1.less.mgrade;mj.num=mj+1.num;strcpy(mj+1.name,temp1);strcpy(mj+1.clas,temp2);mj+1.less.cgrade=temp4;mj+1.less.egrade=temp5;mj+1.less.mgr

25、ade=temp6; mj+1.num=temp7;data_show();coutsort sucess!endl;coutendl;sort();void sort2()int j,i,k; char temp120,temp220 ;int temp4,temp5,temp6;float temp7;for(i=0;ie-1;i+)k=i; for(j=i+1;je;j+)if(strcmp(mj.clas,mk.clas)0) k=j;strcpy(temp1,mk.name);strcpy(temp2,mk.clas);temp4=mk.less.cgrade;temp5=mk.le

26、ss.egrade;temp6=mk.less.mgrade;temp7=mk.num;strcpy(mk.name,mi.name);strcpy(mk.clas,mi.clas);mk.less.cgrade=mi.less.cgrade;mk.less.egrade=mi.less.egrade;mk.less.mgrade=mi.less.mgrade;mk.num=mi.num;strcpy(mi.name,temp1);strcpy(mi.clas,temp2);mi.less.cgrade=temp4;mi.less.egrade=temp5;mi.less.mgrade=tem

27、p6;mi.num=temp7;data_show();coutsort sucess!endl;coutendl;sort();void sort3()int j,i;char temp120,temp220 ;int temp4,temp5,temp6;float temp7;for(i=0;ie-1;i+) for(j=0;je-i-1;j+)if( mj.less.egrademj+1.less.egrade) strcpy(temp1,mj.name); strcpy(temp2,mj.clas);temp4=mj.less.cgrade;temp5=mj.less.egrade;temp6=mj.less.mgrade;temp7=mj.num;strcpy(mj.name,mj+1.name);strcpy(mj.clas,mj+1.clas);mj.less.cgrade=mj+1.less.cgrade;mj.less.egrade=mj+1.less.egrade;mj.less.mgrade=mj+1.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服