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ố 18 kết quả

Đề tài: Kiểm tra ngày tháng

  1. #1
    Ngày gia nhập
    09 2011
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    3

    Wink Kiểm tra ngày tháng

    Nhập vào ngày, tháng của một năm hiện tại. Bạn hãy viết chương trình:
    • Kiểm tra tính hợp lệ của ngày, tháng nhập;
    • Cho biết tháng này thuộc quý mấy trong năm;
    • Cho biết tháng nhập có bao nhiêu ngày;
    • Cho biết ngày hôm sau của ngày đã nhập là ngày nào;
    • Cho biết ngày hôm trước của ngày đã nhập là ngày nào.

    Viết mãi ko ra, nhờ các pro chỉ bảo cho

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    vít code đi ùi up lên ae sửa cho, bài này dễ pn à.gắng mừ code đi

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    3

    bài này mới nhìn tưởng dẽ nhưng làm rất rắc rối :X

  4. #4
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Vô cùng dễ ẹt )
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  5. #5
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi DungDemo Xem bài viết
    bài này mới nhìn tưởng dẽ nhưng làm rất rắc rối :X
    mình mần rùi pn ui.rắc rối cái j ko pít nữa(cái này làm hùi nhập môn lập trình kaka).up code lên đi
    có j ae sửa cho là hỉu thôi

  6. #6
    Ngày gia nhập
    09 2011
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    3

    Mặc định Kiểm tra ngày tháng

    Hôm nay mới rảnh ngồi làm,phải viết bài luận Mac-lenin 10 trang
    anh em góp ý nha

    Code:
    #include<iostream>
    #include<conio.h>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    int kt,q,ngay;
    int ktnt(int n,int t)
    {
    if (t==4||t==6||t==9||t==11) ngay=30;
     else if (t==1||t==3||t==5||t==7||t==8||t==10||t==12) ngay=31;
     else ngay=28;
    if (n<1||n>ngay||t<1||t>12) 
    {	cout<<"\n Ban nhap sai ";
    	getch();
    	exit(0);
    }
    else kt=1;
    return(0);
    }
    void checkquy(int t)
    {
         if(t<4) q=1;
         else if(t<7) q=2;
         else if(t<10) q=3;
         else q=4;
                             
    }
    int main()
    {
    int a,b;
    cout<<"Nhap ngay: ";cin>>a;
    cout<<"Nhap thang: ";cin>>b;
    ktnt(a,b);
    if (kt==1)
    {	
    checkquy(b);
    cout<<"\n\n Thang "<<b<<" co "<<ngay<<" ngay thuoc quy "<<q;
    cout<<"\n\n Ngay truoc ngay "<<a<<" la ngay "<<a-1; 
    if (a==ngay) cout<<"\n\n Ngay sau ngay "<<a<<" la ngay "<<1; 
    else cout<<"\n\n Ngay sau ngay "<<a<<" la ngay "<<a+1; 
    }
    getch();
    return 0;
    }

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

    Trích dẫn Nguyên bản được gửi bởi DungDemo Xem bài viết
    Hôm nay mới rảnh ngồi làm,phải viết bài luận Mac-lenin 10 trang
    anh em góp ý nha

    Code:
    #include<iostream>
    #include<conio.h>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    int kt,q,ngay;
    int ktnt(int n,int t)
    {
    if (t==4||t==6||t==9||t==11) ngay=30;
     else if (t==1||t==3||t==5||t==7||t==8||t==10||t==12) ngay=31;
     else ngay=28;
    if (n<1||n>ngay||t<1||t>12) 
    {    cout<<"\n Ban nhap sai ";
        getch();
        exit(0);
    }
    else kt=1;
    return(0);
    }
    void checkquy(int t)
    {
         if(t<4) q=1;
         else if(t<7) q=2;
         else if(t<10) q=3;
         else q=4;
     
    }
    int main()
    {
    int a,b;
    cout<<"Nhap ngay: ";cin>>a;
    cout<<"Nhap thang: ";cin>>b;
    ktnt(a,b);
    if (kt==1)
    {    
    checkquy(b);
    cout<<"\n\n Thang "<<b<<" co "<<ngay<<" ngay thuoc quy "<<q;
    cout<<"\n\n Ngay truoc ngay "<<a<<" la ngay "<<a-1; 
    if (a==ngay) cout<<"\n\n Ngay sau ngay "<<a<<" la ngay "<<1; 
    else cout<<"\n\n Ngay sau ngay "<<a<<" la ngay "<<a+1; 
    }
    getch();
    return 0;
    }
    Xin lỗi các bác em ko có ý ném đá ai cả, chỉ muốn mọi người tiến bộ thôi:

    đoạn code trên là đoạn code nủa mùa, chả đâu vào đâu cả. Ko biết kết quả có đúng ko nhưng xét cho cùng là 1 mớ code bòng bong, ko có bố cục, ko có chiều sâu chưa nói đến cc.



    Xin lỗi chủ của đoạn code trên, em ko có ý gì đâu, bác đừng "bem" em nhé.
    em có góp ý nhỏ nữa thế này : bạn làm được vấn đề, ok tốt. nhưng nghĩ thêm 1 vấn đề nữa, đó là làm code làm sao cho nó thật clear. Cách trình bày cũng quyết định khá nhiều thứ....
    xin hết.


    Em còn nhỏ dại, mong được tha mạng
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  8. #8
    Ngày gia nhập
    09 2011
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    3

    chẹp, thực ra mình viết theo kiến thức căn bản của C++ là dùng if else, bạn có thể viết 1 đoạn code cho mình xem đc không, vì mềnh thấy nhiều bạn viết bài này dài hơn mềnh rất nhiều tềnh yêu à ).
    Bạn nhớ viết cho mềnh 1 bài để mình tham khảo với

  9. #9
    Ngày gia nhập
    07 2011
    Bài viết
    11

    C++ Code:
    1.  
    2. #include <iostream>
    3. int ngay[13] ={0,31,28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    4. int thang[13]={0,1,2,3,4,5,6,7,8,9,10,11,12};
    5. int kt(int a,int b);
    6. int quy(int a);
    7. int main()
    8. {  
    9.     int t,n;
    10.     cout<<"\n nhap ngay : ";cin>>n;
    11.     cout<<"\n nhap thang : ";cin>>t;
    12.    
    13.     if(kt(n,t)==1)
    14.     {
    15.     cout<<"\n\n Thang "<<t<<" co "<<ngay[t]<<" ngay thuoc quy "<<quy(t);
    16.     cout<<"\n\n Ngay truoc ngay "<<n<<" la ngay "<<n-1;
    17.     cout<<"\n\n Ngay sau ngay "<<n<<" la ngay "<<n+1;
    18.     }
    19.     else
    20.     cout<<"\n false";
    21.     return 0;
    22. }
    23. int kt(int a,int b)
    24. {  
    25.     for(int i=1;i<13;i++)
    26.     if(thang[i]==b && ngay[i]>=a && a>0 )
    27.     return 1;
    28. }
    29. int quy(int a)
    30. {
    31. return a<4  ?  1 : 1+quy(a-3);
    32. }

    ngắn thì có ngắn nhưng ma` ko phải lúc nào ngắn cũng là hay
    vả lại code này mình dựa trên đoạn code kia của bạn lên cũng chưa hẳn chính xác =-=!
    vd: nếu nhập ngày mồng 1 thì lùi của nó phải là ngày cuối của tháng trước
    Đã được chỉnh sửa lần cuối bởi Momoka : 22-09-2011 lúc 12:19 AM.

  10. #10
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Code:
    #include <iostream>
    
    using namespace std ;
    
    typedef struct 
    {
    	int day ;
    	int month ;
    	int year ;
    } Date ;
    
    Date nhap() ;
    istream& operator>>(istream &is, Date &X) ;
    bool ktD(Date X) ;
    bool ktrNn(Date X) ;
    Date ngaysau(Date X) ;
    ostream& operator<<(ostream &os, Date X) ;
    void main()
    {
    	Date X ;
    	X = nhap() ;
    	if(ktD(X)) 
    		cout << "ngay thang hop le!!!" << endl ;
    	else 
    		cout << "ngay thang ko hop le!!!" << endl ;
    
    	if(ktD(X))
    		cout << ngaysau(X) << endl ;
    }
    
    Date nhap()
    {
    	Date X ;
    	cout << "nhap ngay thang nam:" ;
    	cin  >> X ;
    	return X ;
    }
    istream& operator>>(istream &is, Date &X)
    {
    	is >> X.day >> X.month >> X.year ;
    	return is ;
    }
    bool ktD(Date X)
    {
    	int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31} ;
    	if(ktrNn(X))
    		mon[2] = 29 ;
    	if(X.day <=0 || X.day > mon[X.month])
    		return false ;
    	return true ;
    }
    bool ktrNn(Date X)
    {
    	if(X.year%400==0)
    		return true ;
    	else
    		if(X.year%4==0 && X.year%100!=0)
    			return true ;
    		else 
    			return false ;
    }
    
    Date ngaysau(Date X)
    {
    	Date rs ;
    	rs = X ;
    	int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31} ;
    	if(ktrNn(X)) 
    		mon[2] = 29 ;
    	if(X.month==12)
    		if(X.day==31)
    		{
    			rs.day = 1 ;
    			rs.year = rs.year + 1 ;
    			rs.month = 1 ;
    		}
    		else 
    			rs.day = rs.day + 1 ;
    	else 
    		if(X.day == mon[X.month])
    		{
    			rs.day = 1 ;
    			rs.month = rs.month + 1 ;
    		}
    		else 
    		{
    			rs.day = rs.day + 1 ;
    		}
    	return rs ;
    }
    ostream& operator<<(ostream &os, Date X)
    {
    	os << X.day << "/" << X.month << "/" << X.year ;
    	return os ;
    }
    đây là code của em, chỉ viết vài phần trong đề thôi, các pác xem thử thế nào

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