第六周项目1—分数类的雏形
来源:互联网 发布:医疗器械软件描述 编辑:程序博客网 时间:2024/05/17 06:54
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights reserved. *文件名称:my.cpp *作者:张瀚文 *完成日期:2016年4月11日 *问题描述: 本任务将设计一个简单的分数类,完成对分数的几个运算。 */ #include <iostream>using namespace std;class CFraction{private : int nunme;//分子 int deno;//分母public: CFraction(int nu=0,int de=1)//构造函数,初始化用 { nunme=nu; deno=de; } void set (int nu=0,int de=1)//置值,改编值时用 { nunme=nu; deno=de; } int gcd(int ,int ); 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};void CFraction::input(){ char a; int nu,de; while(1) { cin>>nu>>a>>de; if(a!='\/') cout<<"输入格式不正确,请重新输入"<<endl; else { set(nu,de); break; } }}void CFraction::simplify(){ int nun=nunme,den=deno; nun/=gcd(nun,den); den/=gcd(nun,den); if(den==nun||den==1) cout<<nun<<endl; else cout<<nun<<"/"<<den;} int CFraction::gcd(int x,int y) { if(x%y==0) return y; gcd(y,x%y); } void CFraction::amplify(int n) { cout<<"请输入扩大倍数:"<<endl; cin>>n; int den=deno,nun=nunme; den*=n; nun*=n; cout<<"扩大后:"<<nun<<"/"<<den<<endl; } void CFraction::output(int style) { int den=deno,nun=nunme; if(style==0) cout<<nun<<"/"<<den; else if(style==1) simplify(); else if(style==2) {cout<<nun/den<<"("<<nun-den*(nun/den)<<"/"<<den;cout<<")"<<endl;} else if(style==3) cout<<1.0*nun/den; else cout<<"格式错误"; }int main(){ int n; CFraction num; cout<<"请输入分数(5/2)"; num.input(); num.amplify(n); cout<<"选择输出格式:"<<endl; cout<<"1:输出化简后形式 "<<endl; cout<<"2: 输出假分数形式 "<<endl; cout<<"3: 输出小数形式"<<endl; cout<<"0: 默认格式输出"<<endl; cin>>n; num.output(n); return 0;}<img src="http://img.blog.csdn.net/20160411202737851" alt="" />
// 做的还是不行 勉强过关吧 步骤太烦
0 0
- 第六周项目1——分数类的雏形
- 第六周项目1—分数类的雏形
- 第六周项目-分数类的雏形
- 第六周项目1:分数的雏形
- 第六周项目1分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目一-分数类的雏形(1)
- 第六周项目1==分数类的雏形
- 第六周【项目1-分数类的雏形】
- 第六周 项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周上机实践项目——项目1-分数类的雏形
- 第六周实践项目1————分数类的雏形
- 第六周项目一 分数类的雏形
- 第六周项目一-分数类的雏形(2)
- 第六周【项目4-静态时间类】
- hdu 1540 Tunnel Warfare 【线段树 区间合并】
- kafka源码解析Word版
- Android开源项目分包方式学习(eoe、oschina、github)
- poj 3069 Saruman's army
- 第六周项目1—分数类的雏形
- Oracle数据库--实用操作(4)游标
- springside4项目源码研读(1)
- java 连接Access数据库
- C++练习题:求一元二次方程的根
- strcmp()函数、strstr()函数、strlen()函数、strchr()函数
- Kafka 安装和搭建 (一)
- @property 后面可以有哪些修饰符?
- c++多继承与虚基类