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

Đề tài: Gặp lỗi lúc compile??? (trong C)

  1. #1
    Ngày gia nhập
    05 2007
    Bài viết
    0

    Mặc định Gặp lỗi lúc compile??? (trong C)

    Bài dưới đây là nhập vào danh sách SV rồi in ra ds vừa nhập,sau đó tìm sv có điểm TB max,min rùi in ra thông tin của sv đó.
    Ko có lỗi nhưng compile bị lỗi này:
    File caused a Stack Fault in module File.EXE at 0001:352E
    Choose close.File will close.


    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    
    typedef struct
    {
     char ht[30];
     char qq[50];
     int gt,ns; // Gioi tinh Nam:Nu = 1:0
     float dtb;
    } sv;
    
    void nhap(sv &x);
    void inds(sv a[]);
    void sxDTB(int &n,sv a[]);
    
    void nhap(sv &x)
    { 
     printf ("\nNhap ho ten:");gets(x.ht);
     printf ("\nNhap que quan");gets(x.qq);
     printf("\nNhap nam sinh:");scanf("%d",&x.ns);
     printf ("\Nhap diem trung binh:");scanf ("%f",&x.dtb);
     printf ("\nNhap gioi tinh (Nam-Nu) = 1-0:");
     scanf ("%d",&x.gt);
    }
    
    void inds(sv x)
    {
     printf("Danh sach SV:");
     printf("\nHo ten: %s",x.ht);
     printf("\nQue quan: %s",x.qq);
     printf("\nNam sinh: %d",x.ns);
     printf("\nDiem trung binh: %.2f",x.dtb);
     printf("\nGioi tinh:");
     (x.gt==1)?printf("Nam"):printf("Nu");
    }
    
    void sxDTB(int &n,sv a[])  // giải thuật Bubble sort
    {
     int i,j;
     sv t;
     for (i=0;i<n-1;i++)
     for (j=i+1;j<n;j++)
     if (a[i].dtb<a[j].dtb)
     {
      t=a[i];
      a[i]=a[j];
      a[j]=t;
     }
    }
    
    void main()
    {
     sv a[60]; 
     int n;
     printf("Nhap so luong sv:");scanf("%d",&n);
     for (int i=0;i<=n;i++)
     nhap(a[i]);
     for (int j=0;j<=n;j++)
     inds(a[j]);
     sxDTB(n,a);
     printf("SV co diem trung binh cao nhat:");
     inds(a[0]);
     printf("SV co diem trung binh thap nhat:");
     inds(a[n]);
    getch();
    }
    Help nha!!!

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Tớ thấy chạy bình thường mà.
    Có lỗi gì đâu?

    Bạn thử xem lại bộ compile của bainj xem

    Have fun.

  3. #3
    Ngày gia nhập
    12 2006
    Bài viết
    8

    printf ("\nNhap ho ten:");gets(x.ht);
    printf ("\nNhap que quan");gets(x.qq);
    printf("\nNhap nam sinh:");scanf("%d",&x.ns);
    printf ("\Nhap diem trung binh:");scanf ("%f",&x.dtb);
    printf ("\nNhap gioi tinh (Nam-Nu) = 1-0:");
    Chạy bình thường nhưng mà ở chỗ nhập quê quán và họ tên nó chỉ nhận 1 trong 2 giá trị phải ko?
    Ban thêm vào fflush(stdin);
    giữa 2 dòng là được

    printf ("\nNhap ho ten:");
    fflush(stdin);
    gets(x.ht);
    printf ("\nNhap que quan");
    fflush(stdin);
    gets(x.qq);

  4. #4
    Ngày gia nhập
    05 2007
    Bài viết
    0

    fflush(stdin);
    lệnh đó có tác dụng gì vậy?Thông cảm cho tại hạ nông cạn
    Nhưng khi thêm vào thì vẫn bị báo lỗi thế! Compile = Borland C++ 3.1
    Đã được chỉnh sửa lần cuối bởi ladykiller : 16-05-2007 lúc 10:37 PM.

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

    fflush(stdin) là hàm dùng để làm sạch bộ đệm. Khi sử dụng hàm scanf hoặc là gets, sẽ nhập vào chuỗi hoặc kí tự và phím ENTER, mã enter như là kí tự '\n' sẽ bị loại ra khỏi chuỗi hoặc kí tự đó, nó bị loại (khỏi chuỗi) nhưng chưa mất, nó vẫn còn nằm trong bộ đệm bàn phím (stdin), đến hàm scanf hoặc gets được gọi lần tiếp theo thì nó bị trôi đi (coi như đã nhập - kí tự '\n') nhưng thực chất là chưa nhập vào cho biến cần thiết.
    Có thể sử dụng thêm đặc tả * để có tác dụng tương tự: scanf("%*c",&var);

  6. #6
    Ngày gia nhập
    05 2007
    Bài viết
    0

    Mặc định Gặp lỗi lúc compile??? (trong C)

    thanks!!!!
    nhưng ct của tui vẫn bị error khi compile???

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

  1. Trả lời: 2
    Bài viết cuối: 06-07-2013, 10:18 AM
  2. Bài tập C++ Gặp lỗi lúc compile?
    Gửi bởi tuan_uct trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 25-11-2011, 07:42 PM
  3. Cách compile và run C trong Notepad++
    Gửi bởi bombon18 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 29-10-2010, 09:32 PM
  4. Làm sao để compile trong VS 2005 nhỉ?
    Gửi bởi o0TarZan0o trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 23-10-2010, 11:31 PM
  5. Lỗi compile trong dev-c
    Gửi bởi hani trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 28-03-2008, 10:41 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