分类雏形
来源:互联网 发布:java导出excel合并行 编辑:程序博客网 时间:2024/06/05 12:22
问题及代码:
/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved *文件名称:test.cpp *作者:杨昊 *版本:v6.0 *时间;2016年4月10日 * *问题描述:分类的雏形 *输入描述:无 *程序输出:*/#include <iostream> using namespace std; int hanshu(int m, int n) { int r; if (m==0) { return n; } while(r=m%n) { m=n; n=r; } return n; } 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<<"分母不能为0,输入错误"<<endl; } } void CFraction::set(int nu,int de) { if (de!=0) { nume=nu; deno=de; } else cout<<"赋值失败,错误原因:分母为0"<<endl; } void CFraction::input() { int nu,de; char f; cin>>nu>>f>>de; if (de==0) cout<<"输入错误,错误原因:分母不能为0!"<<endl; nume=nu; deno=de; } void CFraction::simplify() { int n; n=hanshu(deno, nume); deno=deno/n; nume=nume/n; } void CFraction::amplify(int n) { nume=nume*n; deno=deno*n; } void CFraction::output(int style) { int n=hanshu(nume,deno); switch(style) { case 0: cout<<nume<<'/'<<deno<<endl;break; case 1: cout<<nume/n<<'/'<<deno/n<<endl;break; case 2: cout<<nume/deno<<'('<<(nume/n)%(deno/n)<<'/'<<deno/n<<')'<<endl;break; case 3: cout<<nume/double(deno)<<endl;break; default: cout<<nume<<'/'<<deno<<endl;break; } } int main() { CFraction c1(8,6),c2; c1.output(0); c1.output(1); c1.output(2); c1.output(3); c1.set(80,3); c1.output(0); c1.output(1); c1.output(2); c1.output(3); c2.input(); c2.output(0); c2.output(1); c2.output(2); c2.output(3); }
结果及总结
0 0
- 分类雏形
- 五.2分类数的雏形
- 项目2 分类类的雏形
- 第四周项目二 分类数的雏形
- 第四周 项目二 分类类的雏形
- 第05周:项目二:分类数的雏形,更深理解构造函数
- 引擎雏形
- telbook雏形
- 风火轮雏形
- Vue雏形
- 龙头雏形渐显长江三角
- 通用的DAO雏形
- 人工智能推导的雏形
- 新型BT软件雏形
- 初赛文档雏形完成
- JAVA记事本源代码(雏形)
- 客户端界面雏形
- 我们的需求雏形
- Linux内核如何装载和启动一个可执行程序
- YCM和Ultisnips按键冲突解决方案(只使用TAB键,无错误)
- Microsoft.AspNet.Identity 3.0(一) 初始Identity结构
- JAVA多线程和并发基础面试问答
- ssh框架三者整合
- 分类雏形
- Android学习(14) -- 在内部存储空间中读写文件
- AfxBeginThread开启一个线程,怎样去关闭这个线程?
- NSLayout 以及关于 AutoLayout 的一些学习
- mysql/01基础
- 循序渐进之Spring AOP(3) - 配置代理
- 贪婪算法-最小生成树-Kruskal算法
- 机器学习课堂笔记(九)
- 从头到位打印链表