c++第二次实验——作业
来源:互联网 发布:淘宝快递最便宜多少钱 编辑:程序博客网 时间:2024/04/28 10:15
第一题
第四题
#include <iostream> 02.using namespace std; 03.class Time 04.{ 05.public: 06. void set_time( ); 07. void show_time( ); 08. int add_a_sec() 09. { 10. return(sec=sec+1); 11. } 12. int add_a_minute() 13. { 14. return(minute=minute+1); 15. } 16. int add_an_hour() 17. { 18. return(hour=hour+1); 19. } 20. int add_seconds(int n); 21. int add_minutes(int n); 22. int add_hours(int n); 23. void tiao(); 24.private: 25. bool is_time(int, int, int); //这个成员函数设置为私有的,是合适的,请品味 26. int hour; 27. int minute; 28. int sec; 29.}; 30.int Time::add_seconds(int n) 31.{ 32.return(sec=sec+n); 33.} 34.int Time::add_minutes(int n) 35.{ 36. return(minute=minute+n); 37.} 38.int Time::add_hours(int n) 39.{ 40. return(hour=hour+n); 41.} 42.void Time::set_time( ) 43.{ 44. char c1,c2; 45. cout<<"请输入时间(格式hh:mm:ss)"; 46. while(1) 47. { cin>>hour>>c1>>minute>>c2>>sec; 48. if(c1!=':'||c2!=':') 49. cout<<"格式不正确,请重新输入"<<endl; 50. else if (!is_time(hour,minute,sec)) 51. cout<<"时间非法,请重新输入"<<endl; 52. else 53. break; 54. } 55.} 56.void Time::show_time( ) 57.{ 58. cout<<hour<<":"<<minute<<":"<<sec<<endl; 59.} 60.bool Time::is_time(int h,int m, int s) 61.{ 62. if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) 63. return false; 64. return true; 65.} 66.void Time::tiao() 67.{ 68. if(sec>=60) 69. sec=0; 70. if(minute>=60) 71. minute=0; 72. if(hour>=60) 73. hour=0; 74.} 75.int main( ) 76.{ 77. Time t1; 78. t1.set_time( ); 79. t1.show_time( ); 80. t1.add_a_minute(); 81. t1.show_time(); 82. t1.add_hours(5); 83. t1.show_time(); 84. return 0; 85.}第二题
#include<iostream>#include<math.h> using namespace std; class NaturalNumber {private: int n; public: void setValue (int x);//置数据成员n的值,要求判断是否是正整数 int getValue(); //返回私有数据成员n的值 bool isPrime(); //判断数据成员n是否为素数,是返回true,否则返回false void printFactor(); //输出数据成员n的所有因子,包括1和n自身 bool isPerfect(); //判断数据成员n是否为完全数。若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。 bool isReverse(int x);//判断形式参数x是否为数据成员n的逆向数(例321是123的逆向数)。 bool isDaffodil(int x); //判断形式参数x是否是水仙花数。水仙花数的各位数字立方和等于该数,如153=1*1*1+5*5*5+3*3*3 void printDaffodils(); //显示所有大于1,且小于数据成员n的水仙花数;};void NaturalNumber::setValue(int x){if(double(x)==x&&x>0)n=x;elsecout<<"这不是整数,拒绝"<<endl;}int NaturalNumber::getValue(){return n;}bool NaturalNumber::isPrime(){if(n<2) return 0;for(int i=2;i<=sqrt(n);i++)if(n%i==0)return 1;return 0;}void NaturalNumber::printFactor(){for(int j=1;j<=n;j++){if(n%j==0)cout<<j<<" ";else cout<<"";}cout<<endl;}bool NaturalNumber::isPerfect(){int sum=0;for(int i=1;i<n;i++){if(n%i==0)sum=sum+i;else sum=sum+0;}if(sum==n)return 1;else return 0;}bool NaturalNumber::isReverse(int x){int sum=0,d=n;while(d!=0){sum=sum*10+d%10;d=d/10;}if(sum!=x)return 0;else return 1;}bool NaturalNumber::isDaffodil(int x){int d=x,sum=0;while(d){sum+=(d%10)*(d%10)*(d%10);d/=10;}if(sum==x)return 1;else return 0;}void NaturalNumber::printDaffodils(){for(int i=2;i<n;i++)
第四题
#include<iostream>#include<math.h> using namespace std; class NaturalNumber {private: int n; public: void setValue (int x);//置数据成员n的值,要求判断是否是正整数 int getValue(); //返回私有数据成员n的值 bool isPrime(); //判断数据成员n是否为素数,是返回true,否则返回false void printFactor(); //输出数据成员n的所有因子,包括1和n自身 bool isPerfect(); //判断数据成员n是否为完全数。若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。 bool isReverse(int x);//判断形式参数x是否为数据成员n的逆向数(例321是123的逆向数)。 bool isDaffodil(int x); //判断形式参数x是否是水仙花数。水仙花数的各位数字立方和等于该数,如153=1*1*1+5*5*5+3*3*3 void printDaffodils(); //显示所有大于1,且小于数据成员n的水仙花数;};void NaturalNumber::setValue(int x){if(double(x)==x&&x>0)n=x;elsecout<<"这不是整数,拒绝"<<endl;}int NaturalNumber::getValue(){return n;}bool NaturalNumber::isPrime(){if(n<2) return 0;for(int i=2;i<=sqrt(n);i++)if(n%i==0)return 1;return 0;}void NaturalNumber::printFactor(){for(int j=1;j<=n;j++){if(n%j==0)cout<<j<<" ";else cout<<"";}cout<<endl;}bool NaturalNumber::isPerfect(){int sum=0;for(int i=1;i<n;i++){if(n%i==0)sum=sum+i;else sum=sum+0;}if(sum==n)return 1;else return 0;}bool NaturalNumber::isReverse(int x){int sum=0,d=n;while(d!=0){sum=sum*10+d%10;d=d/10;}if(sum!=x)return 0;else return 1;}bool NaturalNumber::isDaffodil(int x){int d=x,sum=0;while(d){sum+=(d%10)*(d%10)*(d%10);d/=10;}if(sum==x)return 1;else return 0;}void NaturalNumber::printDaffodils(){for(int i=2;i<n;i++)第五题
#include <iostream> using namespace std; class CFraction { private: int nume; int deno; public: CFraction(int nu,int de); 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(){cout<<nume<<"/"<<deno<<"化简后为:";}void CFraction::simplify(){for(int i=2;i<=nume;i++){if(nume%i==0&&deno%i==0){nume/=i;deno/=i;i--;}else cout<<"";}cout<<nume<<"/"<<deno<<endl;}void CFraction::amplify(int n){nume*=n;cout<<"变化和"<<nume<<"/"<<deno<<endl;}void CFraction::output(int style){while(style==1){cout<<nume<<"/"<<deno<<"化简"<<nume<<"/"<<deno<<endl;break;}while(style==2){cout<<nume<<"/"<<deno<<"化简"<<nume/deno<<"("<<nume%deno<<"/"<<deno<<")"<<endl;break;}while(style==3){double n=nume,d=deno;cout<<nume<<"/"<<deno<<"化简"<<n/d<<endl;break;}}
0 0
- c++第二次实验——作业
- c++第二次实验——作业
- c++——第二次作业1
- c++——第二次作业2
- 软工第二次作业——实验报告一
- 第二次实验作业
- c++第二次实验 作业
- C++第二次实验作业
- c++第二次实验 作业
- 软件工程(C编码实践篇) 第二次作业实验报告
- c++第二次上机实验作业
- C++第二次上机实验作业
- 第二次实验(作业博客)
- C++第二次实验-作业报告
- 第二次C程序设计作业
- 第二次C程序设计作业
- 第二次C程序设计作业
- C语言第二次作业
- linux文件系统的移植
- Linux工作管理(job control)
- python动态创建对象变量
- 【matlab】:matlab中如何取整?
- android 基础 getTag,setTag的用法
- c++第二次实验——作业
- u盘重新分区
- JSP访问Hadoop 图片存储服务
- c++作业
- cocos2d-JS (一)HelloWorld
- Git学习(四)----版本跳转
- 关于锚点链接的偏移问题
- Understanding the Android Source Code
- 提高Web服务端并发效率的异步编程技术