第四周项目二 分数问题
来源:互联网 发布:剑三异瞳萝莉捏脸数据 编辑:程序博客网 时间:2024/06/05 19:06
问题及代码
*ALL rights reserved. *文件名称: 初学对象4 *作者:李长鸿 *完成时间:2015.4.8 *问题描述:分数问题 */ #include <iostream>#include <iostream>using namespace std;class CFraction{private: int nume,deno;public: CFraction(int nu=0,int de=1); void set(int nu=0,int de=1); void input(); void simplify(); void amplify(int n); void output(int style=0);};CFraction::CFraction(int nu,int de):nume(nu),deno(de) {}void CFraction::set(int nu,int de){ nume=nu; deno=de;}void CFraction::input(){ char c; int a,b; while(cin>>a>>c>>b) { if(c!='/'||b==0) { cout<<"输入有误,请重新输入:"<<endl; continue; } else break; } set(a,b);}void CFraction::simplify(){ int i=2; while(i<=deno&&i<=nume) { if(nume%i==0&&deno%i==0) { nume=nume/i; deno=deno/i; continue; } i++; }}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; if((nume%deno)!=0) { nume=nume%deno; simplify(); cout<<'('<<nume<<'/'<<deno<<')'<<endl; } } else cout<<nume/double(deno)<<endl;}int main(){ CFraction CF; int i; cout<<"如果要改变分数,请输入1;如果不改变,请输入其他的数:"<<endl; cin>>i; if(i==1) { cout<<"请输入分数:"<<endl; CF.input(); } cout<<"如果要扩大分数的倍数,请输入1;如果不改变,请输入其他的数:"<<endl; cin>>i; if(i==1) { int n; cout<<"请输入您想扩大的倍数n: n="; cin>>n; CF.amplify(n); } cout<<"输出原型请输入0;化简请输入1;加法形式请输入2;小数形式请输入3:"<<endl; cin>>i; CF.output(i); return 0;}
总结:我想的太复杂了!!上周上机做了两节课,细节不对,下午又做了很久,还是有地方不对,然后就烦了,一周没去理它,也没兴趣去写程序,感觉头闷,烦躁。结果刚又拿出来看————轻轻松松就改对了!!!if ((nume%deno)!=0) { nume=nume%deno; simplify(); cout<<'('<<nume<<'/'<<deno<<')'<<endl; }老是不对,我就郁闷——明明我有if啊,怎么还会输出1(0/2)这种数??结果刚一看,if((nume%deno)!=0);——有个“;”,会对才怪!!唉。。。。
0 0
- 第四周项目二 分数问题
- 第四周 项目二 分数的雏形
- 第四周项目二:分数类的雏形
- 第四周项目二 分数类的雏形
- 第四周 项目二-分数类的雏形
- 第四周项目二---分数类的雏形
- 第四周项目二:分数类的雏形
- 第四周项目二 分数类的雏形
- 2015年第四周项目二:分数类的雏形
- 第四周 项目二--分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二-分数类的雏形
- 第四周项目二——分数类的雏形
- 15第四周项目二——分数的雏形
- 第四周项目二 分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二 分数类的雏形
- 第四周项目2 分数
- 2015.4.8静态成员应有,时间类的转换
- 第五周项目一 体验常成员函数
- MATLAB自动识别MNIST手写数字数据库
- 考研英语单词4—61-80
- JAVA内存垃圾回收机制
- 第四周项目二 分数问题
- Windows 各种计时函数总结
- 迷茫之后:Java研发转型售前——选择大于努力!
- 程序猿眼里的高并发
- jdbc连接数据库操作步骤
- ios Crash闪退日志获取和上传至服务器
- 创建项目时,提示 overlaps the workspace location
- Apache Thrift
- 2015年大一下第4周项目1-体验常成员函数