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

Đề tài: Hàm getch + int main + return

  1. #1
    Ngày gia nhập
    01 2013
    Nơi ở
    Hà Nội
    Bài viết
    0

    Mặc định Hàm getch + int main + return

    Em viết chương chình tìm số lớn nhất trong 3 số như thế này :
    Code:
    #include<conio.h>
    #include<stdio.h>
    int main () //tra ve gt
    {
     int ia,ib,ic;
     printf ("nhap a=");
     scanf ("%d",&ia);
     printf ("nhap b=");
     scanf ("%d",&ib);
     printf ("nhap c=");
     scanf ("%d",&ic);
     getch();
     if (ia>ib && ia>ic)
     printf ("so lon nhat la %d\t",ia);
     else if (ib>ia && ib>ic)
     printf ("so lon nhat %d\t",ib);
     else
     printf ("so lon nhat la %d\t",ic);
     //getch ();
     //return 0;
    }
    Ở đây em muốn hỏi là:
    1>Hàm getch () là hàm dừng màn hình và đợi ký tự từ bàn phím : Em đặt nó ở vị trí như thế kia sao sau khi nhập xong 3 số chương trình không dừng lại và vẫn chạy tiếp.
    2>Em khai báo hàm int main (phải có giá trị trả về): vậy tại sao có hay không có return 0 vẫn chạy được ạ.
    3>Em có viết 1 số bài bắt buộc phải có hàm getch. Nhưng như bài này lại không cần.
    Ai có thể giải thích hộ e được không ạ? E mới tập tành học C nên mong các bác chỉ bảo. Thanks all

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

    Ở đây em muốn hỏi là:
    1>Hàm getch () là hàm dừng màn hình và đợi ký tự từ bàn phím : Em đặt nó ở vị trí như thế kia sao sau khi nhập xong 3 số chương trình không dừng lại và vẫn chạy tiếp.
    2>Em khai báo hàm int main (phải có giá trị trả về): vậy tại sao có hay không có return 0 vẫn chạy được ạ.
    3>Em có viết 1 số bài bắt buộc phải có hàm getch. Nhưng như bài này lại không cần.
    Ai có thể giải thích hộ e được không ạ? E mới tập tành học C nên mong các bác chỉ bảo. Thanks all[/QUOTE]

    1. Có dừng màn hình đấy, tại bạn không để ý thôi. sau khi nhập giá trị cho c xong bạn phải bấm 2 lần enter mới chạy xong chương trình.
    2. Trong DEV int main không cần trả về.
    3. Không dùng getch() thì bạn không kịp xem kết quả đâu. Bạn để getch() ở cuối để dừng màn hình để xem kết quả.

  3. #3
    Ngày gia nhập
    08 2012
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi vietquangkid Xem bài viết
    Em viết chương chình tìm số lớn nhất trong 3 số như thế này :
    Ở đây em muốn hỏi là:
    1>Hàm getch () là hàm dừng màn hình và đợi ký tự từ bàn phím : Em đặt nó ở vị trí như thế kia sao sau khi nhập xong 3 số chương trình không dừng lại và vẫn chạy tiếp.
    2>Em khai báo hàm int main (phải có giá trị trả về): vậy tại sao có hay không có return 0 vẫn chạy được ạ.
    3>Em có viết 1 số bài bắt buộc phải có hàm getch. Nhưng như bài này lại không cần.
    Ai có thể giải thích hộ e được không ạ? E mới tập tành học C nên mong các bác chỉ bảo. Thanks all
    1. Mình đã thử submit code bạn , thấy hàm getch(); vẫn dừng như bình thường mà ?
    2.bạn tham khảo topic này nhé : http://diendan.congdongcviet.com/showthread.php?t=4057.
    Thực ra thì hàm main trong trường hợp này bỏ return cũng đc
    3. Ý của bạn là sao, mình chưa rõ đoạn này lắm ?, vì hàm getch(); có công dụng là để dừng hình, thông thường là để xem kết quả .

  4. #4
    Ngày gia nhập
    01 2013
    Nơi ở
    Hà Nội
    Bài viết
    0

    Code:
    #include<conio.h>
    #include<stdio.h>
    void main ()
    {
        float a,b;
        printf("nhap a=");
        scanf("%f",&a);
        printf("nhap b=");
        scanf("%f",&b);
        if (a==0 && b!=0)
        {
                printf("pt vo nghiem\n");
                }
        else if (a==0 && b==0)
        {
                     printf("pt vo so nghiem\n");
                     }
                if (a!=0 && b!=0)
                {
                         printf("pt co nghiem %f\n",-b/a);
                         }
                         //return 0;
                         getch ();
        }
    Đây là đoạn Code mình gõ trên C-free và DevC. Nhưng ở C-free thì chạy ngon. Còn DEV thì nhập xong a & b thì out luôn màn hình console,không hiện kết quả ??? Dùng C-free thì mình bỏ hàm getch () đi vẫn hiện kq bình thường :( Ai có thể giải thích hộ mình được không ạ?

  5. #5
    Ngày gia nhập
    08 2012
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi vietquangkid Xem bài viết
    Đây là đoạn Code mình gõ trên C-free và DevC. Nhưng ở C-free thì chạy ngon. Còn DEV thì nhập xong a & b thì out luôn màn hình console,không hiện kết quả ??? Dùng C-free thì mình bỏ hàm getch () đi vẫn hiện kq bình thường :( Ai có thể giải thích hộ mình được không ạ?
    Xin lỗi mình vẫn không hiểu câu hỏi lắm, mình chưa xài C-Free bao giờ cả . mình chủ yếu là chạy trên dev C thôi
    Trên dev C thì bạn thay hàm void main() ==> main()
    với lại tùy bản bạn dùng, bản 4.9.9.2 khác với 5.3.0.3, bản 5.3 kia thì sau khi chạy xong nó tự cho mình 1 dừng hình và hiện ra return value 0 ( nếu chạy đúng)
    Đã được chỉnh sửa lần cuối bởi November.Rain : 25-01-2013 lúc 10:29 PM.

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

  1. hàm main() báo lỗi không trả về giá trị return là do đâu?
    Gửi bởi ManOnStreet trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 01-11-2012, 10:05 PM
  2. Lệnh return 0 trong hàm main để làm gì?
    Gửi bởi quockhanh.K94 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 05-09-2010, 08:31 PM
  3. Khi nào cần return 0, return 1 trong int main()
    Gửi bởi jojocolumbus trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 22-06-2010, 10:23 AM
  4. [Error: 'main' must return 'int']
    Gửi bởi mythoa trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 28-05-2010, 10:26 PM
  5. Cách sử dụng hàm return() trong main()
    Gửi bởi vuduykhanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 02-03-2009, 01:10 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