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

Đề tài: In ngày tháng, lịch âm dương( tìm lỗi giúp mình với )

  1. #1
    Ngày gia nhập
    10 2006
    Bài viết
    4

    Mặc định In ngày tháng, lịch âm dương( tìm lỗi giúp mình với )

    em mới học c++ nên viêt thử bài toán qui đổi năm dương lịch ra âm lịch nhưng dùng hàm

    C++ Code:
    1. // lich am duong
    2. #include <iostream.h>
    3. #include <conio.h>
    4.  
    5.    char In(int x)
    6.              {
    7.                  
    8.                  switch (x % 12)
    9.                  {
    10.                         case 0: cout<<" Than"; break;
    11.                         case 1: cout<<" Dau"; break;
    12.                         case 2: cout<<" Tuat"; break;
    13.                         case 3: cout<<" Hoi"; break;
    14.                         case 4:cout<<" Ti";break;
    15.                         case 5:cout<<" Suu";break;
    16.                         case 6:cout<<" Dan";break;
    17.                         case 7:cout<<" Mao";break;
    18.                         case 8:cout<<" Thi";break;
    19.                         case 9:cout<<" Ti";break;
    20.                         case 10:cout<<" Ngo";break;
    21.                         case 11:cout<<" Mui";break;
    22.                  }
    23.                  return (x);
    24.              };
    25.                  
    26.                  
    27.  int main()
    28.  {
    29.        int nam;
    30.        cout<<"xin ban nhap nam vao  ";cin>>nam;
    31.        switch(nam % 10)
    32.        {
    33.                   case 0: cout<<"Canh" <<In(nam); break;
    34.                   case 1: cout<<"Tan" <<In(nam)<<"\n"; break;
    35.                   case 2: cout<<"Nham" <<In(nam)<<"\n"; break;
    36.                   case 3: cout<<"Qui" <<In(nam)<<"\n"; break;
    37.                   case 4:cout<<"Giap" <<In(nam)<<"\n";break;
    38.                   case 6:cout<<"Binh" <<In(nam)<<"\n";break;
    39.                   case 7:cout<<"Dinh" <<In(nam)<<"\n";break;
    40.                   case 8:cout<<"Mau" <<In(nam)<<"\n";break;
    41.                   case 9:cout<<"Ki" <<In(nam)<<"\n";break;
    42.        }
    43.        getch ();
    44.        return 0;
    45.  }
    em cho chạy thì bao giờ kết wa cũng bị ngươc
    ví dụ năm 2007 nó sẽ ra hoidinh
    giúp em với lỗi nằm ở đâu
    cám ơn nhiều

  2. #2
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    Bạn để ý, trong dòng này (đương nhiên là cả những dòng tương tự khác)
    Code:
    cout<<"Dinh" <<In(nam)<<"\n";
    ở đây chỉ có 1 phát biểu (mỗi dấu ; là kết thúc 1 phát biểu), do đó hàm In() sẽ được thực hiện trước, do đó nó sẽ in ra "Hoi" trước thay vì là "Dinh" trước

    Khi biết như vậy thì chắc bạn đã biết phải sửa như thế nào: phải đặt lệnh "cout<<"Dinh" và In(nam) nằm ở 2 phát biểu riêng biệt
    ví dụ bạn có thể sửa như thế này:
    Code:
    case 7:cout<<"Dinh" <<In(nam)<<"\n";break;
    sửa thành:
    case 7:
       cout<<"Dinh"; 
       cout<<In(nam)<<"\n";
       break;
    à quên, bạn chỉ cần gọi In(nam); thôi không cần phải là cour<<Int(nam)
    Đã được chỉnh sửa lần cuối bởi nguyentuan2 : 04-05-2007 lúc 03:06 PM.

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    128

    Code:
    switch(nam % 10)
    	{
    		case 0:cout<<"Canh" ;In(nam);break;
    		case 1:cout<<"Tan"   ;In(nam);break;
    		case 2:cout<<"Nham" ;In(nam);break;
    		case 3:cout<<"Qui"    ;In(nam);break;
    		case 4:cout<<"Giap"   ;In(nam);break;
    		case 6:cout<<"Binh"   ;In(nam);break;
    		case 7:cout<<"Dinh"   ;In(nam);break;
    		case 8:cout<<"Mau"   ;In(nam);break;
    		case 9:cout<<"Ki"      ;In(nam);break;
    	}
    cái dấu "<<" là dịch trái, trong hàm In(nam) có cout roài

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

    Mình cũng đã chạy đc bài này, mình muốn hỏi thêm là, khi mình nhập vào 2007 chẳng hạn thì in ra: Đinh hợi.
    Nhưng bây giờ mình muốn nhập tiếp khi ấn Enter mà không phải bật lại file exe, hoặc nếu đang soạn thảo thì kô cần phải dịch lại thì phải làm sao?
    Cám ơn trước

  5. #5
    Ngày gia nhập
    04 2007
    Bài viết
    128

    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.    int namdl,chon;
    6.    char c;
    7.    char c1[10][5] = {"Canh","Tan","Nham","Quy","Giap","At","Binh","Dinh","Mau","Ky"};
    8.    char c2[12][5] = {"Than","Dau","Tuat","Hoi","Ti","Suu","Dan","Mao","Thin","Ti","Ngo","Mui"};
    9. Nhap:
    10.    cout<<"Nhap vao nam duong lich:"<<endl;
    11.    cin>>namdl;
    12.    cout<<"Nam am lich tuong ung:"<<c1[namdl%10]<<" "<<c2[namdl%12]<<endl;
    13.    cout<<"Ban muon thu 1 nam khac?c/k:";
    14.    cin>>c;
    15.    chon=c;
    16.    if(chon==67 || chon==99)
    17.        goto Nhap;
    18.    getch();
    19. }
    em chỉ post dùm
    Đã được chỉnh sửa lần cuối bởi soda_chanhmuoi : 08-05-2007 lúc 10:48 AM.

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

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 AM

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