c++求助,各位大神,救救孩子

设计Time类,类中含有3个私有数据成员:hour(时)、minute(分)、sce(秒);2个公有成员函数:set_time、show_time,写一个完整的程序,验证此类。

要求:set_time用来输入时间,其中:hour不接受小于0、大于24的值,minute、sec不接受小于0、大于59的值;show_time用来输出时间,输出格式:10:25:45。

代码如下,如有帮助,请采纳一下,谢谢。

#include <iostream>
using namespace std;
class Time
{
private:
	int hour;
	int minute;
	int sec;
public:
	void set_time()
	{
		while(true)
		{
			cout << "请输入小时:" ;
			cin >> hour;
			if (hour < 0 || hour > 24 )
			{
				cout << "hour不接受小于0、大于24的值" << endl;
			}else
				break;
		}
		while(true)
		{
			cout << "请输入分:" ;
			cin >> minute;
			if (minute < 0 || minute > 59 )
			{
				cout << "分不接受小于0、大于59的值" << endl;
			}else
				break;
		}
		while(true)
		{
			cout << "请输入秒:" ;
			cin >> sec;
			if (sec < 0 || sec > 59 )
			{
				cout << "秒不接受小于0、大于59的值" << endl;
			}else
				break;
		}
		
	}
	void show_time()
	{
		cout << hour << ":" << minute << ":" << sec << endl;
	}
};

int main()
{
	Time tt;
	tt.set_time();
	tt.show_time();
	//system("pause");
	return 0;
}

 

class Time
{
    private:
        int hour;
        int minute;
        int sec;
    public:
        Time() {}
        bool set_time(int h,int m,int s)
        {
            if(h<0 || h>24)
                return false;
            if(m<0 || m>59)
                return false;
            if(s<0 || s>59)
                return false;
            hour = h;
            minute = m;
            sec = s;
            return true;
        }
        void show_time() {printf("%02d:%02d:%02d",hour,minute,sec);
};

int main()
{

    Time t;
    if(t.set_time(10,25,45))
        t.show_time();
    return 0;
}

 

#include <iostream>
using namespace std;
class Time {
	protected:
		int Hour;
		int Minute;
		int second;
	public:
		Time() {
			Hour=0;
			Minute=0;
			second=0;
		}
		void SetTime() {
			int a,b,c;
			printf("请输入时:");
			scanf("%d",&a);
			if(a<0 || a>24){
				printf("小时输入有误");
			}else{
				Hour=a;
			} 
			printf("请输入分:");
			scanf("%d",&b);
			if(b<0 || b>59){
				printf("分钟输入有误");
			}else{
				Minute=b;
			} 
			printf("请输入秒:");
			scanf("%d",&c);
			if(c<0 || c>59){
				printf("秒输入有误");
			}else{
				second=c;
			} 
		}
		void ShowTime() {
			cout<<Hour<<":"<< Minute<<":"<<second<<endl;
		}
};
int main() {
	Time t1,t2;
	t1.SetTime();
	t2.ShowTime();
	return 0;
}

代码如上,万望采纳。

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632