标题:日期问题、建立具有如下功能的类Date:
取消只看楼主
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
结帖率:100%
已结贴  问题点数:20 回复次数:2 
日期问题、建立具有如下功能的类Date:
#include<iostream>
#include<iomanip>
#include"string.h"
#include<time.h>

using  namespace  std;
class  Date
{
public:
   
    Date(int ,int,int);
    Date (char*s,int d,int y)
    {strcpy(str,s);
    day=d;
     year=y;}


    void set(int y,int d,int m);
     bool NexDay();
     bool isLeapYear();
   
    void  display1();
    void  display2();

    void display3();
   

private:
    int max[12];
     int  max_day;
   
char  str[5];
    int  month;
    int   day;
    int  year;
};
Date::Date(int m,int d,int y):month(m),day(d),year(y)
{}
void Date::set(int y,int m,int d)
 {
     year=y;
     month=m;
     day=d;
 }
 
bool Date::isLeapYear()
 {
     return (year%4==0 && year%100!=0)||(year%400==0);
 }
 bool Date::NexDay()
 {
     ++day;
int max_day;
int max[12]={31,28,31,30,31,30,31,31,30,31,30,31};
     if(isLeapYear())
     { ++max[1];
     }
   
    max_day = max[month];
     if(day>max_day)
     {
         day=1;
         ++month;
         if(month>12)
         {
             ++year;
             month=1;
         }

void Date::display3()
 { cout<<setfill('0');
     cout<<setw(4)<<year<<'/'<<setw(2)<<month<<'/'<<setw(2)<<day<<'\n';
     cout<<setfill(' ');}
void  Date::display1()

{cout<<month<<"/"<<day<<"/"<<year<<endl;
cout<<month<<" "<<day<<" "<<year<<endl;}
void  Date::display2()
{cout<<str<<","<<day<<","<<year<<endl;}
int main()
{



time_t timeval;
timeval=time(NULL);
cout<<"Time as local time is "<<ctime(&timeval)<<endl;
Date d;
     cout<<"请输入一个四位的阿拉伯数字表示的年,一个两位阿拉伯数字表示的月,一个两位的阿拉伯数字表示的日,并用回车分别输入"<<'\n';
     int s_y,s_m,s_d;
     cin>>setw(4)>>s_y>>setw(2)>>s_m>>setw(2)>>s_d;
     d.set(s_y,s_m,s_d);
d.display1();
d.display2();
     d.NexDay();
     d.display3();
     system("pause");
return  0;
}
我的程序没有实现“构造函数用头文件time.h中的标准库函数读取系统时间,把读取的时间赋值给Date的数据成员”这一要求,而且存在错误,实在不会改了,求助!!
搜索更多相关主题的帖子: private include public 
2013-10-20 14:21
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
得分:0 
补充该类要实现的功能:建立具有如下功能的类Date:
   1) 以多种格式输出日期,如 MM DD YYYY;MM/DD/YY;
June14, 1992;
   2) 用重载的构造函数初始化Date类的对象。初始化值是1)中格式的数据;
   3) 构造函数用头文件time.h中的标准库函数读取系统时间,把读取的时间赋值给Date的数据成员;
   4) 设计一个NextDay()成员函数,把日期往后挪一天。
2013-10-20 14:22
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
得分:0 
回复 4楼 blueskiner
受教了,只是有点看不太懂,需要时间好好琢磨一下,非常感谢
2013-10-22 09:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422230-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059938 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved