面向对象C++ 学生成绩管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)

题目名称学生成绩管理系统

课程名称专业课程设计I

学生姓名

学号

系、专业信息工程系、计算机科学与技术

指导教师

2013年11 月15 日

目录

1 前言 (2)

2 需求分析 (2)

2.1任务 (2)

2.2 要求 (2)

2.3 运行环境 (2)

2.4 开发工具 (2)

3 分析和设计 (2)

3.1 系统分析及设计思路 (2)

3.2 主要类图 (5)

3.3 函数流程图 (6)

4 具体代码实现 (8)

5 课程设计总结 (8)

5.1 程序运行结果或预期运行结果 (14)

5.2 课程设体会 (18)

参考文献 (19)

致谢 (19)

1 前言

当前的编程语言主要分为面向过程和面向对象两种,其中我们所熟悉的C语言是一种面向过程的语言,而C++则是一种面向对象的语言。面向对象主要是一种思想,面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、网络管理结构、人工智能等。对于此次课程设计学生成绩管理系统的设计,主要是考察我们对面向对象中类的定义和使用,成员变量和成员函数的定义和使用,友元函数的理解和调用,继承性与派生类,文件输入输出的掌握情况,在实际设计中首先定义一个基类stu用来存放学生的基本信息,再定义一个派生类stu1用了存放课程信息。通过本课程设计,我们可以运用C++语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固自己所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。通过本次课程设计我们还可以进一步掌握编写文档、文档排版的能力。为以后步入社会,走上工作岗位打下坚实的基础。

2 需求分析

2.1 任务

某学校学生选择的课程包括选修课和必修课,每门课程有相应的学分,学生每学期可以选择若干门课程,设计学生成绩管理系统,计算学生某一学期的总成绩和平均成绩。

2.2 要求

具体要求:

(1)可以进行学生成绩的输入和查询。

(2)可以通过学号查找某个同学的总成绩,学分,平均成绩。

(3)可以查询同学的达标情况和没有及格的科目。

2.3 运行环境

(1)WINDOW XP/WINDOW 7系统

(2)Visual C++ 6.0编译环境或DEV C++ 5.0编译环境

2.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类的设计:

class stu /*定义一个基类,用来存放学生基本信息*/

{

public:

stu(char a[20],char b[20])

{

strcpy(number,a);

strcpy(name,b);

}

char* getnumber()

{

return number;

}

char* getname()

{

return name;

}

private:

char number[20];

char name[20];

};

2.派生类stu1类的设计:

class stu1:public stu /*定义派生类,存放课程信息*/

{

public:

stu1(char a[20],char b[20],char f[10],char g[10],double aa,double bb,double cc, double dd,double ee,double ff):stu(a,b)

{

strcpy(classnumber,f);

strcpy(classname,g);

score=aa;

pingshifen=bb;

shiyanfen=cc;

juanmianfen=dd;

zongfen=ee;

lastscore=ff;

}

friend void main();

private:

char classnumber[10];

char classname[10];

double score,pingshifen,shiyanfen,juanmianfen,zongfen,lastscore;

};

相关文档
最新文档