第六周项目1:分数的雏形
来源:互联网 发布:知乎jennyyy照片 编辑:程序博客网 时间:2024/04/29 21:10
问题及代码:
/**copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:test.cpp*作者:崔青青*完成日期:2016年4月1日*问题描述:设计一个简单的分数类,完成对分数的几个运算。*输入:*程序输出:*/#include <iostream>using namespace std;class cfraction{private: int nume; int deno;public: cfraction(int nu,int de); void set1(int nu,int de); void input(); void simplify(); void amplify(int n); void output(int style=0); int gcd(int x,int y);};cfraction::cfraction(int nu=0,int de=1){ nume=nu; deno=de;}void cfraction::input(){ char ch; while(1) { cout<<"请输入分数的正确形式:"<<endl; cin>>nume>>ch>>deno; if(ch!='/') cout<<"格式错误,请重新输入"<<endl; if(deno==0) cout<<"输入有误,请重新输入:"<<endl; else break; }}void cfraction::set1(int nu=0,int de=1){ nume=nu; deno=de;}void cfraction::simplify(){ int g; g=gcd(nume,deno); nume=nume/g; deno=deno/g;}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(); cout<<nume<<'/'<<deno<<endl; } else if(style==2) { if(nume%deno==0) cout<<nume/deno<<endl; else if(nume<deno) cout<<nume<<'/'<<deno<<endl; else if(nume>deno) { int a; simplify(); a=nume/deno; nume=nume-a*deno; cout<<a<<'('<<nume<<'/'<<deno<<')'<<endl; } else cout<<1; } else if(style==3) { float f; f=(float)nume/deno; cout<<f<<endl; }}int cfraction::gcd(int x,int y){ if(x%y==0) return y; else return gcd(y,x%y);}int main(){ int style,a,b,n; char ch1; cout<<"请选择输出的格式:"<<endl; cin>>style; cfraction c(8,12); c.output(style); cout<<"请选择输出的格式:"<<endl; cin>>style; c.input(); c.simplify(); c.output(style); cout<<"请选择输出的格式:"<<endl; cin>>style; cout<<"请输入放大的倍数:"<<endl; cin>>n; c.amplify(n); c.output(style); cout<<"请选择输出的格式:"<<endl; cin>>style; cout<<"请输入重置的数:"<<endl; while(1) { cout<<"请输入分数的正确形式:"<<endl; cin>>a>>ch1>>b; if(ch1!='/') cout<<"格式错误,请重新输入"<<endl; if(b==0) cout<<"输入有误,请重新输入:"<<endl; else break; } c.set1(a,b); c.simplify(); c.output(style); return 0;}
运行结果:
知识点总结:
对类的掌握,对构造函数的掌握。
学习心得:
通过编写这个程序,巩固了基于对象编程的方法。
0 0
- 第六周项目1:分数的雏形
- 第六周项目-分数类的雏形
- 第六周项目1分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目一-分数类的雏形(1)
- 第六周项目1——分数类的雏形
- 第六周项目1==分数类的雏形
- 第六周【项目1-分数类的雏形】
- 第六周项目1—分数类的雏形
- 第六周 项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目一 分数类的雏形
- 第六周项目一-分数类的雏形(2)
- 第六周项目一 分数类的雏形
- 第六周 项目一 分数类的雏形
- 30了还在写初级的代码.
- 在eclipse中如何产看源码
- 【bzoj3514】【Codechef MARCH14 GERALD07加强版】【lct+主席树】
- ReactiveCocoa 学习心得 -- 4
- 几种常见的中文分词包的分析与比较
- 第六周项目1:分数的雏形
- Spring中属性文件properties的读取与使用
- 抽样方法
- 政府兜售大数据和虚拟现实产业谁更不靠谱-2016年4月江西IDC排行榜与发展报告
- 华南理工大学计算机学子的一些感想
- 正则表达式验证中文
- poj 1236 Network of Schools 强联通分量Kosaraju
- [HDU1695]GCD(莫比乌斯反演)
- Python学习(一)