码迷,mamicode.com
首页 > 其他好文 > 详细

sdut 2-2 Time类的定义

时间:2014-09-10 21:11:01      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   os   ar   strong   文件   数据   

2-2 Time类的定义

Time Limit: 1000MS Memory limit: 65536K

题目描述

通过本题目的练习可以掌握类与对象的定义;

设计一个时间类Time,私有数据成员有hour()minute()second()

公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12setMinue(int)设置数据成员minute的值,非法输入默认为0setSecond(int)设置数据成员second的值,非法输入默认为0setTime(intintint)设置时、分、秒三个数据成员的值; showTime()显示时间对象的值。

在主函数main()中调用相应成员函数,使得时间对象的值能从键盘接收,并正确显示。

输入

 

输入3个整数,用一个空格间隔

输出

 

输出 时、分、秒的值,中间用“:”间隔

示例输入

10 11 12

示例输出

10:11:12

提示

输入

58 23 85

输出

12:23:00

来源

 黄晶晶

示例程序

这个题遇到一点小问题,当分和秒等于0的时候要输出00,在c里用”%02d“能实现(需要用到#include<stdio.h>),在才++中用cout.with(0); cout.fill("0");也可以,不过后者麻烦,(不需要单独的头文件),而且在这题中后者没实现出来,求教!!

#include <iostream>
#include<stdio.h>

using namespace std;

//声明类类型
class time
{
//定义私有部分
private:
    int h;
    int m;
    int s;

//定义公有部分
public:
    int sethour()//控制时成员函数
    {
        if(h>12 || h<0)
            h=12;
        return h;
    }
    int setminue()//控制分成员函数
    {
        if(m>60 || m<0)
            m=0;
        return m;
    }
    int setsecond()//控制秒成员函数
    {
        if(s>60 || s<0)
            s=0;
        return s;
    }
    void settime()//赋值成员函数
    {
        cin >>h>>m>>s;
    }
    void showtime()//输出成员函数
    {
        printf("%02d:%02d:%02d\n",h,m,s);//需要用到#include<stdio.h>
    }
};//不要忘了这个分号

//主函数
int main()
{
    class time t;
    t.settime();
    t.sethour();
    t.setminue();
    t.setsecond();
    t.showtime();
    return 0;
}


sdut 2-2 Time类的定义

标签:des   style   blog   io   os   ar   strong   文件   数据   

原文地址:http://blog.csdn.net/u013634961/article/details/39185689

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!