下载此文档

《C++语言程序设计》课程设计报告.doc


文档分类:高等教育 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
“信息与计算科学”专业
《C++语言程序设计》课程设计
班级计算091
姓名
学号 3090811
指导教师冉占军
设计日期 2011年春季学期19周
报告1
目的意义
《C++语言程序设计》是“信息与计算科学”专业的一门院级选修课,在学完《计算机基础》、《C语言程序设计》后开设,内容涉及类与对象、函数、继承与派生、多态、流类库与输入输出、模板等。虽然是选修课程,但关系到大部分同学的就业问题。在理论上讲解完面向对象的程序设计方法之后,另一个主要环节就是通过课程设计加以强化,以达到以下目的:
1、通过编写比课堂上机内容更加复杂、深度更广、更加实用的程序达到综合训练的目的,使学生加深理论知识的理解,培养学生采用面向对象的方法开发软件的能力。
2、通过设置一些需要查阅相关资料才能做的题目,提高学生的自学****能力和创新能力。
3、为后续课程《数据结构》、《数据库原理》、《软件工程》、《信息安全与编码》、数值计算方面专业课的学****和编程打下坚实的基础。
内容要求
1、设计题目
有理数就是两个整数的比率,通常表示为,分母不能为0。
本设计要求设计一个Rational(有理数)类,实现有理数的四则运算,该类型的对象使用起来要像使用基本类型的对象一样自然。
2、设计要求
具体要求如下:
(1)抽象Ration类,包含两个数据成员(分子、分母),比如有理数可以用对象表示为。
(2)如果分子分母有公约数,应该约分,例如应表示为。根据需要,有时要将表示为,或者将表示为
(3)重载相应的运算符(输入、输出、加、减、乘、除)。比如,要计算,希望像普通加法一样操作,和相加得,算数表达式为。又如,想使用如下形式直接输入分子分母
cin << r ;
//输入
cout >> r;
//输出
则需要重载这两个流运算符。
三、设计思想
1、构造函数
构造函数的设计应能满足如下方式创建对象:
rational r(5L); // 5/1
rational p; // 0/1
rational s(2,3); // 2/3
rational q(5,-6); //-5/6
rational q(.5); // 1/2
r(5L)和q(.5)调用不同的构造函数,所以需要使用L(1)来区分。前者表示参数是整型数组,.5为double型数据。
使用默认参数的原型如下所示:
rational r1,r2(5L),r3(4,8),r4(.75);
不允许分母为零。调用Standardize()私有成员函数,使其对“-”号的表达统一。
如果输入的有理数有公约数,则进行化简。gcd()成员函数用来求公约数,它被Reduce()函数调用,完成化简任务。
2、重载“/”运算符
与构造函数同理,得到结果之后,调用Standardize()和Reduce()函数。
其他运算不需要调用Standardize()函数,根据计算公式很容易写出。
3、重载流运算符
输入输出就是按格式构造输出,很简单。
输入流需要保证正确的格式。首先保证分母不等于零;然后调用Standardize()和Reduce()函数调整格式。
程序代码
//
#ifndef RATIONAL_H
#define RATIONAL_H
#include<iostream>
using namespace std;
namespace std{
class rational{
private:
long num,den;
//标准化
void Standardize(void);
//公约数
long gcd(long m,long n)const;
public:
//用于整数—>有理数,实数—>有理数的构造函数
rational(long p=0,long q=1);
rational(double x);
//重载流运算符
friend istream& operator >>(istream& istr,rational& x);
friend ostream& operator <<(ostream& ostr,const rational& x);
//双目运算符
rational operator+(rational& x)const;
rational operator-(rational& x)const;
rational operator*(rational& x)const;
rational operator/(rational& x)const;

《C++语言程序设计》课程设计报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人DOC KING
  • 文件大小0 KB
  • 时间2011-12-14