第六周上机实践项目1:分数类雏形
来源:互联网 发布:et软件视频教程 编辑:程序博客网 时间:2024/06/05 19:15
<pre class="cpp" name="code">/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:aaa.cpp *作 者:赵子琳 *完成日期:2016年4月5日 *版 本 号:v1.0 * *问题描述:设计一个简单的分数类,完成对分数的几个运算。 */#include <iostream>using namespace std;class CFraction{private: int nume; // 分子 int deno; // 分母public: CFraction(int nu=0,int de=1); //构造函数,初始化用 void set(int nu=0,int de=1); //置值,改变值时用 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)形式,表示一又三分之一; //style为3时,用小数形式输出,如1.3333; //默认方式0 };CFraction::CFraction(int nu,int de)//构造函数,初始化用{ if(de!=0) { nume=nu; deno=de; } else cout<<"初始化错误,请重新初始化!\n";}void CFraction::set(int nu,int de)//置值,改变值时用{ if(de!=0)//如果不合适,改变值操作无效 { nume=nu; deno=de; }}void CFraction::input(){ int nu,de; char k; while(1) { cout<<"输入分数(m/n): "; cin>>nu>>k>>de; if(k!='/') cout<<"输入格式错误!\n "; else if(de==0) cout<<"分母不能为零!\n "; else break; } nume=nu; deno=de;}void CFraction::simplify() //化简(使分子分母没有公因子){ int t,r,a,b; a=nume; b=deno; if(a<b) { t=a; a=b; b=t; } while (b!=0) { r=a%b; a=b; b=r; } nume=nume/a; deno=deno/a; cout<<"化为最简是:"<<nume<<"/"<<deno<<endl; } void CFraction::amplify(int n) { nume=nume*n; } void CFraction::output(int style) { if(style==0) { cout<<"原样输出为:"<<nume<<"/"<<deno<<endl; } else if(style==1) { simplify(); } else if(style==2) { int i,j; simplify(); i=nume/deno; j=nume%deno; cout<<"化为真分数为:"<<i<<"("<<j<<"/"<<deno<<")"<<endl; } else if(style==3) { double i; i=double(nume)/double(deno); cout<<"该分数对应的小数形式为:"<<i<<endl; } }int main(){ CFraction c1; c1.input(); int n1; cout<<"请输入c1要放大的倍数:"; cin>>n1; c1.amplify(n1); c1.output(0); c1.simplify(); c1.output(2); c1.output(3); c1.set(8,6); CFraction c2(4,6); int n2; cout<<"请输入c2要放大的倍数:"; cin>>n2; c2.amplify(n2); c2.output(1); c2.output(3); return 0;}
0 0
- 第六周上机实践项目1:分数类雏形
- 第六周上机实践项目——项目1-分数类的雏形
- 第六周上机实践项目-项目1-分数类的雏形
- 第六周上机实践项目 项目1 - 分数类的雏形
- 第六周实践项目1————分数类的雏形
- 第六周项目-分数类的雏形
- 第六周项目1:分数的雏形
- 第四周上机实践项目2-分数类的雏形
- 第六周项目1分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目一-分数类的雏形(1)
- 第六周项目1-分数类雏形(改进)
- 第六周项目1——分数类的雏形
- 第六周项目(1)-分数类雏形
- 第六周项目1==分数类的雏形
- 第六周【项目1-分数类的雏形】
- 第六周项目1—分数类的雏形
- nginx 解决session共享问题(jvm-route)方式(其实没有真正解决共享问题)
- Java通过关键字搜索出百度百科词条摘要的代码
- Oracle -- 授予用户权限
- jsonp
- Fresco简介:一个新的Android图片加载库
- 第六周上机实践项目1:分数类雏形
- Listview中加载大量缩略图(优化)
- 代码示例上线,开发so easy!
- odoo8新旧API related字段类型详解
- math3.util.BigReal
- ViewPager+Fragment(延时加载)+XListView(下拉刷新)+ViewPager(自动循环)嵌套
- 将流图片流写在本地,并通过base64 加密
- iOS面试笔试 技术向
- js调用提交表单。