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

Đề tài: Xem bài Cấu Trúc này dùm mình đi....!

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

    Mặc định Xem bài Cấu Trúc này dùm mình đi....!

    Viết Chương Trình Nhập 1 Danh Sách Có N Sinh Viên, Xuất Danh Sách Sinh Viên Ra Màn Hình theo gồm các thành phần sau: MSSV, Họ Tên, Ngày tháng nam sinh, Điểm Trung Bình.
    Mình đã viết như thế này, nhưng chạy không được. Tim hoài không thấy lỗi chỗ nào. Chạy bằng tay thấy OK nhưng khi chạy thì không ra gì cả !
    Các bạn chỉ mình chỗ sai và mình cần sửa như thế nào nhé !
    Cảm Ơn Các Bạn Trước Nha !

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. typedef struct
    5. {   unsigned char ngay;
    6.     unsigned char thang;
    7.     unsigned char nam;
    8. }ngaythang;
    9. typedef struct
    10. {       char mssv[10];
    11.     char hoten[50];
    12.     ngaythang namsinh;
    13.     float dtb;
    14. }ds;
    15. void Nhap(int n,ds sv[50])
    16. {
    17.     int i;
    18.     for (i=0;i<n;i++)
    19.     {printf("Khai bao ly lich sinh vien %d",i);
    20.      printf("\n Nhap vao MSSV :");
    21.      gets(sv[i].mssv);
    22.      printf("\n Nhap vao Ho va Ten :");
    23.      gets(sv[i].hoten);
    24.          printf("\n Nhap vao Ngay Thang Nam Sinh :");        scanf("%d%d%d",&sv[i].namsinh.ngay,&sv[i].namsinh.thang,&sv[i].namsinh.nam);
    25.      printf("\n Nhap vao diem trung binh");
    26.          scanf("%f",&sv[i].dtb);
    27. }
    28. }
    29. void Xuat(int n,ds sv[50])
    30. {       int i;
    31.     for(i=0;i<n;i++);
    32.     {puts(sv[i].mssv);
    33.      puts(sv[i].hoten);
    34.      printf("%d-%d-%d",sv[i].namsinh.ngay,sv[i].namsinh.thang,sv[i].namsinh.nam);
    35.      printf("%f",sv[i].dtb);
    36.          printf("\n");
    37. }}
    38. void main()
    39. {       clrscr();
    40.     int n;
    41.     ds sv[50];
    42.     printf("Nhap vao so hoc sinh can tao");
    43.     scanf("%d",&n);
    44.     Nhap(n,sv);
    45.     Xuat(n,sv);
    46.     getch();
    47. }

    *Post code cần cho vào thẻ tag code, xem hướng dẫn tại đây.
    Đã được chỉnh sửa lần cuối bởi QuangHoang : 09-10-2008 lúc 08:05 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa, lần sau bạn nhớ đưa code vào tag code.

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4.  
    5. typedef struct
    6. {
    7.     unsigned char ngay;
    8.     unsigned char thang;
    9.     unsigned char nam;
    10. } ngaythang;
    11.  
    12. typedef struct
    13. {
    14.     char mssv[10];
    15.     char hoten[50];
    16.     ngaythang namsinh;
    17.     float dtb;
    18. } ds;
    19.  
    20. void Nhap(int n,ds sv[50])
    21. {
    22.     int i;
    23.     float tmp;
    24.     for (i=0;i<n;i++)
    25.     {
    26.         printf("Khai bao ly lich sinh vien %d",i);
    27.         printf("\n Nhap vao MSSV :");
    28.         fflush(stdin);
    29.         gets(sv[i].mssv);
    30.         printf("\n Nhap vao Ho va Ten :");
    31.         fflush(stdin);
    32.         gets(sv[i].hoten);
    33.         printf("\n Nhap vao Ngay Thang Nam Sinh :");
    34.         fflush(stdin);
    35.         scanf("%d%d%d",&sv[i].namsinh.ngay,&sv[i].namsinh.thang,&sv[i].namsinh.nam);
    36.         printf("\n Nhap vao diem trung binh ");
    37.         fflush(stdin);
    38.         scanf("%f",&tmp);
    39.         sv[i].dtb = tmp;
    40.     }
    41. }
    42.  
    43. void Xuat(int n,ds sv[50])
    44. {
    45.     int i;
    46.     for(i=0;i<n;i++)
    47.     {
    48.         printf("%s\n",sv[i].mssv);
    49.         printf("%s\n",sv[i].hoten);
    50.         printf("%d-%d-%d\n",sv[i].namsinh.ngay,sv[i].namsinh.thang,sv[i].namsinh.nam);
    51.         printf("%f",sv[i].dtb);
    52.         printf("\n");
    53.     }
    54. }
    55.  
    56. void main()
    57. {
    58.     clrscr();
    59.     int n;
    60.    
    61.     ds sv[50];
    62.     printf("Nhap vao so hoc sinh can tao ");
    63.     scanf("%d",&n);
    64.     Nhap(n,sv);
    65.     Xuat(n,sv);
    66.     getch();
    67. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    0

    Mình cảm ơn bạn nick meoconlongvang nhiều nha. Đã bỏ công sức sửa bài cho mình. Mình mới học C++ nên còn nhiều điều thiếu xót lắm. ^_^

  4. #4
    Ngày gia nhập
    09 2008
    Bài viết
    3

    Đoạn code meocon đã sữa chạy rất tốt , nhưng mình ko hiểu hàm fflush(stdin); meocon thêm vào có công dụng gì hay vậy , trường hợp nào nên dùng tới nó .

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    hàm gets sẽ ko chạy được nếu trong buffer bàn phím có ký tự \n, thường là do hàm scanf gọi trước đó gây ra, hàm fflush(stdin) có tác dụng xóa sạch buffer bàn phím giúp hàm gets chạy đúng.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

  1. Lập trình C++ coi dùm minh bài code sai ở chỗ nào và sữa dùm mình với
    Gửi bởi hchuy94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 02-09-2013, 10:16 AM
  2. Trả lời: 0
    Bài viết cuối: 07-07-2013, 07:29 PM
  3. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  4. cấu trúc bảng băm là cấu trúc như thế nào?
    Gửi bởi minh_quang1202 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: 06-01-2011, 07:03 PM
  5. Cấu trúc file excel | Cấu trúc file xls. Giúp mình với?
    Gửi bởi knightofit 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: 02-04-2009, 10:44 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