收藏 分销(赏)

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

上传人:丰**** 文档编号:3991074 上传时间:2024-07-24 格式:DOC 页数:25 大小:87.04KB
下载 相关 举报
学生成绩排名管理系统-C++-课程设计报告书.doc_第1页
第1页 / 共25页
学生成绩排名管理系统-C++-课程设计报告书.doc_第2页
第2页 / 共25页
学生成绩排名管理系统-C++-课程设计报告书.doc_第3页
第3页 / 共25页
学生成绩排名管理系统-C++-课程设计报告书.doc_第4页
第4页 / 共25页
学生成绩排名管理系统-C++-课程设计报告书.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: C+语言课程设计 姓 名:学 号:专业班级:系 (院): 计算机工程学院软件工程系 设计时间:2011.6。82011.6。24设计地点:计算机工程学院机房 成绩:指导教师评语: 签名: 年 月 日C+课程设计报告 第 25 页,共 25 页1课程设计目的C+课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课

2、程的主要内容,养成良好的编程习惯,更好的完成教学任务.2课程设计任务与要求:要求:本次课程设计利用C+程序设计课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务.要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个学生成绩排名系统,该系统的主要功能如下:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名

3、查询成绩的功能。4)学生成绩应该保存在文件中。3课程设计说明书概要设计模块说明:在我设计的程序中一共包括了九个模块,分别是:浏览模块、添加模块、删除模块、查询模块、编辑模块、排序模块、读入文件模块、统计模块、退出系统模块.这九个功能中各个都是独立分开作为子函数的,也就是说为了实现这九个功能我写了九个函数,在主函数中通过switch语句,把九个函数联系了起来,同时,为了实现多次使用这九个函数,就在switch语句外加了for循环。功能机构图:详细设计 总体流程图:各功能模块流程图:浏览功能模块流程图添加功能模块流程图删除功能模块流程图查询功能模块流程图修改功能模块流程图排序功能模块流程图读入文件

4、功能模块流程图统计功能模块流程图退出系统功能模块流程图4课程设计成果源代码:includeiostream #includestring#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()

5、;void error() cout”输入错误请从新输入”endl;cout”n”;void data_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)姓名”set

6、w(10)班级”setw(10)C+”setw(10)”英语setw(10)”数学”setw(10)总分”setw(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(

7、10)mi。sumsetw(10)mi.averageendl; if(mi。num=0) break;void dalete() data_show(); cout”请选择您要删除人的学号:”; int a, c=0; cina; for(int i=0;ie;i+) if(a=mi。num) c+;int j;for(j=i;je1;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.m

8、grade=mj+1.less.mgrade; mj。num=mj+1.num; for(i=0;ie-1;i+)coutsetw(5)mi。numsetw(15)mi。namesetw(20)mi。classetw(12)mi。less.cgradesetw(15)mi。less。egradesetw(15)mi.less。mgradeendl;cout-删除成功-”mi。less。cgrade)minc=mi。less。cgrade;if(maxcmi。less.cgrade)maxc=mi。less.cgrade; if(minemi.less.egrade)mine=mi.less。e

9、grade;if(maxemi.less.egrade)maxe=mi.less。egrade; if(minmmi。less。mgrade)minm=mi。less.mgrade;if(maxm(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_class,mi.clas);min_cgrade=mi.less.cgrade;min_egr

10、ade=mi。less。egrade;min_mgrade=mi。less。mgrade;for(j=0;je;j+)sumc=sumc+mj。less。cgrade;if(mj。less.cgrade=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,求全班总成绩信息请输入其它数字endl

11、;int k;cink;if(k=0)cout”请输入学生学号:”endl;int t;cint;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; co

12、ut” C+全班平均分: sumc/e ” C+及格率: ”pc/eendl;break; 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; coutseti

13、osflags(ios:left)setw(2)”学号” ” setw(15)”姓名”setw(12)班级”setw(12) ”C+”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::le

14、ft)setw(2)学号 ” setw(15)”姓名setw(12)班级”setw(12) C+”setw(15)英语”setw(15)”数学endl; coutsetiosflags(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;

15、 for(int i=0;in;i+) if(a=mi.num) 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(

16、bool=0) cout”-抱歉没有您要查询的信息-endl; search(); void search2() data_show(); cout”请输入您要查找的姓名:”endl; string a; cina; int bool=0; 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” se

17、tw(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 search3() data_show(); cout”请输入您要查找的课程:endl; string a; cina; int bool=0; for(int i=0;ie;i+) if(a=”C+”) coutsetiosflags(ios:left)setw

18、(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(ios:left)setw(2)setw(15) ”姓名”setw(12)英语成绩:endl; coutsetiosflags(ios:left)setw(5)setw(15) mi.namesetw(12)mi。less。egradeendl; coutendl; boo

19、l=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; bool=1; if(bool=0) cout-抱歉没有您要查询的信息-endl; search();void search() cout按学号查找请输入1”endl;cout按姓名查找请输入2”endl;cout按课程查找请输入3endl;cout”

20、退出请输入4”endl;cout查找信息-请输入选项:”; int r; cinr;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(); couta; /i; for(i=0;ie;i+) if(a=mi。num) c+; for(;;) cout”(1)。姓名:; coutmi。nameendl; cout”(2).班级:;

21、coutmi。clasendl; cout”(3).学号:”; coutmi.numendl; cout”(4)。C+成绩:”; coutmi。less。cgradeendl; cout(5)。英语成绩:”; coutmi。less.egradeendl; cout(6).数学成绩:”; coutmi。less。mgradeendl; cout”(7)。exit”endl; coutendl; cout”编辑姓名请输入1”endl; cout”编辑班级请输入2”endl; cout编辑学号请输入3endl; cout”编辑C+成绩请输入4”endl; cout编辑英语成绩请输入5endl; c

22、out编辑数学成绩请输入6”endl; cout退出请输入7”endl; coutendl; coutr; switch(r) case 1:coutmi。name;break; case 2:cout” 班级:; cinmi.clas;break; case 3:coutmi.less。cgrade;break; case 5:coutmi。less。egrade;break; case 6:cout数学成绩:”; cinmi。less。mgrade;break; case 7:cout=0) strcpy(temp1,mj。name); strcpy(temp2,mj.clas);temp

23、4=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。less。mgrade;mj.num=mj+1。num;strcpy(mj+1。name,temp1);strcpy(mj+1.clas,temp2);mj+1。less。cgrade

24、=temp4;mj+1.less.egrade=temp5;mj+1.less.mgrade=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(tem

25、p2,mk.clas);temp4=mk。less.cgrade;temp5=mk。less。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=t

26、emp4;mi.less。egrade=temp5;mi。less.mgrade=temp6;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;jei-1;j+)if( mj。less。egrademj+1。less。egrade) strcpy(temp1,mj。name); strcpy(temp2,mj。clas

27、);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。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。mgrade=temp6; mj+1。num=temp7;data_show(); cout

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

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

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服