Từ 1 tới 1 trên tổng số 1 kết quả

Đề tài: Định dạng ngày tháng trong lớp date C++

  1. #1
    Ngày gia nhập
    11 2012
    Bài viết
    2

    Mặc định Code lớp date C++

    Bác nào biết ép kiểu date sang kiểu char(Quy ước ngày 2 kí tự, tháng 2 kí tự, năm 4 kí tự) thì giúp em với.

    #include <iostream.h>
    #include <conio.h>
    class date1
    {
    private:
    int day;
    int month;
    int year;
    static int days[];
    public:
    date1(int ,int ,int );
    int namnhuan(int y);
    int khongnhuan(int y);
    date1 operator+=(int addday);
    friend ostream & operator<<(ostream & out,date1 &date);
    friend istream & operator>>(istream & in,date1 &date);
    };
    int date1::days[]={0,31,29,31,30,31,30,31,31,30,31,30,31};

    int date1::khongnhuan(int y)
    {
    return y%4!=0;
    }
    int date1::namnhuan(int y)
    {
    return y%4==0;
    }

    date1::date1(int d,int m,int y)
    {
    month=(m>=1 && m<=12)? m:1;
    year=(y>=1 && y<=3000)?y:1;
    if(namnhuan(y))
    day=(d>=1 && d<=days[month])? d:1;
    {
    if( month==2&& khongnhuan(y))
    day=(d>=1 && d<=28)? d:1;
    }
    }
    date1 date1::operator+=(int addday)
    {
    for(int i=0;i<addday;i++)
    {
    ++day;
    if(day>days[month]||(( month==2 && day>28)&&year%4!=0))
    {
    day=1;
    ++month;
    if(month >12)
    {
    month=1;
    ++year;
    if(year%4==0)
    {
    cout<<"Nam moi la nam nhuan"<<endl;
    }
    else
    {
    cout<<"Nam moi la nam khong nhuan"<<endl;
    }
    return *this;
    }}}}

    ostream & operator<<(ostream & out,date1 & date)
    {
    out<< date.day <<"/"<<date.month<<" / " <<date.year<<endl;
    return out;
    }
    istream & operator>>(istream & in,date1 &date)
    {
    cout<<"ngay:";
    in>>date.day;
    cout<<"thang:";
    in>>date.month;
    cout<<"nam :";
    in>>date.year;
    if ( date.year%4==0)
    cout<<"Nam nhuan"<<endl<<endl<<endl;
    else
    cout<<"Nam khong nhuan"<<endl<<endl<<endl;
    {
    if(date.day<1||date.month>12)
    cout<<"Nhap thang sai, moi ban nhap lai";
    {
    if((date.day>date.days[date.month]||date.month<1)||
    (date.month==2&& date.year%4!=0 && date.day>28||date.day<1))
    cout<<"Nhap ngay sai,moi nhap lai";
    }
    }}
    int main()
    {
    date1 d(1,7,9);
    cin>>d;
    d+=1;
    cout<<d;
    getch();
    }
    Đã được chỉnh sửa lần cuối bởi huskar : 21-11-2012 lúc 11:00 AM.

Các đề tài tương tự

  1. [Hỏi] kiểu date trong java
    Gửi bởi kecanhnguc trong diễn đàn Nhập môn lập trình Java
    Trả lời: 4
    Bài viết cuối: 10-11-2013, 02:18 PM
  2. Bài tập C++ Tính khoảng cách giữa 2 ngày trong lớp Date
    Gửi bởi hiepsibibenhtri trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 10-04-2012, 09:40 PM
  3. Thư viện DATE trong C++
    Gửi bởi jb_hoangluan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-05-2011, 01:25 PM
  4. Kiểm tra Date trong MaskedTextbox
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 20-10-2010, 09:02 AM
  5. Hàm xử lý ngày giờ (Date & Time) trong lập trình C
    Gửi bởi Xcross87 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 24-01-2008, 05:42 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn