第五周实验报告2
来源:互联网 发布:视频上传网站源码 编辑:程序博客网 时间:2024/06/13 22:15
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: class CFraction * 作 者: 刘程程 * 完成日期: 2012 年 03 月 20 日* 版 本 号: 1.0 * 对任务及求解方法的描述部分* 输入描述: 分数的分子和分母* 问题描述: 化简* 程序输出: 化简后的分数的分子和分母* 程序头部的注释结束*/#include <iostream>using namespace std;int gcd(int x, int y);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倍 void output(int style = 0);};CFraction ::CFraction(int nu, int de){ if( de != 0) { nume = nu; deno = de; } else { cout << "分母不能为0" <<endl; system("pause"); exit(0); }} void CFraction :: Set(int nu, int de){ if( de !=0 ) { nume = nu; deno = de; }} void CFraction ::input(){ char c; int nu,de; while(1) { cout << "输入分数(m/n):"; cin >> nu >>c >>de; if(c != '/') cout<<"格式不正确,请重新输入!"<<endl; else if( de == 0) cout << "分母不能为0"<<endl; else break; } nume = nu; deno = de;}void CFraction :: Simplify(){ int n = gcd(nume, deno); nume = nume/n; deno = deno/n;}int gcd(int x, int y){ int r; while (y != 0) { r = x % y; x = y; y = r; } return x;}void CFraction::amplify( int n){ nume *= n;}void CFraction::output(int style){ int i,nu,de; switch(style) { case 0: cout << nume << '/' << deno << endl; break; case 1: i = gcd(nume,deno); cout << nume/i << '/' << deno/i << endl; break; case 2: i = gcd(nume,deno); nu = nume / i; de = deno / i; cout << (nume / deno) << "("<<(nume %deno)<<'/'<<deno<<")"<<endl; break; default: cout << nume << '/'<< deno<< endl; }}int main(){ CFraction c1,c2(8,6); cout<<"关于c1: "<<endl; c1.output(0); cout<<"改变c1: "<<endl; c1.Set(2,7); c1.output(); cout<<"输入c1: "<<endl; c1.input(); c1.output(0); cout<<"关于c2: "<<endl; c2.output(0); c2.output(1); c2.output(2); cout<<"将c2化简: "<<endl; c2.Simplify(); c2.output(0); cout<<"将c2放大倍: "<<endl; c2.amplify(5); c2.output(0); c2.output(2); system("pause"); return 0;}
通过自己不停调错,对这个程序有了更加深刻的了解!以后还要继续努力!
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 第五周实验报告2
- 《第五周实验报告任务2》
- 第五周实验报告(任务2)
- 第五周实验报告 1-2
- 第五周实验报告 任务2
- 第五周实验报告(1-2)
- 第五周实验报告(2)
- java 第五周实验【报告2】
- 中国象棋3
- 算法小记
- 简单的一个信号槽的连接
- HDUOJ 2045 LELE的RPG难题
- PHP.ini配置文件中文
- 第五周实验报告2
- centos5.6搭建python环境
- vs2010安装心得
- linux date 命令
- 网页调用IE浏览器的打印功能
- AWK --脚本语言、工具详解 (GCC内嵌,如同SQL 字段驱动解析文本)
- jquery初识
- PGA的设置与调整
- ubuntu上安装eclipse CDT