《C++面向对象程序设计》课程设计报告

《C++面向对象程序设计》课程设计

报告

题 目: 分数计算器设置

班 级:

专 业: 计算机科学与技术

学 号: K031241521

姓 名: 周林

指导教师:

小组成员: 周林,张齐满

二O一三 年 10 月 15 日

一、课程设计问题描述

分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论,要求设计的管理系统能够完成以下功能:

(1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。

(2)输入/输出:对流提取和流插入运算符进行重载。

(3)计算功能:可进行分数的加、减、乘和除法运算。

(4)化简功能:将分数化简为最简分数。

(5)异常处理功能:分数中分母不能为零。

(6)菜单功能:每种功能的操作都是在菜单中进行相应选择。

二、课程设计目的和要求:

经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。

三、系统设计(算法分析)

1、 系统由5功能,可分别执分数的.加法运算, 减法运算 ,.乘法运算 和除法运算,还可以将分数化简。

1.加法运算可计算两个分数相加。

2.减法运算可计算两个分数相减。

3.乘法运算可计算两个分数相乘。

4.除法运算可计算两个分数相除。

5.化简运算可计算一个分数化简。

2、流程图

C面向对象程序设计课程设计报告

C面向对象程序设计课程设计报告

3、各函数的功能和实现的相关功能由对应的函数来实现。

(1) 函数jia()实现分数加法运算。

(2)函数jian()实现分数减法运算。

(3)函数cheng()实现分数乘法运算。

(4)函数chu()实现分数除法运算。

(5)函数shuchu()实现分数的输出和化简。

四、程序源代码

// 分数管理系统.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "fenshu.h "

#include "zhengshu.h"

int main(int argc, char* argv[])

{

fenshu aa;

}

// zhengshu.h: interface for the zhengshu class.

//

////////////////////////////////////////////////////////////////////// return 0;

#if !defined(AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_)

#define

AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class zhengshu

{

public:

};

#endif

// !defined(AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_) zhengshu(); virtual ~zhengshu();

// zhengshu.cpp: implementation of the zhengshu class. //

//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "zhengshu.h"

////////////////////////////////////////////////////////////////////// // Construction/Destruction

////////////////////////////////////////////////////////////////////// zhengshu::zhengshu()

{

}

zhengshu::~zhengshu()

{

}

// fenshu.h: interface for the fenshu class.

//

//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)

#define

AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#include "zhengshu.h"

class fenshu : public zhengshu

{

public:

fenshu();

int disply();

int jia();

int jian(); int cheng(); int chu();

int a,s,d,f;

int k,l; //0 int q,w;

int shuchu(int q,int w);

};

#endif

// !defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)

// fenshu.cpp: implementation of the fenshu class.

//

//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "fenshu.h"

#include "iostream"

using namespace std;

////////////////////////////////////////////////////////////////////// virtual ~fenshu();

// Construction/Destruction

//////////////////////////////////////////////////////////////////////

fenshu::fenshu()

{

disply();

}

fenshu::~fenshu()

{

}

int fenshu::disply()

{

while(!0)

{

int i;

system("pause");

system("cls");

cout<<"_______________ 分数计算器__________\n"<<endl; cout<<" 1.加法运算 2.减法运算"<<endl;

cout<<" 3.乘法运算 4.除法运算"<<endl; cout<<" 5.化简 6.结束\n"<<endl; cout<<"______________________________________"<<endl; cin>>i;

if(i==5)

{

cout<<"请输入两个数,分子在前"<<endl;

}

else

{

cout<<"请输入四个数,分子在前"<<endl;

if(i>0 && i<7)

cin>>a>>s>>d>>f;

if(s==0||f==0)

cout<<"输入错误"<<endl;

else

switch(i)

{

case 1:jia();break; cin>>a>>s; shuchu(a,s);

case 2:jian();break; case 3:cheng();break; case 4:chu();break; case 6:return 0;

}

}

}

return 0;

}

fenshu::jia()

{ k=a+d; l=s+f; shuchu(k,l); return 0; }

fenshu::jian()

{ k=a+d; l=s+f;

shuchu(k,l);

return 0;

}

fenshu::cheng()

{

k=a*d;

l=s*f;

shuchu(k,l);

return 0;

}

fenshu::chu()

{

if(f=0)

{ cout<<"输入错误"<<endl; k=a*d;

l=s*d;

shuchu(k,l);

return 0;

return 0;

} return 0;}

fenshu::shuchu(int q,int w) {

int p;

if(q>w)

p=w;

else

p=q;

for(int i=p;i>1;i--)

{

if(q%i==0 && w%i==0) {

q=q/i;

w=w/i;

}

}

cout<<"结果为"<<q<<"/"<<w<<endl;

return 0;

}

五、总结和体会

虽然写了很多次,总算是功夫不负有心人。但是在写的时候遇到了很多问题,本来,这个小组只有我一个人。张齐满加入,他找了资料,找到很多有用的我写程序,共同完成了这一个实验。通过这一次的实践,我明白了合作的力量。同学之间应该多多交流思想。

六、参考文献

1 、C++面向对象设计第二版 2 3

 

第二篇:《面向对象程序设计(课程设计)》报告模板

福建农林大学计算机与信息学院 课程名称:

课题名称:

姓 名:

学 号:

专 业:

年 级:

指导教师:

职 称:计算机类 课程设计报告 面向对象程序设计(课程设计) 张三(50%)、张三(30%)、王五(20%) 10001、10002、10003 计算机科学与技术 2012级 林甲祥 讲师

20xx年11月

面向对象程序设计(课程设计)成绩评定表

面向对象程序设计课程设计报告模板

- I -

目 录

1. 课题来源................................................................................................................. 1 2. 任务描述................................................................................................................. 1

2.1. 课题的总体结构 .......................................................................................... 1

2.2. 核心功能模块与类设计 .............................................................................. 1

2.3. 任务分工与工作量说明 .............................................................................. 1 3. 程序(系统)详细设计......................................................................................... 1 4. 程序(系统)实现与测试..................................................................................... 2 5. 分析与讨论............................................................................................................. 2 6. 结束语..................................................................................................................... 2

- II -

1. 课题来源

课题名称和来源,主要介绍为何选择此题目来开展课程设计,此课题的开展能体现面向对象程序设计的哪些特征?

2. 任务描述

课题的基本内容、即课题要求完成哪些具体任务。

2.1. 课题的总体结构

描述程序文件的总体结构,最好给出程序(系统)的功能结构图或类层次关系图。

2.2. 核心功能模块与类设计

采用表格的形式,按照类在课题中的作用,列出核心类的功能定义和主要函数接口。

2.3. 任务分工与工作量说明

说明课题是有单人完成,还是以小组形式完成的。如果是以小组形式完成,

面向对象程序设计课程设计报告模板

3. 程序(系统)详细设计

按照程序(系统)的总体结构,详细介绍程序中各个类和函数的设计思想和实现方法,并以图的方式说明程序的流程图。

- 1 -

4. 程序(系统)实现与测试

(1)给出典型的程序(系统)执行结果图。

(2)详细说明程序(系统)实现了哪些功能?

(3)根据课题的特性,列出带有详细注释的核心功能模块或类代码;

(4)根据程序(系统)对输入数据能否正确处理和响应进行介绍,介绍系统可接受的合法输入和不可接受的非法输入,并以此为依据说明系统的健壮性和可扩展性。

5. 分析与讨论

根据程序(系统)的运行结果,说明程序解决了哪些问题?还有哪些问题没有[很好地]解决或者处理得不够完善?

介绍本课程设计实施过程中所取得的经验教训,展望下一步的工作。

6. 结束语

课程设计中介。

- 2 -

相关推荐