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

Đề tài: Bạn có muốn tiếp tục chương trình, chức năng này làm thế nào?

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

    Mặc định Bạn có muốn tiếp tục chương trình, chức năng này làm thế nào?

    Tình hình là hôm nọ em vừa đc mấy anh chị chỉ giáo về cái hàm fflush nên là em cũng biết dc. 1 cách để tiếp tục chương trình.
    Đến hôm nay em đọc cuốn sách lập trình C thì thấy họ có viết cái code tiếp tục chương trình = hàm getch() nên là em thử làm 1 bài tập về cái getch() này, nhưng mà hok hiểu sao nếu code em để getche thì đc mà getch() thì in nó bị làm sao í mấy anh ơi :((

    Code của em đây :((
    PHP Code:
    /*Chuong trinh nhap ngay thang nam va in ra thu may trong tuan*/
    #include<stdio.h>
    #include<conio.h>

    int main()
    {
        
    int ingay,ithang,inam;
        
    char ccont;
        for(;;){
        
    printf("Nhap ngay:");
        
    scanf("%d",&ingay);
        
    printf("Nhap thang:");
        
    scanf("%d",&ithang);
        
    printf("Nhap nam:");
        
    scanf("%d",&inam);
        
    /*Saturday 01/01/0000*/
        
    int itam=0;//itam de tinh tong so ngay
        
    itam=((inam-1)/4)*1461+((inam-1)%4)*365;
        switch(
    ithang-1)
        {
            case 
    11itam+=30;
            case 
    10itam+=31;
            case 
    9itam+=30;
            case 
    8itam+=31;
            case 
    7itam+=31;
            case 
    6itam+=30;
            case 
    5itam+=31;
            case 
    4itam+=30;
            case 
    3itam+=31;
            case 
    2: if(inam%4==0)
                        
    itam+=29;
                    else 
                        
    itam+=28;
             case 
    1itam+=31;
                    break;
         }
         
    itam+=ingay;
        
    int ithu;
        
    ithuitam%7;
        switch(
    ithu)
        {
            case 
    0printf("Ngay %d/%d/%d la thu bay.\n",ingay,ithang,inam);
                    break;
            case 
    1printf("Ngay %d/%d/%d la chu nhat.\n",ingay,ithang,inam);
                    break;
            case 
    2printf("Ngay %d/%d/%d la thu hai.\n",ingay,ithang,inam);
                    break;
            case 
    3printf("Ngay %d/%d/%d la thu ba.\n",ingay,ithang,inam);
                    break;
            case 
    4printf("Ngay %d/%d/%d la thu tu.\n",ingay,ithang,inam);
                    break;
            case 
    5printf("Ngay %d/%d/%d la thu nam.\n",ingay,ithang,inam);
                    break;
            case 
    6printf("Ngay %d/%d/%d la thu sau.\n",ingay,ithang,inam);
                    break;
        }
        
    /*    fflush(stdin);
            printf("\n Continue? (y/n.)");
            scanf("%c",&ccont);
            if(ccont=='n')
                break;
            else 
                continue;*/ //cach 1
        
    printf("\n continue?");
        
    ccont=getche(); //getch()?
            
    if(ccont=='n')
                break;
            else 
                continue;    
        }
        return 
    0;

    Mấy anh chị giải thích giúp em giải thích tại sao in getche nó ra 1 kiểu mà getch nó lại ra 1 kiểu thế với :(, em cám ơn mấy anh chị rất nhiều.

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

    Hu hu, em chỉ biết là hàm getch() và hàm getche() giống nhau ở chỗ đều dừng màn hình và chờ nhập 1 ký tự, còn khác nhau ở chỗ là hàm getch() thì hok in ra ký tự đó ra màn hình còn getche() thì in ra, ngoài ra thì em còn nghe mấy anh chị trên Cd việt nói là hàm getch() hay là hàm getche() có cái lưu trữ có cái ko lưu trữ, em đoán là nguyên nhân tại cái lưu trữ này nhưng mà hok biết giải thích ra làm sao :(
    cám ơn mấy anh chị nhiều

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

    C Code:
    1. fflush(stdin);
    2. ccont=getch();
    3.         if(ccont=='n')
    4.             break;
    5.         else  
    6.             continue;
    bác thử cái này xem
    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ẻ đó.

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

    PHP Code:
    fflush(stdin);
    ccont=getch();
            if(
    ccont=='n'
                break; 
            else  
                continue; 
    bác thử cái này xem.
    Cám ơn anh, em đã làm thử như lời anh nói, kết quả in chính xác, nhưng mà em hok hiểu tại sao nếu mà em viết code như anh thì khi em nhập ký tự y(=continue.) thì phải ấn enter nó mới chịu làm tiếp, em nghĩ là hàm getch() chỉ nhận 1 ký tự thui mà , mong anh giải thích dùm em với :(

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

    Tớ thấy bình thường mà bác test lại cái này xem
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. int main()
    5. {
    6.      int ingay,ithang,inam;
    7.      char ccont;
    8.      for(;;)
    9.      {
    10.           printf("\nNhap ngay:");
    11.           scanf("%d",&ingay);
    12.           printf("Nhap thang:");
    13.           scanf("%d",&ithang);
    14.           printf("Nhap nam:");
    15.           scanf("%d",&inam);
    16.           /*Saturday 01/01/0000*/
    17.           int itam;//itam de tinh tong so ngay
    18.           itam=((inam-1)/4)*1461+((inam-1)%4)*365;
    19.           switch(ithang-1)
    20.           {
    21.                case 11:
    22.                case 9:
    23.                case 6:
    24.                case 4: itam+=30;
    25.                break;
    26.  
    27.                case 10:
    28.                case 8:
    29.                case 7:
    30.                case 5:
    31.                case 3:
    32.                case 1:itam+=31;
    33.                break;
    34.                case 2: if(inam%4==0 || (inam%400==0 && inam%100))
    35.                                itam+=29;
    36.                           else
    37.                                itam+=28;
    38.           }
    39.           itam+=ingay;
    40.           int ithu = itam%7;
    41.           switch(ithu)
    42.           {
    43.              case 0: printf("Ngay %d/%d/%d la thu bay.\n",ingay,ithang,inam);
    44.                 break;
    45.              case 1: printf("Ngay %d/%d/%d la chu nhat.\n",ingay,ithang,inam);
    46.                 break;
    47.              case 2: printf("Ngay %d/%d/%d la thu hai.\n",ingay,ithang,inam);
    48.                 break;
    49.              case 3: printf("Ngay %d/%d/%d la thu ba.\n",ingay,ithang,inam);
    50.                 break;
    51.              case 4: printf("Ngay %d/%d/%d la thu tu.\n",ingay,ithang,inam);
    52.                 break;
    53.              case 5: printf("Ngay %d/%d/%d la thu nam.\n",ingay,ithang,inam);
    54.                 break;
    55.              case 6: printf("Ngay %d/%d/%d la thu sau.\n",ingay,ithang,inam);
    56.                 break;
    57.           }
    58.           fflush(stdin);
    59.           printf("\n continue?");
    60.           ccont=getch();
    61.           if(ccont=='n') break; else continue;
    62.      }
    63.      return 0;
    64. }
    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ẻ đó.

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

    Mặc định Bạn có muốn tiếp tục chương trình, chức năng này làm thế nào?

    cám ơn anh, ý em muốn thắc mắc là: theo như em đc biết thì hàm getch() chỉ nhận 1 ký tự ==> ko in ra màn hình ==> rồi làm công việc tiếp theo, nhưng mà trong cái bài anh sửa lại cho em và em test qua thì thấy khi mình nhập ký tự y ( tức là tiếp tục) thì nó chẳng những in ký tự y ra màn hình mà lại còn phải ấn enter tức là 2 ký tự thì nó mới chịu làm :(, mong anh giải thích dùm em

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

    Trích dẫn Nguyên bản được gửi bởi mr.luffy211 Xem bài viết
    cám ơn anh, ý em muốn thắc mắc là: theo như em đc biết thì hàm getch() chỉ nhận 1 ký tự ==> ko in ra màn hình ==> rồi làm công việc tiếp theo, nhưng mà trong cái bài anh sửa lại cho em và em test qua thì thấy khi mình nhập ký tự y ( tức là tiếp tục) thì nó chẳng những in ký tự y ra màn hình mà lại còn phải ấn enter tức là 2 ký tự thì nó mới chịu làm :(, mong anh giải thích dùm em
    ủa kì zạ ta... đâu có hiện đâu click là nó làm liền mà đâu cần enter ~~ bác thử file đính kèm xem
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi azurelonely : 21-07-2011 lúc 02:41 PM.
    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ẻ đó.

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

    Hjx, anh ơi vậy anh dùng chương trình nào để làm C vậy :(. em dùng bản C free 4.1 có ***** :(, hok biết là có phải vì bàn free em đang dùng này nó ảnh hưởng đến cái getch() hok nữa :(

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

    Tớ sài borland C++ 5.02 ( mà toàn viết C không à) ^^
    Chắc có lẽ nó có chức năng khác trong mấy cái hàm đó (tớ hok rành mấy cái này)
    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ẻ đó.

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

    Cám ơn anh nhiều nha

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

  1. năng lượng trong lĩnh vực Tiết kiệm năng lượng
    Gửi bởi zennery 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: 27-12-2013, 07:02 PM
  2. Hà Nội Tuyển lập trình viên biết tiếng Nhật (BSE), có khả năng giao tiếp với người Nhật
    Gửi bởi kimbap trong diễn đàn Tuyển dụng - Việc làm CNTT
    Trả lời: 0
    Bài viết cuối: 19-07-2012, 11:16 AM
  3. Khai giảng các lớp kỹ năng bán hàng, kỹ năng giao tiếp
    Gửi bởi huusong 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: 22-06-2012, 08:24 AM
  4. Bài tập C++ bài kiểm tra 1 tiết--toán tử đa năng
    Gửi bởi yaylbanh 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: 25-11-2010, 12:01 AM
  5. Cơ hội nâng cao kỹ năng giao tiếp tiếng Anh!
    Gửi bởi enci 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: 10-06-2010, 10:39 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