Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: [C++]Thuật toán về ngày giờ

  1. #1
    Ngày gia nhập
    02 2010
    Bài viết
    81

    Mặc định [C++]Thuật toán về ngày giờ

    Ai có thể cho mình thuật toán xuất thứ nếu như nhập ngày tháng năm vào không, ví dụ nhập 26/02/2010 thì xuất ra thứ sáu

  2. #2
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Hì, bạn không đưa ra được một ý tưởng cho bài toán àh?!!! Tôi thấy bạn cần phải tạo ý tưởng trước và sau đó mới đưa ra để anh em thảo luận đóng góp cho bạn, chứ lúc nào cũng chỉ là câu hỏi thôi thì...nhàm chán và không thân thiện lắm với mọi người...! Bạn hãy làm như vậy được không? Hy vọng tôi không làm bạn phật ý! Chúc vui vẻ!

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    171

    Search trên diễn đàn đi bạn . Đã có mấy bài về cái này rồi . Thân!!
    chicken

  4. #4
    Ngày gia nhập
    02 2010
    Bài viết
    81

    theo tui nghĩ cho một ngày làm mốc, mặc định thứ cho ngày đó rồi suy ra các ngày khác, nhưng mà làm như vậy thật tốn bộ nhớ quá, liệu có cách nào khác, một công thức nào đó chẳng hạn

  5. #5
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    743

    Đây là công thức đổi ngày thành số nguyên:

    http://forums.congdongcviet.com/show...ller#post45094

    Từ đó đổi thành thứ thì dễ rồi. Bạn tự làm tiếp nhé.

  6. #6
    Ngày gia nhập
    02 2010
    Bài viết
    81

    Mặc định [C++]Thuật toán về ngày giờ

    Trích dẫn Nguyên bản được gửi bởi Ada Xem bài viết
    Đây là công thức đổi ngày thành số nguyên:

    http://forums.congdongcviet.com/show...ller#post45094

    Từ đó đổi thành thứ thì dễ rồi. Bạn tự làm tiếp nhé.
    Lấy ngày tháng năm hệ thống bằng hàm nào vậy bạn

  7. #7
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    mình tính như thế này , mình lấy mốc là ngày 1 tháng 1 năm 1900.....

    PHP Code:
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
            

    //Dinh nghia mang chua cac thu tuogn ung trong tuan
    charthu[8]={"","Chu nhat","Thu hai","Thu ba","Thu tu","Thu nam","Thu sau","Thu bay"};

    //Dinh nghia mang chua so ngay tuong ung trong tung thang cua nam
    int ngay[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    //Mo ta lop
    class N_Date
    {
    public:
        
    int d,m,y;    //Ngay - Thang - Nam
        //Dinh nghia cac cau tu
        
    N_Date();        
        
    N_Date(int ddint mmint yy);    
        
        
    int chuyen(void);        
        
        
    //Dinh nghia phuogn thuc nhap va xuat
        
    void nhap();
        
    void xuat();
        
        
    //Dinh nghia ham de cong va tru ngay voi so ngay xac dinh
        
    friend N_Date operator +(N_Date xint n);    //Dinh nghia toan tu de cong ngay voi mot so
        
    friend N_Date operator -(N_Date xint n);    //Dinh nghia toan tu de cong ngay voi mot so
        
        //Dinh nghia ham de xac dinh Thu tuong ung
        
    friend charThu_Trongtuan(N_Date x);    
        
    friend charThu(N_Date x);

    };
    //dinh nghia ham thanh phan
    //========================
    N_Date::N_Date()
    {
        
    d=1;
        
    m=1;
        
    y=1900;
    }

    N_Date::N_Date(int ddint mmint yy)
    {
        
    d=dd;
        
    m=mm;
        
    y=yy;
    }

    void N_Date::nhap()
    {
        
    cout<<"Ngay:"cin>>d;
        
    cout<<"Thang:"cin>>m;
        
    cout<<"Nam:"cin>>y;
    }

    void N_Date::xuat()
    {
        
    cout<<d<<"/"<<m<<"/"<<y;
    }

    int N_Date::chuyen(void)        //Toan tu chuyen doi kieu, chuyen ngay thang thanh so nguyen
        
    {
            
    int s=0,i;
            
            if(
    y==1900)
            {
                
    s=s+d;
                for(
    i=0;i<m;i++)
                    
    ngay[i];
            }
            else
            {
                
    s=s+d;
                
    s=s+(y-1-1900)*365;

                for(
    i=1900;i<y;i++)
                    if(
    i%400==0||((i%4==0)&&(i%100!=0)) )
                         
    s=s+1;
                
                for(
    i=0;i<m;i++)
                {
                    
    s=s+ngay[i];
                    if((
    i%4==0)&&(i%100!=0)&&(i==2)) s=s+1;
                }
            }
            return 
    s;
        }

    N_Date operator +(N_Date x,int n)
    {
        
    x.x.d+n;
        if(
    x.d>ngay[x.m])
        {
            
    x.x.m+1;
            
    x.x.ngay[x.m];
            if(
    x.m>12
            {
                
    x.x.y+1;
                
    x.x.m-12;
            }
        }
        return 
    x;
    }

    N_Date operator -(N_Date x,int n)
    {
        if(
    x.d<n)
            {
                
    x.x.ngay[x.m];
                
    x.x.1;
                if (
    x.0)
                {
                    
    x.12;
                    
    x.x.-1;
                }
            }
            else
            {
                
    x.x.d-n;
            }
        return 
    x;
    }

    charThu_Trongtuan(N_Date x)
    {
        
    int n,k;
        
    n=x.chuyen();
        
    k=n%7;
        return 
    thu[k];
    }
    charThu(N_Date x)
    {
        
    int s=0;
        
    //char* kq;
        
    if(x.m<=2)
        {
            
    x.x.-1;
            
    x.x.12;
        }
        
    = (x.x.m*+ (x.m+1)*3/x.y/x.y)%7;
        if(
    s==0) return "Chu nhat";
        else if (
    s==1) return "Thu hai";
        else if (
    s==2) return "Thu ba";
        else if (
    s==3) return "Thu tu";
        else if (
    s==4) return "Thu nam";
        else if (
    s==5) return "Thu sau";
        else return 
    "Thu bay";
    }
    //=========================
    void main()
    {
        
    N_Date x,y,kq;
        
    int n,kc;
        
    cout<<"Nhap ngay x: \n";
        
    x.nhap();
        
    cout<<"\n Ngay da nhap:";
        
    x.xuat();
        
    cout<<"\n Thu cua ngay tuong ung:"<<Thu(x);
        
        
    cout<<"\n nhap so ngay can cong hoac tru: "cin>>n;
        
        if(
    n>0kq=x+n;
            else 
    kq abs(n);

        
    cout<<"\n Ngay truoc khi cong: ";
        
    x.xuat();
        
    cout<<"\n\n Ket qua sau khi thay doi: ";
        
    kq.xuat();

        
    cout<<"\n\n Nhap ngay thu hai:\n";
        
    y.nhap();
        
        
    cout<<"\n Ngay da nhap la:";
        
    cout<<"\n\n x= ";
        
    x.xuat();
        
    cout<<"\n\n y= ";
        
    y.xuat();

        
    kc=x.chuyen()-y.chuyen();
        
        if(
    kc>0cout<<"\n x-y = "<<kc+1;
            else 
    cout<<"\n y-x = "<<abs(kc)+1;

        
    cout<<"\n Thu cua ngay ";
        
    x.xuat();
        
    cout<<" la: "<<Thu_Trongtuan(x)<<"\n";
        
        
        
    system("pause");

    Đã được chỉnh sửa lần cuối bởi langman : 26-02-2010 lúc 08:21 PM.
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  8. #8
    Ngày gia nhập
    02 2010
    Bài viết
    81

    #include "stdafx.h" là cái gì vậy, chưa bao giờ mình thấy thư viện này

  9. #9
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    à, xóa cái đó đi, code với Visual Studio, tạo 1 project nó tự phát sinh và add thêm vô ấy mà
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  10. #10
    Ngày gia nhập
    02 2010
    Bài viết
    81

    thank nhiều, chương trình ấn tượng lắm, không ngờ chúa sinh vào thứ bảy

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

  1. Dịch thuật, công ty dịch thuật, dịch vụ dịch thuật chuyên nghiệp
    Gửi bởi vecvn trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 4
    Bài viết cuối: 18-11-2012, 10:44 PM
  2. Dịch vụ kế toán: Báo cáo thuế, dịch vụ tư vấn thuế, báo cáo thuế tncn vnnp
    Gửi bởi ecomvnnp01 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 16-02-2012, 11:07 AM
  3. Bài tập C++ Viết chương trình nhập số lượng hàng hóa, giá cả, thuế, xuất ra tổng giá, thuế, tổng cộng
    Gửi bởi seit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 04-03-2011, 09:04 AM
  4. Hướng dẫn kê khai thuế thu nhập cá nhân, thuế doanh nghiệp 0903034381
    Gửi bởi thngxanhcty trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 19-05-2010, 02:33 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