标题:一个输入日期并显示自增一天日期的代码。
取消只看楼主
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
结帖率:100%
 问题点数:0 回复次数:1 
一个输入日期并显示自增一天日期的代码。
好久没发帖子了。发一个上课时候的练习。
程序代码:
// 显示日期.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#include<iomanip>
using namespace std;

class Date
{
    int year,month,day;
public:
    void set(int y,int m,int d);
    bool add();
    bool isLeapYear();
    void print();
};

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::add()
{
    ++day;
    int max_1,max_2,max_3,max_4,max_5,max_6,max_7,max_8,max_9,max_10,max_11,max_12,max_day;
    if(isLeapYear())
    {max_1=31;
     max_2=29;
     max_3=31;
     max_4=30;
     max_5=31;
     max_6=30;
     max_7=31;
     max_8=31;
     max_9=30;
     max_10=31;
     max_11=30;
     max_12=31;
    }
    else
    {
     max_1=31;
     max_2=28;
     max_3=31;
     max_4=30;
     max_5=31;
     max_6=30;
     max_7=31;
     max_8=31;
     max_9=30;
     max_10=31;
     max_11=30;
     max_12=31;
    }
    switch(month)
        {case 1:

            max_day=max_1;
            break;
        case 2:

            max_day=max_2;
            break;
        case 3:

            max_day=max_3;
            break;
        case 4:

            max_day=max_4;
            break;
        case 5:

            max_day=max_5;
            break;
        case 6:

            max_day=max_6;
            break;
        case 7:

            max_day=max_7;
            break;
        case 8:

            max_day=max_8;
            break;
        case 9:

            max_day=max_9;
            break;
        case 10:

            max_day=max_10;
            break;
        case 11:

            max_day=max_11;
            break;
        case 12:

            max_day=max_12;
            break;
        //default cout<<"错误";//
    }
    if(day>max_day)
    {
        day=1;
        ++month;
        if(month>12)
        {
            ++year;
            month=1;
        }
    }

    return 0;
}
   

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

int main()
{
    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.add();
    d.print();
    system("pause");
}
搜索更多相关主题的帖子: 应用程序 控制台 
2011-04-07 12:57
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
得分:0 
回复 5楼 pangding
受教。谢谢指导。
2011-04-14 19:35



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




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

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