C++第二次试验——作业
2016-03-30 17:41
549 查看
一、阅读、运行程序后,按要求增加类的功能(此题不用写实验报告)
二、正整数类
#include <iostream> using namespace std; class Time { public: void set_time( ); void show_time( ); int add_a_sec() { return sec+1; } int add_a_minute() { return minute+1; } int add_an_hour() { return hour+1; } int add_seconds(int n); int add_minutes(int n); int add_hours(int n); private: bool is_time(int, int, int); int hour; int minute; int sec; int guiling(); }; void Time::set_time( ) { char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正确,请重新输入"<<endl; else if (!is_time(hour,minute,sec)) cout<<"时间非法,请重新输入"<<endl; else break; } } void Time::show_time( ) { cout<<hour<<":"<<minute<<":"<<sec<<endl; } bool Time::is_time(int h,int m, int s) { if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) return false; return true; } int Time::add_hours(int n) { return hour+n; } int Time::add_minutes(int n) { return minute+n; } int Time::add_seconds(int n) { return sec+n; } int Time::guiling() { if(sec>=60) return sec=0; if(minute>=60) return minute=0; if(hour>=24) return hour=0; } int main( ) { Time t1; t1.set_time( ); t1.show_time( ); return 0; }
二、正整数类
#include<iostream> 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 //显示所有大于1,且小于数据成员n的水仙花数; }; void NaturalNumber::setValue(int n) { if(n>0) cout<<"Yes"<<endl; else cout<<"No"<<endl; } int NaturalNumber::getValue() { return n; } bool NaturalNumber::isPrime(int m) { int i; for(i=2,i<m,i++) if(m%i!=0) continue; return ture; else return false; } void NaturalNumber::printFactor(int m) { int a; for(a=2;a<m;a++) if(n%i==0) cout<<1<<" "<<a<<" "<<m<<endl; } bool NaturalNumber::isPerfect() { int x,s=0; for(x=1;x<n;x++) { if(n%x==0) s+=x; } if(s==n) cout<<"Yes"<<endl; else cout<<"No"<<endl; } bool NaturalNumber::isReverse(int x) { int k=1,x,i=0; while(k!=0) { k=x; i=i*10+x%10; x=k; } if(x==m) return true; else return false; } void main(void) { NaturalNumber nn; //定义类的一个实例(对象) nn.setValue (6); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl; nn.setValue (37); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数"<<endl; nn.setValue (84); cout<<nn.getValue()<<"的因子有: "; printFactor(); //随着成员函数的实现,增加代码以完成相关的测试。注意判断类的成员函数需要测试是或否两种情况…… } //请在下面定义类中的各个成员函数
相关文章推荐
- 关于codeblocks在变量long long和__int64上的编译区别
- dp入门
- 求解二叉树的深度(高度)_C语言
- 设计Qt风格的C++API
- C++中 类的构造函数理解(一)
- c++实验2-正整数类
- UVa232 Crossword Answers——C语言版本
- C++中string的用法详解
- UVa232 Crossword Answers——C++版本
- vim---C++开发环境搭建
- c++Primer5,类设计者的工具
- C++作业2
- C++11新特性(3) lambda表达式(1)
- 模拟实现c++标准库和boost库中的智能指针
- UVa Puzzle——C语言版本
- UVa227 Puzzle——C++版本
- C语言中const,volatile,restrict的用法总结
- C++基础知识
- C++作业2
- C++实验2-标准体重