您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 面向对象C++-学生成绩管理系统
课程设计(论文)题目名称学生成绩管理系统课程名称专业课程设计I学生姓名学号系、专业信息工程系、计算机科学与技术指导教师2013年11月15日1目录1前言........................................................................................................22需求分析................................................................................................22.1任务...............................................................................................22.2要求...............................................................................................22.3运行环境.......................................................................................22.4开发工具.......................................................................................23分析和设计................................................................................23.1系统分析及设计思路...................................................................23.2主要类图.......................................................................................53.3函数流程图...................................................................................64具体代码实现.............................................................................85课程设计总结.............................................................................85.1程序运行结果或预期运行结果.................................................145.2课程设体会.................................................................................18参考文献..............................................................................................19致谢..................................................................................................1921前言当前的编程语言主要分为面向过程和面向对象两种,其中我们所熟悉的C语言是一种面向过程的语言,而C++则是一种面向对象的语言。面向对象主要是一种思想,面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、网络管理结构、人工智能等。对于此次课程设计学生成绩管理系统的设计,主要是考察我们对面向对象中类的定义和使用,成员变量和成员函数的定义和使用,友元函数的理解和调用,继承性与派生类,文件输入输出的掌握情况,在实际设计中首先定义一个基类stu用来存放学生的基本信息,再定义一个派生类stu1用了存放课程信息。通过本课程设计,我们可以运用C++语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固自己所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。通过本次课程设计我们还可以进一步掌握编写文档、文档排版的能力。为以后步入社会,走上工作岗位打下坚实的基础。2需求分析2.1任务某学校学生选择的课程包括选修课和必修课,每门课程有相应的学分,学生每学期可以选择若干门课程,设计学生成绩管理系统,计算学生某一学期的总成绩和平均成绩。2.2要求具体要求:(1)可以进行学生成绩的输入和查询。(2)可以通过学号查找某个同学的总成绩,学分,平均成绩。(3)可以查询同学的达标情况和没有及格的科目。2.3运行环境(1)WINDOWXP/WINDOW7系统(2)VisualC++6.0编译环境或DEVC++5.0编译环境32.4开发工具C++语言3分析和设计3.1系统分析及设计思路根据面向对象的思想,通过类来实现设计一个学生成绩管理系统。首先定义一个基类stu用来存放学生的基本信息(学号(number),姓名(name)),再定义一个派生类stu1用来存放课程信息(课程号(classnumber),课程名(classname),课程总学分(score),平时成绩(pingshifen),实验成绩(shiyanfen),卷面成绩(juanmianfen),总分(zongfen),实得学分(lastscore))。根据实际情况考虑,有些课程并不需要实验,所以总分有两种算法。一种是没有实验成绩的总分:总分=平时成绩×0.3+卷面成绩×0.7另一种有实验的总分:总分=平时成绩×0.15+实验成绩×0.15+卷面成绩×0.7,总学分=∑各科实得学分;总成绩=∑各科总分;平均成绩=总成绩/总学分;main函数用来实现操作,在程序中实现了三个功能:1输入学生成绩;2学生成绩查询;3达标查询。main函数通过文件流、I/O流等学习内容实现。通过建立文件来存储所输入的学生信息以及存储计算的结果。1.基类stu类的设计:classstu/*定义一个基类,用来存放学生基本信息*/{public:stu(chara[20],charb[20]){strcpy(number,a);strcpy(name,b);}char*getnumber(){returnnumber;}4char*getname(){returnname;}private:charnumber[20];charname[20];};2.派生类stu1类的设计:classstu1:publicstu/*定义派生类,存放课程信息*/{public:stu1(chara[20],charb[20],charf[10],charg[10],doubleaa,doublebb,doublecc,doubledd,doubleee,doubleff):stu(a,b){strcpy(classnumber,f);strcpy(classname,g);score=aa;pingshifen=bb;shiyanfen=cc;juanmianfen=dd;zongfen=ee;lastscore=ff;}friendvoidmain();private:charclassnumber[10];charclassname[10];doublescore,pingshifen,shiyanfen,juanmianfen,zongfen,lastscore;};53.2主要类图图3.2.1基类stu类图图3.2.2派生类stu1类图6图3.2.3继承关系类图public73.3函数流程图整个程序的流程图:首先判断是否进入学生成绩管理系统,如果进入,通过输入相应的1,2,3选择要实现的功能,如图3.3.1所示。图3.3.1整个程序的主流程图欢迎进入学生管理系统是否进入系统结束输出菜单选项1,2,3得到输入值p1=p&&p=3?p=1?p=2?p=3?进入信息输入系统进入成绩查询系统进入达标查询系统YNYYYYNNN指令错误,请重新输入开始8当进入系统学生成绩管理系统后根据提示选择要进行的操作,学生各科的成绩。根据提示输入信息,如:输入课程信息(课程编号,课程名称以及该课程的各项成绩等),输入学生信息(姓名,学号)等一系列的操作。如图3.3.2所示。1NY图3.3.2输入某科成绩流程图4具体代码实现#includeiostream#includestring开始输入课程信息:课程编号、输入课程输入学生信息:学生学号、学生姓名输入该学生该课程的各项成绩:平时成绩、实验成绩、卷面成绩。该课程的学分继续输入该科其他学生成绩其他选择,输入其他课程其他学生成绩、成绩查询、达标查询等。输入该课程其他学生在这科的各项成绩:平时成绩、实验成绩、卷面成绩。结束9#includefstream#includeconio.husingnamespacestd;classstu/*定义一个基类,存放姓名和学号信息*/{public:stu(chara[20],charb[20]){strcpy(number,a);strcpy(name,b);}char*getnumber(){returnnumber;}char*getname(){returnname;}private:charnumber[20];charname[20];};classstu1:publicstu/*定义另一个派生类,存放课程信息和成绩*/{public:stu1(chara[20],charb[20],charf[10],charg[10],doubleaa,doublebb,doublecc,doubledd,doubleee,doubleff):stu(a,b){strcpy(classnumber,f);strcpy(classname,g);score=aa;pingshifen=bb;shiyanfen=cc;juanmianfen=dd;zongfen=ee;lastscore=ff;}friendvoidmain();private:charclassnumber[10];charclassname[10];10doublescore,pingshifen,shiyanfen,juanmianfen,zongfen,lastscore;};voidmain()/*主函数*/{charc;intflag5=0;ints=0;cout欢迎进入学生管理系统endl;cout进入(y/n)endl;cinc;do{/*判断是否进入系统*/if(c=='n')break;else{flag5=1;charnumber[10];charname[20];inti=0,I=0,j=0;intja=0;ofstream*file[50];stu1*s1[50];/*定义指针存放课程信息*/charclassnumber[8];charclassname[10];doublescore,pingshifen,shiyanfen,juanmianfen,zongfen,lastscore;boolflag=0;intp;charc4;do{/*选择菜单*/cout请选择操作endl;cout1输入学生成绩信息endl;cout2成绩查询endl;cout3达标查询endl;do{/*判断输入字符*/cinp;if(1=p&&p=3
本文标题:面向对象C++-学生成绩管理系统
链接地址:https://www.777doc.com/doc-2059040 .html