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

Đề tài: bài tập quản lý học sinh

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

    Mặc định bài tập quản lý học sinh

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    struct lop
    {
        char tenlop[12];
        char giaovien[30];
        char phonghoc[15];
        char giohoc[15];
        int siso;
    };
    
    main()
    {
        struct lop lops[100];
        int a,i;
        char addflag;
        do
        {
            printf("\n    Thong Tin Lop hoc   ");
            printf("\n------------------------");
            printf("\n1. Them Lop Hoc Moi  .");
            printf("\n2. Sua Thong Tin Lop .");
            printf("\n3. Xoa Thong Tin Lop .");
            printf("\n4. Danh Sach Lop Hoc .");
            printf("\n5. Quay lai .");
            printf("\n------------------------");
            printf("\n Chon Chuong Trinh : ");
            scanf("%d",&a);
            switch (a)
            {
                case 1 : //them
                    addflag='y';
                    printf("\n Them lop moi ");
                    printf("\n--------------------------------------");
                    for (i=0;i<100 && addflag == 'y';i++)
                    {
                        fflush(stdin);
                        printf("\n Nhap ten lop : ");
                        scanf("%s",lops[i].tenlop);
                        fflush(stdin);
                        printf("\n Nhap ten giao vien : ");
                        gets(lops[i].giaovien);
                        fflush(stdin);
                        printf("\n Nhap phong hoc :");
                        gets(lops[i].phonghoc);
                        fflush(stdin);
                        printf("\n Nhap gio hoc : ");
                        gets(lops[i].giohoc);
                        fflush(stdin);
                        printf("\n Nhap so hoc sinh : ");
                        scanf("%d",&lops[i].siso);
                        printf("\n Ban muon nhap tiep khong (Y/N) : ");
                        scanf("%s",&addflag);
                    }
                    break;
                case 2 : //sua
                        printf("\n Sua thong tin lop ");
                        printf("\n------------------------------------------");
                        printf("\n Nhap ten lop : ");
                        scanf("%s",lops[i].tenlop);
                        fflush(stdin);
                        printf("\n Nhap ten giao vien : ");
                        gets(lops[i].giaovien);
                        fflush(stdin);
                        printf("\n Nhap phong hoc :");
                        gets(lops[i].phonghoc);
                        fflush(stdin);
                        printf("\n Nhap gio hoc : ");
                        gets(lops[i].giohoc);
                        fflush(stdin);
                        printf("\n Nhap so hoc sinh : ");
                        scanf("%d",&lops[i].siso);
                    break;
                case 3:// xoa'
                    fflush(stdin);
                    printf("\n Ten lop can xoa : ");
                    gets(lops[i].tenlop);
                    fflush(stdin);
                    printf("\n Ten giao vien : %s",lops[i].giaovien);
                    printf("\n Phong hoc : %s",lops[i].phonghoc);
                    printf("\n thoi gian hoc : %s",lops[i].giohoc);
                    printf("\n So hoc sinh : %d",lops[i].siso);
                    break;
                case 4:
                    struct lop lop1[100];
                    int j;
                    lop1[j] = lops[i];
                    for (j=0;j<i;j++)
                    {
    
                        printf("\n %s - %s",lop1[j].tenlop,lop1[j].giaovien);
                    }
                    break;
    
    
            }
    
        }while(a!=5);
    }
    sao code của em không hiên được danh sách lớp và thông tin lớp tại case 3 và 4 ??
    các bậc đàn anh chỉ giùm em với :-s
    (thêm cả cách ghi file càng tốt )
    Đã được chỉnh sửa lần cuối bởi acaica : 31-10-2008 lúc 09:40 AM.

  2. #2
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Không biết bạn dùng cái ji để biên dịch mà hàm main để thế kia.
    Mình thêm 1 biến số lớp để lưu số lớp.
    Nếu để như bạn mỗi lần nhập thêm lớp, i khởi tạo lại từ đầu = 0
    Mình dùng Visual 6.0 sửa lại tạm thì nó thế này.
    C++ Code:
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3.  
    4. struct lop
    5. {
    6.     char tenlop[12];
    7.     char giaovien[30];
    8.     char phonghoc[15];
    9.     char giohoc[15];
    10.     int siso;
    11. };
    12.  
    13. void main()
    14. {
    15.     struct lop lops[100];
    16.     int a,i;
    17.     int solop =0;
    18.     char addflag;
    19.     do
    20.     {
    21.         printf("\n    Thong Tin Lop hoc   ");
    22.         printf("\n------------------------");
    23.         printf("\n1. Them Lop Hoc Moi  .");
    24.         printf("\n2. Sua Thong Tin Lop .");
    25.         printf("\n3. Xoa Thong Tin Lop .");
    26.         printf("\n4. Danh Sach Lop Hoc .");
    27.         printf("\n5. Quay lai .");
    28.         printf("\n------------------------");
    29.         printf("\n Chon Chuong Trinh : ");
    30.         scanf("%d",&a);
    31.         switch (a)
    32.         {
    33.             case 1 : //them
    34.                 addflag='y';
    35.                 printf("\n Them lop moi ");
    36.                 printf("\n--------------------------------------");
    37.                 for (i=solop;i<100 && addflag == 'y';i++)
    38.                 {
    39.                     fflush(stdin);
    40.                     printf("\n Nhap ten lop : ");
    41.                     scanf("%s",lops[i].tenlop);
    42.                     fflush(stdin);
    43.                     printf("\n Nhap ten giao vien : ");
    44.                     gets(lops[i].giaovien);
    45.                     fflush(stdin);
    46.                     printf("\n Nhap phong hoc :");
    47.                     gets(lops[i].phonghoc);
    48.                     fflush(stdin);
    49.                     printf("\n Nhap gio hoc : ");
    50.                     gets(lops[i].giohoc);
    51.                     fflush(stdin);
    52.                     printf("\n Nhap so hoc sinh : ");
    53.                     scanf("%d",&lops[i].siso);
    54.                     solop++;
    55.                     printf("\n Ban muon nhap tiep khong (Y/N) : ");
    56.                     scanf("%s",&addflag);
    57.                                    
    58.                 }
    59.                 break;
    60.             case 2 : //sua
    61.                     printf("\n Sua thong tin lop ");
    62.                     printf("\n------------------------------------------");
    63.                     printf("\n Nhap ten lop : ");
    64.                     scanf("%s",lops[i].tenlop);
    65.                     fflush(stdin);
    66.                     printf("\n Nhap ten giao vien : ");
    67.                     gets(lops[i].giaovien);
    68.                     fflush(stdin);
    69.                     printf("\n Nhap phong hoc :");
    70.                     gets(lops[i].phonghoc);
    71.                     fflush(stdin);
    72.                     printf("\n Nhap gio hoc : ");
    73.                     gets(lops[i].giohoc);
    74.                     fflush(stdin);
    75.                     printf("\n Nhap so hoc sinh : ");
    76.                     scanf("%d",&lops[i].siso);
    77.                 break;
    78.             case 3:// xoa'
    79.                 fflush(stdin);
    80.                 printf("\n Ten lop can xoa : ");
    81.                 gets(lops[i].tenlop);
    82.                 fflush(stdin);
    83.                 printf("\n Ten giao vien : %s",lops[i].giaovien);
    84.                 printf("\n Phong hoc : %s",lops[i].phonghoc);
    85.                 printf("\n thoi gian hoc : %s",lops[i].giohoc);
    86.                 printf("\n So hoc sinh : %d",lops[i].siso);
    87.                 solop--;
    88.                 break;
    89.             case 4:
    90.                 int j;
    91.                 for (j=0;j<solop;j++)
    92.                 {
    93.  
    94.                     printf("\n %s - %s",lops[j].tenlop,lops[j].giaovien);
    95.                 }
    96.                 break;
    97.  
    98.  
    99.         }
    100.  
    101.     }while(a!=5);
    102. }
    Đã được chỉnh sửa lần cuối bởi thienthan34 : 30-10-2008 lúc 07:25 PM.

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

    Hình như code của thienthan3434 mình chon case4 cung không hiển thị thông tin lớp mình lấy code của thienthan34 nhưng làm lại như sau:
    C++ Code:
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3.  
    4. struct lop
    5. {
    6.     char tenlop[12];
    7.     char giaovien[30];
    8.     char phonghoc[15];
    9.     char giohoc[15];
    10.     int siso;
    11. };
    12.  
    13. void main()
    14. {
    15.     struct lop lops[100];
    16.     int a,i;
    17.     int solop =0;
    18.     char addflag;
    19.     do
    20.     {
    21.         printf("\n    Thong Tin Lop hoc   ");
    22.         printf("\n------------------------");
    23.         printf("\n1. Them Lop Hoc Moi  .");
    24.         printf("\n2. Sua Thong Tin Lop .");
    25.         printf("\n3. Xoa Thong Tin Lop .");
    26.         printf("\n4. Danh Sach Lop Hoc .");
    27.         printf("\n5. Quay lai .");
    28.         printf("\n------------------------");
    29.         printf("\n Chon Chuong Trinh : ");
    30.         scanf("%d",&a);
    31.         switch (a)
    32.         {
    33.             case 1 : //them
    34.                 addflag='y';
    35.                 printf("\n Them lop moi ");
    36.                 printf("\n--------------------------------------");
    37.                 for (i=solop;i<100 && addflag == 'y';i++)
    38.                 {
    39.                     fflush(stdin);
    40.                     printf("\n Nhap ten lop : ");
    41.                     scanf("%s",lops[i].tenlop);
    42.                     fflush(stdin);
    43.                     printf("\n Nhap ten giao vien : ");
    44.                     gets(lops[i].giaovien);
    45.                     fflush(stdin);
    46.                     printf("\n Nhap phong hoc :");
    47.                     gets(lops[i].phonghoc);
    48.                     fflush(stdin);
    49.                     printf("\n Nhap gio hoc : ");
    50.                     gets(lops[i].giohoc);
    51.                     fflush(stdin);
    52.                     printf("\n Nhap so hoc sinh : ");
    53.                     scanf("%d",&lops[i].siso);
    54.                     solop++;
    55.                     printf("\n Ban muon nhap tiep khong (Y/N) : ");
    56.                     scanf("%s",&addflag);
    57.                     solop++;
    58.  
    59.                 }
    60.                 break;
    61.             case 2 : //sua
    62.                     printf("\n Sua thong tin lop ");
    63.                     printf("\n------------------------------------------");
    64.                     printf("\n Nhap ten lop : ");
    65.                     scanf("%s",lops[i].tenlop);
    66.                     fflush(stdin);
    67.                     printf("\n Nhap ten giao vien : ");
    68.                     gets(lops[i].giaovien);
    69.                     fflush(stdin);
    70.                     printf("\n Nhap phong hoc :");
    71.                     gets(lops[i].phonghoc);
    72.                     fflush(stdin);
    73.                     printf("\n Nhap gio hoc : ");
    74.                     gets(lops[i].giohoc);
    75.                     fflush(stdin);
    76.                     printf("\n Nhap so hoc sinh : ");
    77.                     scanf("%d",&lops[i].siso);
    78.                 break;
    79.             case 3:// xoa'
    80.                 fflush(stdin);
    81.                 printf("\n Ten lop can xoa : ");
    82.                 gets(lops[i].tenlop);
    83.                 fflush(stdin);
    84.                 printf("\n Ten giao vien : %s",lops[i].giaovien);
    85.                 printf("\n Phong hoc : %s",lops[i].phonghoc);
    86.                 printf("\n thoi gian hoc : %s",lops[i].giohoc);
    87.                 printf("\n So hoc sinh : %d",lops[i].siso);
    88.                 solop--;
    89.                 break;
    90.             case 4:
    91.                 int j;
    92.                 for (j=0;j<solop;j++)
    93.                 {
    94.  
    95.                     printf("\n %s - %s",lops[j].tenlop,lops[j].giaovien);
    96.                 }getch();
    97.                 break;
    98.  
    99.  
    100.         }
    101.  
    102.     }while(a!=5);
    103. }
    còn case 2 và 3 mình nghĩ là sai hoàn toàn rồi
    Đã được chỉnh sửa lần cuối bởi minhphuong90 : 31-10-2008 lúc 02:33 AM.

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Đây mình sửa hết toàn bộ, đúng yêu cầu bài toán, kết quả như ý, tuy nhiên muốn trình bày đẹp thì phải thêm bớt nhiều.
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3. #include <ctype.h>
    4.  
    5. struct lop
    6. {
    7.     char tenlop[12];
    8.     char giaovien[30];
    9.     char phonghoc[15];
    10.     char giohoc[15];
    11.     int siso;
    12. };
    13.  
    14. void tt_lh();
    15.  
    16. int main()
    17. {
    18.         tt_lh();
    19. }
    20.  
    21. void tt_lh()
    22. {
    23.     struct lop lops[100];
    24.     int a,i=0,j;
    25.     char addflag,temp[12];
    26.     do
    27.     {
    28.         printf("\n    Thong Tin Lop hoc   ");
    29.         printf("\n------------------------");
    30.         printf("\n1. Them Lop Hoc Moi  .");
    31.         printf("\n2. Sua Thong Tin Lop .");
    32.         printf("\n3. Xoa Thong Tin Lop .");
    33.         printf("\n4. Danh Sach Lop Hoc .");
    34.         printf("\n5. Quay lai .");
    35.         printf("\n------------------------");
    36.         printf("\n Chon Chuong Trinh : ");
    37.         scanf("%d",&a);
    38.         switch (a)
    39.         {
    40.             case 1 : //them
    41.                 addflag='Y';
    42.                 while (i<100 && addflag == 'Y')
    43.                 {
    44.                     printf("\n   THEM LOP MOI: ");
    45.                     printf("\n--------------------------------------");
    46.  
    47.                     printf("\n Nhap ten lop : ");
    48.                     fflush(stdin);
    49.                     scanf("%s",lops[i].tenlop);
    50.                     printf("\n Nhap ten giao vien : ");
    51.                     fflush(stdin);
    52.                     gets(lops[i].giaovien);
    53.                     printf("\n Nhap phong hoc :");
    54.                     fflush(stdin);
    55.                     gets(lops[i].phonghoc);
    56.                     printf("\n Nhap gio hoc : ");
    57.                     fflush(stdin);
    58.                     gets(lops[i].giohoc);
    59.                     printf("\n Nhap so hoc sinh : ");
    60.                     scanf("%d",&lops[i].siso);
    61.                     printf("\n Ban muon nhap tiep khong (Y/N) : ");
    62.                     fflush(stdin);
    63.                     addflag=getchar();
    64.                     addflag=toupper(addflag);
    65.                     i++;           //tong so lop
    66.                 }
    67.                 break;
    68.             case 2 : //sua thong tin lop tai vi tri thu j
    69.                     printf("\n SUA THONG TIN LOP ");
    70.                     printf("\n------------------------------------------");
    71.                     printf("\n Nhap ten lop can sua : ");
    72.                     fflush(stdin);
    73.                     scanf("%s",temp);
    74.                     j=0;
    75.                     while (strcmp(temp,lops[j].tenlop) && j<i) j++;printf("\n\n%d   %d",i,j);
    76.                     if (j==i) printf("Khong co lop nao ten nhu vay.\n\n");
    77.                     else
    78.                     {
    79.                         printf("\n   THONG TIN THAY THE");
    80.  
    81.                         printf("\n Nhap ten lop : ");
    82.                         fflush(stdin);
    83.                         scanf("%s",lops[j].tenlop);
    84.                         printf("\n Nhap ten giao vien : ");
    85.                         fflush(stdin);
    86.                         gets(lops[j].giaovien);
    87.                         printf("\n Nhap phong hoc :");
    88.                         fflush(stdin);
    89.                         gets(lops[j].phonghoc);
    90.                         printf("\n Nhap gio hoc : ");
    91.                         fflush(stdin);
    92.                         gets(lops[j].giohoc);
    93.                         printf("\n Nhap so hoc sinh : ");
    94.                         scanf("%d",&lops[j].siso);
    95.                     }
    96.                 break;
    97.             case 3:// xoa'
    98.                     printf("\n XOA THONG TIN LOP ");
    99.                     printf("\n------------------------------------------");
    100.                     printf("\n Nhap ten lop can xoa : ");
    101.                     fflush(stdin);
    102.                     scanf("%s",temp);
    103.                     j=0;
    104.                     while (strcmp(temp,lops[j].tenlop) && j<i) j++;printf("\n\n%d   %d",i,j);
    105.                     if (j==i) printf("Khong co lop nao ten nhu vay.\n\n");
    106.                     else
    107.                     {
    108.                         for (int k=j; k<i; k++)
    109.                             lops[k]=lops[k+1];
    110.                         printf("\nDa xoa!!!\n");
    111.                         i--;
    112.                     }
    113.                 break;
    114.             case 4:
    115.                 for (j=0; j<i; j++)
    116.                 {
    117.                     printf("\n %s - %s",lops[j].tenlop,lops[j].giaovien);
    118.                 }
    119.                 break;
    120.             }
    121.  
    122.     }while(a!=5);
    123. }

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

    cám ơn tất cả các bạn !!
    thank all !! >:d<
    Đã được chỉnh sửa lần cuối bởi acaica : 31-10-2008 lúc 10:01 AM.

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

    Mặc định bài tập quản lý học sinh

    cho mình hỏi thêm,mình muốn nhập thông tin các lớp sau đó tắt chương trinh và tiếp theo chạy trương trinh mới vẫn có đầy đủ các thông tin đã nhập của chương trình trước !!
    liệu có đc. không :-??

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

    mình cũng mới học C nhưng mình nghĩ khi tắt là tất cả dữ liệu mình nhập sẽ không còn. Còn nếu muốn giũ lại thì mình nghĩ phải ghi nó vào 1 tệp nào đó rồi sau đó khi mình chạy lại chương trình mình sẽ lấp thông tin từ tệp mình vừa ghi lên. Khoong bít đúng không ( chắc sai)

  8. #8
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    cho mình hỏi thêm,mình muốn nhập thông tin các lớp sau đó tắt chương trinh và tiếp theo chạy trương trinh mới vẫn có đầy đủ các thông tin đã nhập của chương trình trước !!
    liệu có đc. không :-??
    Bạn sử dụng File, lưu các thông tin đó vào file, sau khi cần đến lại đọc file lấy ra.
    Khẳng đinh lại chắc chắn lời của minhphuong90

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

    hjx !! cách sử dụng file mình không nắm đc. :(( khó nuốt quá

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

  1. Trả lời: 0
    Bài viết cuối: 07-08-2012, 06:12 AM
  2. Trả lời: 0
    Bài viết cuối: 07-08-2012, 06:00 AM
  3. Trả lời: 0
    Bài viết cuối: 07-08-2012, 05:56 AM
  4. Trả lời: 0
    Bài viết cuối: 04-08-2012, 06:01 AM
  5. Trả lời: 0
    Bài viết cuối: 03-08-2012, 06: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