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

Đề tài: Code bị lỗi

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mặc định Code bị lỗi

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4.  
    5.  
    6. typedef struct diemthi
    7.  
    8. {
    9. float toan;
    10. float ly;
    11. float hoa;
    12. };
    13.  
    14. typedef struct tt
    15. {
    16. char hoten[20];
    17. int ngaysinh;
    18. char truong[20];
    19. diemthi dt;
    20. };
    21.  
    22.  
    23.  
    24.  
    25. main()
    26. {
    27. tt hs[10];
    28. int i,n;
    29. clrscr();
    30.  
    31.  
    32. printf("Nhap vao so hoc sinh:");
    33. scanf("%d",&n); fflush(stdin);
    34.  
    35. for(i=0;i<n;i++)
    36. {
    37. printf("nhap vao ho ten thi sinh thu [%d]:",i+1);
    38. gets(hs[i].hoten);   fflush(stdin);
    39.  
    40. printf("Nhap vao ngay sinh thi sinh thu [%d]:",i+1);
    41. scanf("%d",&hs[i].ngaysinh);   fflush(stdin);
    42.  
    43. printf("Nhap vao truong hoc cua thi sinh thu [%d]:",i+1);
    44. gets(hs[i].truong);      fflush(stdin);
    45.  
    46. printf("Nhap vao diem toan :");
    47. scanf("%f",&hs[i].dt.toan);   fflush(stdin);
    48.  
    49.  
    50. printf("Nhap vao diem ly :");
    51. scanf("%f",&hs[i].dt.ly);    fflush(stdin);
    52.  
    53.  
    54. printf("Nhap vao diem hoa :");
    55. scanf("%f",&hs[i].dt.hoa);   fflush(stdin);
    56.  
    57.  if(hs[i].dt.toan+hs[i].dt.ly+hs[i].dt.hoa>=15)
    58.  printf("Thi sinh nay da dau");
    59.  printf("Ho ten thi sinh nay la:%s",hs[i].ngaysinh);
    60.  
    61.  printf("\n\n");
    62. }
    63.  
    64.  
    65.  
    66. getch();
    67. }
    Code này bị lỗi chỗ nào vậy.Mình chỉ nhâp được họ tên,ngày và trường --->bấm enter thì bỗng thoát ra ngoài nên không nhập được diểm thi các môn

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    một nơi xa xăm...
    Bài viết
    127

    Code sau chạy được trên VC nè bạn :
    C Code:
    1. #include<stdio.h>
    2.  
    3. typedef struct diemthi
    4.  
    5. {
    6.     float toan;
    7.     float ly;
    8.     float hoa;
    9. };
    10.  
    11. typedef struct tt
    12. {
    13.     char hoten[20];
    14.     int ngaysinh;
    15.     char truong[20];
    16.     struct diemthi dt;
    17. };
    18.  
    19.  
    20.  
    21.  
    22. int main()
    23. {
    24.     struct  tt hs[10];
    25.     int i,n;
    26.     system("cls");
    27.    
    28.    
    29.     printf("Nhap vao so hoc sinh:");
    30.     scanf("%d",&n); fflush(stdin);
    31.    
    32.     for(i=0;i<n;i++)
    33.     {
    34.         printf("nhap vao ho ten thi sinh thu [%d]:",i+1);
    35.         gets(hs[i].hoten);   fflush(stdin);
    36.        
    37.         printf("Nhap vao ngay sinh thi sinh thu [%d]:",i+1);
    38.         scanf("%d",&hs[i].ngaysinh);   fflush(stdin);
    39.        
    40.         printf("Nhap vao truong hoc cua thi sinh thu [%d]:",i+1);
    41.         gets(hs[i].truong);      fflush(stdin);
    42.        
    43.         printf("Nhap vao diem toan :");
    44.         scanf("%f",&hs[i].dt.toan);   fflush(stdin);
    45.        
    46.        
    47.         printf("Nhap vao diem ly :");
    48.         scanf("%f",&hs[i].dt.ly);    fflush(stdin);
    49.        
    50.        
    51.         printf("Nhap vao diem hoa :");
    52.         scanf("%f",&hs[i].dt.hoa);   fflush(stdin);
    53.        
    54.         if((hs[i].dt.toan+hs[i].dt.ly+hs[i].dt.hoa)>=15)
    55.             printf("Thi sinh nay da dau");
    56.         printf("Ho ten thi sinh nay la:%s",hs[i].hoten);//sao của bạn %s mà lại vứt ngay cái hs[i].ngaysinh zdậy
    57.        
    58. }
    59.     system("pause");
    60.         return 0;
    61. }
    Đã được chỉnh sửa lần cuối bởi Alviss : 17-05-2008 lúc 09:10 PM.

  3. #3
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mình dung BC mà bạn

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    một nơi xa xăm...
    Bài viết
    127

    Chưa có sài BC bao giờ.Mà trên máy cũng chỉ có VC++ thui.Thế lúc bạn run có waring gì không?

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

    Mình chưa xem kỹ, nhưng hình như bạn dùng typedef không đúng lắm thì phải? Theo mình thì phải viết như sau:

    Visual C++ Code:
    1. typedef struct
    2. {
    3. float toan;
    4. float ly;
    5. float hoa;
    6. } diemthi;
    7.  
    8. typedef struct
    9. {
    10.     char hoten[20];
    11.     int ngaysinh;
    12.     char truong[20];
    13.     struct diemthi dt;
    14. } tt;

    Khi đó thì bạn mới có thể khai báo:
    Code:
    tt hs[10];
    Còn nếu không dùng typedef, bạn phải dùng cả cụm "struct tt" để chỉ kiểu "tt"

    Visual C++ Code:
    1. struct diemthi
    2. {
    3.     float toan;
    4.     float ly;
    5.     float hoa;
    6. };
    7.  
    8. struct tt
    9. {
    10.     char hoten[20];
    11.     int ngaysinh;
    12.     char truong[20];
    13.     struct diemthi dt;
    14. };
    15.  
    16. struct  tt hs[10];

  6. #6
    Ngày gia nhập
    01 2008
    Bài viết
    46

    Mặc định Code bị lỗi

    chưa xét đến thuật toán đúng sai,demo thấy vẫn chạy bình thường mà,
    mù english+ngu thuật toán+lười--->làm sao trở thành kỹ sư phần mềm

  7. #7
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    503

    Dịch trên gcc (bản đã được Alviss sửa lại). Chạy bình thường.

  8. #8
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Nhưng mà Mình chỉ nhâp được họ tên,ngày và trường --->bấm enter thì bỗng thoát ra ngoài nên không nhập được diểm thi các môn

  9. #9
    No Avatar
    TieubachlongQ Khách

    1.typedef ở diemthi rồi ko cần struct ở diemthi dt trong tt nữa.
    2.fflush(stdin) chỉ cần dùng trc(ko nên để sau) hàm gets() hoặc getchr(),ko cần với scanf().
    3.Chú ý xuống dòng.
    4.Thêm 1 typedef struct cho trường ngày sinh.
    5.Khi nhập thuyết minh "nhập thông tin của thí sinh thư n",sau đó chỉ cần in ra tên các trường(cách vào 1 số tab) rồi nhập ttin sẽ đẹp hơn.

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

    Theo mình là tại bạn khai báo trường điểm thi là float nên bạn không nhập được là đúng rùi. Bạn phải khai báo thêm một biến trung gian nữa. Khi nhập bạn sẽ nhập điểm bằng biến trung gian đó và sau đó gán cho điểm các môn bằng điểm của chúng.
    Code:
     float temp;
     printf("Diem toan: ");
    fflush(stdin);
    scanf("%f", &temp);
    sv[i].dt.toan=temp;
    Điểm của những môn khác cũng nhập tương tự như thế. Bạn thử sửa như thế nhé.

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

  1. Tại sao lại bỏ Store Proceduce nếu code theo hướng Code First trong MVC3
    Gửi bởi rogerminh2401 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 02-11-2012, 08:22 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Bài tập C++ Nhập code và name sv vào in ra thì name in đúng nhưng code thì in ra cả 2 code lẫn name
    Gửi bởi spacy0212 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 27-09-2011, 08:47 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 PM

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