c++第五次实验
来源:互联网 发布:网络词 抓马什么梗 编辑:程序博客网 时间:2024/05/18 00:48
一:问题提出
要求:请在原类基础上,增加下列成员函数,要求前三个在类内定义,后三个在类内声明,类外定义。在main()数中增加适当的调用以展示扩充类定义后的功能。
add_a_sec() //增加1秒钟
add_a_minute() //增加1分钟
add_an_hour() //增加1小时
add_seconds(int) //增加n秒钟
add_minutes(int) //增加n分钟
add_hours(int) //增加n小时
提示:(1)要考虑增加后超出取值范围的情形;(2)增加n秒后,秒数可能会超过60,调整秒数,并可以调用增加分钟数的成员函数,使时间合法;同理,增加分钟数也有类似问题。
二:代码
#include<iostream>using namespace std;class Time{public:void set_Time(); void show_time( ); void add_a_sec(); //增加1秒void add_a_minute(); //增加1分钟 void add_an_hour(); //增加1小时void add_seconds(int) ;//增加n秒钟void add_minutes(int); //增加n分钟void add_hours(int); //增加n小时 private: bool is_time(int, int, int); //这个成员函数设置为私有的,是合适的,请品味 int hour; int minute; int sec; }; int main(){Time t1;t1.set_Time();t1.show_time();t1.add_a_sec();cout<<"增加1s后:";t1.show_time();t1.add_seconds(79);cout<<"增加79s后:";t1.show_time();return 0;} 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; }void Time::add_a_sec(){sec++;if(sec==60){minute++;sec=0;if(minute==60){minute=0;hour++;if(hour==24){hour=0;}}}} void Time::add_a_minute(){minute++;if(minute==60){minute=0;hour++;if(hour==24){hour=0;}}}void Time::add_an_hour(){hour++;if(hour==24)hour=0;}void Time::add_hours(int n){hour+=n;hour=hour%24;}void Time::add_minutes(int n){minute+=n;hour=hour+minute/60;minute=minute%60;hour=hour%24;}void Time::add_seconds(int n){sec+=n;minute=minute+sec/60;hour=hour+minute/60;sec=sec%60;minute%=60;hour%=24;}
三:运行结果
0 0
- 第五次C语言上机实验报告
- 第五次C程序设计实验报告
- 第五次C语言上机实验报告
- C语言第五次上机实验
- 第五次实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次实验报告
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- 第五次上机实验
- What Kind of Friends Are You?(字符串匹配)
- java的正则表达式
- JS中创建一个新的对象的方法
- Qt与WINDOWS图片相互转换
- Linux 开机启动 PHP 环境
- c++第五次实验
- 【LeetCode刷题记录】1.Two Sum解法与Hashmap的应用
- Win7 安装SSMS16.5 报无法建立到信任根颁发机构的证书链。(0x800B010A)
- 二、Solr配置中文分词器IKAnalyzer并配置业务域
- AOP简介和基本概念【理解】【重点】
- Android taskAffinity属性
- JNI学习(一)hellojni
- 使用WebRTC搭建前端视频聊天室——数据通道篇
- React-Native生命周期详解