《C++面向对象程序设计》课程设计
报告
题 目: 分数计算器设置
班 级:
专 业: 计算机科学与技术
学 号: K031241521
姓 名: 周林
指导教师:
小组成员: 周林,张齐满
二O一三 年 10 月 15 日
一、课程设计问题描述
分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论,要求设计的管理系统能够完成以下功能:
(1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。
(2)输入/输出:对流提取和流插入运算符进行重载。
(3)计算功能:可进行分数的加、减、乘和除法运算。
(4)化简功能:将分数化简为最简分数。
(5)异常处理功能:分数中分母不能为零。
(6)菜单功能:每种功能的操作都是在菜单中进行相应选择。
二、课程设计目的和要求:
经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。
三、系统设计(算法分析)
1、 系统由5功能,可分别执分数的.加法运算, 减法运算 ,.乘法运算 和除法运算,还可以将分数化简。
1.加法运算可计算两个分数相加。
2.减法运算可计算两个分数相减。
3.乘法运算可计算两个分数相乘。
4.除法运算可计算两个分数相除。
5.化简运算可计算一个分数化简。
2、流程图
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 -
福建农林大学计算机与信息学院课程名称课题名称姓名学号专业年级指导教师职称计算机类课程设计报告面向对象程序设计课程设计猜数字游戏计算…
面向对象程序设计课程设计报告题目门禁系统的设计与实现系(院)计算机科学技术系专业软件技术班级20##级3班学生姓名学号指导教师二〇…
面向对象程序设计课程设计报告题目职工信息管理小型公司工资管理系统院系专业班级学号学生姓名小组成员20xx年9月6日一引言本题对程序…
C面向对象程序设计课程设计报告题目分数计算器设置班级专业计算机科学与技术学号K031241521姓名周林指导教师小组成员周林张齐满…
面向对象程序设计程序设计报告课程设计2020学年第学期设计题目职工工资管理系统设计院系计算机科学与信息工程学院专业班级学号学生姓名…
安徽广播电视大学梁伍七一、引言中期评估之前,我校加强网络教学的同时,逐步形成了“面授辅导+网络教学+小组学习”的课程教学模式实践模…
课程实验报告课程名称面向对象程序设计实验名称面向过程的整型栈编程院系计算机科学与技术专业班级学号姓名指导教师年日面向对象程序设计实…
Java面向对象程序设计第1版Java面向对象程序设计课程实验一报告学号姓名专业学校1Java面向对象程序设计第1版11实验目标查…
面向对象程序设计课程设计报告题目门禁系统的设计与实现系(院)计算机科学技术系专业软件技术班级20##级3班学生姓名学号指导教师二〇…
课程设计报告课程名称课题名称专业班级学号20xx03010308姓名杜云龙指导教师20xx年月日湖南工程学院课程设计任务书课程名称…
《面向对象的程序设计基础》课程总结20xx~20xx学年第一学期基本结束,“面向对象的程序设计基础”课程的教学任务圆满完成。下面对…