欢迎来到天天文库
浏览记录
ID:41428573
大小:143.67 KB
页数:16页
时间:2019-08-24
《面向对象技术—课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《面向对象技术》课程设计重载运算符实现分数的四则运算计算机科学与技术题目:专业:学号:姓名:指导老师:完成日期:131006406关文飞宋涛2014.6.81—刖目2需求分析22.1要求22.2任务22.3运行环境22.4开发工具23概要设计与详细设计23.1系统流程图2.4编码与实现44・1分析34.2具体代码实现44.3测试结果12125课程设计总结指导老师评价1错误!未定义书签。1前言该课程设计主要内容是编写一个程序来实现分数的四则运算和自动化简,通过定义一个类包含多个构造函数来具体实现此操作。2需求分析2.1要求(1)用C++语言实
2、现程序设计;(2)利用类进行相关信息处理门(3)系统的各个功能模块要求用函数的形式实现;(4)界面友好(良好的人机互交),程序要有注释。2.2任务(1)定义一个类实现分数的四则运算和自动化简;(2)画出该模块的流程图;(3)编写代码;(4)程序分析与调试。2.3运行环境(1)系统:windows764位(2)编译环境:VisualC++6.02.4开发工具C++语言3概要设计与详细设计3.1系统流程图如图3.1所示。开始重载函数output()结束4编码与实现4.1分析classPointiprivate:intc_point;intm_p
3、oint;charcode;public:Point()I:code二'/';}Point(intnl,intn2)I:c_point=nl;m_point=n2;code二'/';}用类存储,分子above,分母below,约分和通分函数作为私有成员;重载实现四则运算函数为公有成员,并且构造类对象函数和显示、输入函数。任意输入两个分数调用input()和output(),然后重载实现运算,最后结束。4・2湖轸走甜將胃^include、、sbdafx・h、、甘include〈iostream〉usingnamespacest*classPo
4、int一private-inbc—poinrrinbm—poinrrcharcode-public-Poinb()code1'「-Poinb(inbrd》inbrl2)c—poindl-m—poind2-code1'「-voidoutput。if(m—poinbHHO)cout〈〈弋error弋-elseif(m—poinbHl)cout〈〈c—point-elsecoub〈〈、、(、、〈〈c—poinb〈〈code〈〈nl—point;〈〈、、)、、八intBig(intnl,intn2)〃最大公约数ints二1;intn二nl,m二n2
5、;wh订c(s!=O){s=nl%n2;nl=n2;n2=s;iif(nl!=1&&n%n1==0&&m%n1==0)returnnl;elsereturn0;i//intSmall_Multiple()Pointoperator+(Pointb){Pointc;intnl,n2,s二1;nl=m_point;n2=b.m_point;if(nl==n2){c.c_point=c_point+b.c_point;c.m_point=m_point=b.m_point;ielsewh订e(s!=0)s=nl%n2;nl=n2;n2=s;is二
6、m_point*b・m_point/nl;//最小公倍数c.m_point=s;c.c_point=c_point*(s/m_point)+b.c_point*(s/b.m_point);iintt;t=Big(c.c_point,c.m_point);while(t!=0){c.c_point=c.c_point/1;c.m_point=c.m_point/1;t=Big(c.c_point,c.m_point);ireturnc;iPointoperator-(Pointb){Pointc;intnl,n2,s二1;nl=m_point
7、;n2=b.m_point;if(nl==n2){c.c_point=c_point-b.c_point;c.m_point=m_point=b.m_point;elsewh订e(s!=O)s二nl%n2;nl=n2;//最大公约数n2=s;is二ni_point*b・m_point/nl;//最小公倍数c.m_point=s;c.c_point=c_point*(s/m_point)-b.c_point*(s/b.m_point);iintt;t二Big(c.c_point,c.m_point);while(t!=0){c.c_point
8、二c.c_point/1;c.m_point=c.m_point/1;t二Big(c.c_point,c.m_point);ireturnc;iPointoperator*(Po
此文档下载收益归作者所有