C++第二次实验
来源:互联网 发布:centos 查看硬件配置 编辑:程序博客网 时间:2024/06/04 19:52
一‘实验代码
/* * 文件名称:Ex1-1.cpp * 作 者:陈征 * 完成日期:2016 年 3 月 31 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:
* 程序输出:略* 问题分析:略* 算法设计:化简分数时需要求分子分母最大公约数*/ #include<iostream>using namespace std;class CFraction{private: int nume; // 分子 int deno; // 分母public: CFraction(int nu,int de); //构造函数,初始化用 int gdc(); //计算最大公约数 void setc(int nu,int de); //置值,改变值时用 void input();//按照"nu/de"的格式,如"5/2"的形式输入 void simplify();//化简(使分子分母没有公因子) void amplify(int n);//放大n倍,如2/3放大5倍为10/3 void output(int style=0);//输出:以8/6为例,style为0时,原样输出8/6;//style为1时,输出化简后形式4/3;//style为2时,输出1(1/3)形式,表示一又三分之一;};CFraction::CFraction(int nu,int de){ nume=nu; deno=de;}void CFraction::setc(int nu,int de){ nume=nu; deno=de;}void CFraction::input(){ cout<<"输入分数(m/n):"; char a; cin>>nume>>a>>deno;}void CFraction::simplify(){ int a; a=gdc(); nume/=a;deno/=a;}int CFraction::gdc(){ int a=nume,b=deno,g=nume%deno; while(g) { a=b; b=g; g=a%b; } return b;}void CFraction::amplify(int n){ nume*=n;}void CFraction::output(int style){ int b;b=gdc(); switch (style) { case 0:cout<<"原样:"<<nume<<"/"<<deno<<endl;break; case 1:cout<<"化简形式:"<<nume/b<<"/"<<deno/b<<endl;break; case 2:cout<<"带分数形式:"<<nume/deno<<"("<<nume%deno/b<<"/"<<deno/b<<")"<<endl;break; case 3:double s=(double)nume/deno;cout<<"小数形式:"<<s<<endl;break; }}int main(){ CFraction c1(0,1),c2(8,6); cout<<"关于c1:"<<endl; c1.output(); cout<<"改变c1:"<<endl; c1.setc(2,7); c1.output(); cout<<"输入c1:"<<endl; c1.input(); c1.output(); cout<<"关于c2:"<<endl; c2.output(); c2.output(1); c2.output(2); c2.output(3); c2.output(); cout<<"将c2化简:"<<endl; c2.simplify(); c2.output(); cout<<"将c2放大5倍:"<<endl; c2.amplify(5); c2.output(); c2.output(1);}
二‘运行结果
三 心得体会
代码整体不难,主要分清分子分母。
四 知识点总结
基本掌握类的知识点
0 0
- c++--补第二次实验
- C++STL 第二次实验
- 第二次C程序设计实验报告
- C语言第二次上级指导实验报告
- c程序语言设计第二次上机实验报告
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验
- 第二次实验 实验报告
- C程序设计课程-2012电子信息 第二次上机实验
- 计算机图形学第二次实验E2-1-C语言
- 软件工程(C编码实践篇) 第二次作业实验报告
- C-第二次
- 基于PCA的人脸识别_Matlab实现(个人研读之后的一些总结)
- python之列表、元祖、集合、字典基础篇
- java web(SSM框架)实现博客的上一篇、下一篇功能
- 模拟实现strstr
- 4、struts2_标签库
- C++第二次实验
- LeetCode-207&210.Course Schedule
- php cookie用法之 setcookie()函数
- kali 虚拟机 联网问题解决办法
- C++第七次实验—作业(项目3:杨辉三角)
- mysql数据库常用数据类型
- TS协议解析第三部分(PES)
- Servlet_Filter(过滤器)及FilterChain的使用详解
- 找到0-N数组中至少一个重复元素