《C++面向对象程序设计》课程设计报告.docx
《《C++面向对象程序设计》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《C++面向对象程序设计》课程设计报告.docx(10页珍藏版)》请在冰点文库上搜索。
《C++面向对象程序设计》课程设计报告
《C++面向对象程序设计》课程设计报告
题目:
分数计算器设置
班级:
K0312415
专业:
计算机科学与技术
学号:
姓名:
周林
指导教师:
小组成员:
周林,张齐满
二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:
Definestheentrypointfortheconsoleapplication.
//
#include"stdafx.h"
#include"fenshu.h"
#include"zhengshu.h"
intmain(intargc,char*argv[])
{
fenshuaa;
return0;
}
//zhengshu.h:
interfaceforthezhengshuclass.
//
//////////////////////////////////////////////////////////////////////
#if!
defined(AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_)
#defineAFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_
#if_MSC_VER>1000
#pragmaonce
#endif//_MSC_VER>1000
classzhengshu
{
public:
zhengshu();
virtual~zhengshu();
};
#endif//!
defined(AFX_ZHENGSHU_H__254BB13E_9F27_4785_BDEE_637C9445F651__INCLUDED_)
//zhengshu.cpp:
implementationofthezhengshuclass.
//
//////////////////////////////////////////////////////////////////////
#include"stdafx.h"
#include"zhengshu.h"
//////////////////////////////////////////////////////////////////////
//Construction/Destruction
//////////////////////////////////////////////////////////////////////
zhengshu:
:
zhengshu()
{
}
zhengshu:
:
~zhengshu()
{
}
//fenshu.h:
interfaceforthefenshuclass.
//
//////////////////////////////////////////////////////////////////////
#if!
defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)
#defineAFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_
#if_MSC_VER>1000
#pragmaonce
#endif//_MSC_VER>1000
#include"zhengshu.h"
classfenshu:
publiczhengshu
{
public:
fenshu();
intdisply();
intjia();
intjian();
intcheng();
intchu();
inta,s,d,f;
intk,l;
//0intq,w;
intshuchu(intq,intw);
virtual~fenshu();
};
#endif//!
defined(AFX_FENSHU_H__6E3E6A1A_943D_4CB4_87D1_758261F44F66__INCLUDED_)
//fenshu.cpp:
implementationofthefenshuclass.
//
//////////////////////////////////////////////////////////////////////
#include"stdafx.h"
#include"fenshu.h"
#include"iostream"
usingnamespacestd;
//////////////////////////////////////////////////////////////////////
//Construction/Destruction
//////////////////////////////////////////////////////////////////////
fenshu:
:
fenshu()
{
disply();
}
fenshu:
:
~fenshu()
{
}
intfenshu:
:
disply()
{
while(!
0)
{
inti;
system("pause");
system("cls");
cout<<"_______________分数计算器__________\n"<cout<<"1.加法运算2.减法运算"<cout<<"3.乘法运算4.除法运算"<cout<<"5.化简6.结束\n"<cout<<"______________________________________"<cin>>i;
if(i==5)
{
cout<<"请输入两个数,分子在前"<cin>>a>>s;
shuchu(a,s);
}
else
{
cout<<"请输入四个数,分子在前"<if(i>0&&i<7)
cin>>a>>s>>d>>f;
if(s==0||f==0)
cout<<"输入错误"<else
switch(i)
{
case1:
jia();break;
case2:
jian();break;
case3:
cheng();break;
case4:
chu();break;
case6:
return0;
}
}
}
return0;
}
fenshu:
:
jia()
{
k=a+d;
l=s+f;
shuchu(k,l);
return0;
}
fenshu:
:
jian()
{
k=a+d;
l=s+f;
shuchu(k,l);
return0;
}
fenshu:
:
cheng()
{
k=a*d;
l=s*f;
shuchu(k,l);
return0;
}
fenshu:
:
chu()
{
if(f=0)
{cout<<"输入错误"<k=a*d;
l=s*d;
shuchu(k,l);
return0;
return0;
}
fenshu:
:
shuchu(intq,intw)
{
intp;
if(q>w)
p=w;
else
p=q;
for(inti=p;i>1;i--)
{
if(q%i==0&&w%i==0)
{
q=q/i;
w=w/i;
}
}
cout<<"结果为"<return0;
}
五、总结和体会
虽然写了很多次,总算是功夫不负有心人。
但是在写的时候遇到了很多问题,本来,这个小组只有我一个人。
张齐满加入,他找了资料,找到很多有用的我写程序,共同完成了这一个实验。
通过这一次的实践,我明白了合作的力量。
同学之间应该多多交流思想。
六、参考文献
1、C++面向对象设计第二版
2
3