第五周上机实践项目 项目3--时间类(1)
2016-04-05 19:20
281 查看
问题及代码:
运行结果:
知识点总结:
学习心得:
/* Copyright(c)2016,烟台大学计算机与控制工程学院 All rights reserced 文件名称:test.cpp 作 者:蔡汝佳 完成日期:2016年4月5日 版 本 号:v1.0 问题描述: 输入描述: 程序输出: 阅读、运行程序后,按要求扩充类的功能 class Time { public: void set_time( ); void show_time( ); private: bool is_time(int, int, int); int hour; int minute; int sec; }; 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 main( ) { Time t1; t1.set_time( ); T1.show_time( ); return 0; }1 要求: (1)请在原类基础上,在类内增加下列成员函数(将是内联成员函数) •add_a_sec() //增加1秒钟 •add_a_minute() //增加1分钟 •add_an_hour() //增加1小时 在main()数中,调用新增加的成员函数,以测试扩充后的功能。 */ 代码: #include <iostream> using namespace std; class Time { public: void set_time( ); void show_time( ); void add_a_sec() { sec++; } void add_a_minute() { minute++; } void add_a_hour() { hour++; } private: bool is_time(int, int, int); int hour; int minute; int sec; }; 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; if(sec==60) { minute++; sec=0; } if(minute>=60) { hour=hour+minute/60; minute=minute%60; } 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 main( ) { Time t1; t1.set_time( ); t1.show_time( ); t1.add_a_sec(); t1.add_a_minute(); t1.add_a_hour(); t1.show_time( ); return 0; }
运行结果:
知识点总结:
学习心得:
相关文章推荐
- Java编程手册—异常处理与断言
- 2016-04-05
- 指定数据库ASMIFS使用的存储类型[]:
- awk解密
- C#委托和事件
- 优秀程序设计的18大原则
- Codeforces Round #251(Div. 2) 439C. Devu and Partitioning of the Array 构造
- JAVA连接MYSQL数据库以及操作
- 算法训练 判定数字
- int *a[10],int (*a)[10],int *a[10],int (*a)(int),int (*a[10])(int)
- adb连接时出现如下错误CreateProcess failure, error 2 * could not start server *
- Eclipse常用快捷键
- Leetcode 99. Recover Binary Search Tree
- C语言编程——有趣的数(使用动态规划实现)
- 使用windows上 mxnet 预编译版本
- 算法训练 字串逆序
- iscsi configuration
- LeetCode - 1. Two Sum
- Xcode --自动注释插件VVDocumenter-Xcode(配置须知)
- linux环境下的伪分布式的hadoop基本搭建