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

Đề tài: Mọi người sửa giùm em cái code bài quản lý sinh viên này với.

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

    Exclamation Mọi người sửa giùm em cái code bài quản lý sinh viên này với.

    Đề bài: viết chương trinh quản lý sinh viên gồm các chức năng chính sau đây :
    1. Quản lý danh sách sinh viên:
    -thêm sinh viên( masv, ten, diemCF, ltC, thC)
    -cập nhật thông tin sinh viên(giống như sửa thông tin sinh viên ấy)
    -xóa sinh viên tứ danh sách
    -in ra danh sách sinh viên
    2. Thống kê thông tin sinh viên
    -in ra danh sách sinh viên xếp loại giỏi(diem tb >=75)
    -in ra danh sách sinh viên xếp loại trung bình
    Yêu cầu lưu danh sách sinh viên vào file DANHSACH.dat
    C Code:
    1. // Code demo
    2. #include <stdio.h>
    3. #include <conio.h>
    4. #include <process.h>
    5. #include <dos.h>
    6. #include <string.h>
    7. #include <stdlib.h>
    8. struct sv
    9. {
    10.         char maSV[10];
    11.         char tenSV[50];
    12.         float diem;
    13.              
    14. };
    15.  
    16. void menu()
    17. {
    18.      printf("\n- 1. Quan ly danh sach sinh vien");
    19.      printf("\n- 2. Thong ke thong tin sinh vien");
    20.      printf("\n- 0. Thoat.");
    21. }
    22.  
    23.  
    24. void menu_1()
    25. {
    26.    printf("\n- 1. Them moi sinh vien");
    27.    printf("\n- 2. Cap nhat danh sach sinh vien");
    28.    printf("\n- 3. Xoa nhan vien tu danh sach");
    29.    printf("\n- 4. Xem danh sach sinh vien");
    30.    printf("\n- 0. Thoat.");
    31. }// Ket thuc ham menu_1 la man hinh bat dau cua tuy chon 1
    32.  
    33. void menu_2()
    34. {
    35.      printf("\n- 1. Hien thi danh sach sinh vien gioi");
    36.      printf("\n- 2. Hien thi danh sach sinh vien trung binh ( duoi 40)");
    37.      printf("\n- 3. Tim kiem");
    38.      printf("\n- 0. Thoat.");
    39. }    
    40.      
    41. // Cac ham xuat nhap
    42. int dem=0;
    43. void nhap(struct sv a[])
    44. {
    45.        printf("\n=====Them moi mot sinh vien=======");  
    46.        printf("\nNhap ma sinh vien: ");
    47.        fflush(stdin);
    48.        gets(a[dem].maSV);
    49.        printf("\nNhap ten sinh vien: ");
    50.        //fflush(stdin);
    51.        gets(a[dem].tenSV);
    52.        printf("\ndiem CF : ");
    53.        scanf("%f",&a[dem].diem);
    54.        printf("\ndiem ly thuyet C : ");
    55.        scanf("%f",&a[dem].diem);
    56.        printf("\ndiem thuc hanh C: ");
    57.        scanf("%f", &a[dem].diem);  
    58.        dem ++;
    59.        printf("\n======================================");
    60.        menu_1();    
    61. }
    62.  
    63. // Ham xoa nhan vien
    64. void xoa(struct sv b[])
    65. {    int index=0;
    66.      char msv[50];
    67.      char ans;
    68.      int flag=0;
    69.      printf("\n============= Xoa sinh vien ==============");
    70.      if(dem!=0)
    71.      {  
    72.          printf("\n Hay nhap ma sinh vien can xoa:");  
    73.          fflush(stdin);
    74.          scanf("%d", &msv);
    75.          int i=0;
    76.           for(i=0;i<dem;i++)
    77.           {
    78.            if(strcmp(b[i].maSV,msv)==0)
    79.            {
    80.                flag = 1;
    81.                if(flag==1)
    82.                    {  
    83.                       printf("\n%s\t\t%s\t\t%.1f\t\t%.1f\t\t%.1f",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));
    84.                       printf("\nBan muon xoa thong tin? (Y/N): ");
    85.                       fflush(stdin);
    86.                       scanf("%c",&ans);
    87.                       if( ans=='Y' || ans=='y')
    88.                       {    
    89.                           index = i;
    90.                           for(i=index-1;i<dem;i++)      
    91.                                {
    92.                                  strcpy(b[index].maSV,b[index+1].maSV);  
    93.                                  strcpy(b[index].tenSV,b[index+1].tenSV);
    94.                                  b[index].diem=b[i+1].diem;
    95.                               }
    96.                               dem --;
    97.                               printf("\n Ban da xoa thanh cong");
    98.                       }
    99.                    }  
    100.                }
    101.            }  
    102.            if(flag==0)
    103.            {
    104.                printf("\n======================================");
    105.                printf("\n Ma sinh vien khong ton tai");      
    106.            }
    107.      }
    108.      else
    109.      printf("\n Danh sach sinh vien trong...");
    110.      printf("\n======================================");
    111.      menu_1();
    112. }  
    113.  
    114. void hienthi(struct sv b[])
    115. {
    116.       struct sv temp;
    117.     int i,j;
    118.     // Vong for long nay dung de sap xep ten theo bang chu cai tang dan
    119.     for(i=0;i<(dem-1);i++)
    120.     {
    121.         for(j=i+1;j<dem;j++)
    122.              if(strcmp(b[i].tenSV,b[j].tenSV)>0)
    123.                 {
    124.                   temp=b[i];
    125.                   b[i]=b[j];
    126.                   b[j]=temp;
    127.                }
    128.       }// het phan sap xep
    129.       // in danh sach ra man hinh
    130.       system("cls");
    131.       printf("\n================ Hien thi danh sach nhan vien =======================");
    132.       printf("\n==================================================================");
    133.       printf("\n| Ma SV |\t Ten SV \t| diemCF   | ly thuyet C  |  Thuc hanh C |");
    134.       printf("\n==================================================================");
    135.       for(i=0;i<dem;i++)
    136.       {
    137.          printf("\n| %s  |\t%s\t | %.1f |\t %.1f\t %.1f |",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));      
    138.       }
    139.       printf("\n==================================================================");
    140.       printf("\n");
    141.       menu_1();
    142. }
    143.  
    144. //Ham hien thi danh sach nhan vien co thu nhap trung binh (< 400$)
    145. void xemTN_kha(struct sv b[])
    146. {
    147.     struct sv temp;
    148.     int i,j;
    149.     // Vong for long nay dung de sap xep ten theo bang chu cai tang dan
    150.     for(i=0;i<(dem-1);i++)
    151.     {
    152.         for(j=i+1;j<dem;j++)
    153.              if(strcmp(b[i].tenSV,b[j].tenSV)>0)
    154.                 {
    155.                   temp=b[i];
    156.                   b[i]=b[j];
    157.                   b[j]=temp;
    158.                }
    159.       }// het phan sap xep
    160.       // in danh sach ra man hinh
    161.       system("cls");
    162.       printf("\n================ Danh sach nhan vien thu nhap kha ====================");
    163.       printf("\n==================================================================");
    164.       printf("\n| Ma SV |\t Ten SV \t| diemCF   | diem lt C  |  diem th C |");
    165.       printf("\n==================================================================");
    166.       for(i=0;i<dem;i++)
    167.       {
    168.          if(((b[i].diem)+(b[i].diem)+(b[i].diem))/3 >= 75)
    169.          printf("\n| %s  |\t%s\t | %.1f |\t %.1f\t %.1f |",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));  
    170.       }
    171.       printf("\n==================================================================");
    172.       printf("\n");
    173.      
    174. }
    175. //Ham hien thi danh sach nhan vien co thu nhap trung binh (< 400$)
    176. void xemTN_tb(struct sv b[])
    177. {
    178.      struct sv temp;
    179.     int i,j;
    180.     // Vong for long nay dung de sap xep ten theo bang chu cai tang dan
    181.     for(i=0;i<(dem-1);i++)
    182.     {
    183.         for(j=i+1;j<dem;j++)
    184.              if(strcmp(b[i].tenSV,b[j].tenSV)>0)
    185.                 {
    186.                   temp=b[i];
    187.                   b[i]=b[j];
    188.                   b[j]=temp;
    189.                }
    190.       }// het phan sap xep
    191.       // in danh sach ra man hinh
    192.       system("cls");
    193.       printf("\n====== Danh sach nhan vien thu nhap trung binh duoi 400$ =========");
    194.       printf("\n==================================================================");
    195.       printf("\n| Ma SV |\t Ten SV \t| diemCF   | lt C  |  Th C |");
    196.       printf("\n==================================================================");
    197.       for(i=0;i<dem;i++)
    198.       {
    199.          //if(((B[i].luong)+(B[i].phu_cap))<400)
    200.          printf("\n| %s  |\t%s\t | %.1f |\t %.1f\t %.1f |",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));  
    201.       }
    202.       printf("\n==================================================================");
    203.       printf("\n");
    204.      
    205. }
    206.  
    207.  //ham Search la dieu khien cho ham timkiem (la 1 con tot)
    208. char Search(char num[],struct sv b)
    209. {
    210.     int i;
    211.    if(strcmp(b.tenSV,num)==0)
    212.     return 1;    //su dung 1 kieu return, neu so sanh 2 chuoi ky tu phai dung strcmp()
    213.    else
    214.     return 0;
    215. }
    216.  
    217.  // Ham tim kiem nhan vien theo ten nhap tu ban phim
    218. void timkiem(struct sv b[])
    219. {
    220.    int i;
    221.    char masv[50];
    222.    int flag=0;
    223.    if(dem!=0)
    224.    {
    225.        printf("Cho biet ma sinh vien: ");
    226.        fflush(stdin);
    227.        scanf("%d", &masv);;
    228.        for (i=0;i<dem;i++)
    229.        {
    230.            //Doan code ko ro muc dich -> neu tim kiem thi phai dung vong lap
    231.            if(Search(masv,b[i])==1)
    232.            {
    233.                flag=1;
    234.                if (flag==1)
    235.                    {
    236.                        printf("\nsinh vien co ma: %s co thong tin nhu sau...",masv);
    237.                        printf("\n==================================================================");
    238.                        printf("\n| Ma SV |\t Ten SV \t| diemCF   | lt C  |  Th C |");
    239.                        printf("\n==================================================================");
    240.                        for (i=0;i<dem;i++)
    241.                        {
    242.                        //Doan code ko ro muc dich -> neu tim kiem thi phai dung vong lap
    243.                         if(Search(masv,b[i])==1)
    244.                             {
    245.                                  printf("\n| %s  |\t%s\t | %.1f |\t %.1f\t %.1f |",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));  
    246.                              }
    247.                        }
    248.                        printf("\n==================================================================");
    249.                    }
    250.                }
    251.            }
    252.            if(flag==0)
    253.                     printf("Khong tim thay nguoi ban muon tim\n");
    254.     }
    255.     else
    256.         printf("Danh sach hien dang trong ...\n");
    257. }
    258.  
    259. void tuy_chon1()
    260. {
    261.     struct sv sinhvien[dem];
    262.     int chon;
    263.     char key;
    264.    do
    265.     {
    266.         //clrscr();
    267.         system("cls");
    268.         printf("\n======================================");
    269.          menu_1();
    270.          printf("\n#Chon: ");
    271.          fflush(stdin);//ham xoa bo nho dem
    272.          scanf("%d",&chon);
    273.          switch(chon)
    274.             {
    275.                 case 1:
    276.                      do
    277.                      {
    278.                        nhap(sinhvien);
    279.                        printf("\nBan co muon tiep tuc khong? (Y/N): ");
    280.                        fflush(stdin);//ham xoa bo nho dem
    281.                        scanf("%c", &key);
    282.                      }while(key=='Y' || key=='y');
    283.                      getch();
    284.                      break;
    285.                case 2: //phan cap nhat ko hieu de
    286.                         break;    
    287.                case 3:
    288.                     do
    289.                      {
    290.                         xoa(sinhvien);
    291.                         getch();
    292.                         printf("\nBan co muon tiep tuc khong? (Y/N): ");
    293.                         fflush(stdin);//ham xoa bo nho dem
    294.                         scanf("%c", &key);
    295.                      }while(key=='Y' || key=='y');
    296.                      getch();
    297.                         break;
    298.                case 4:  hienthi(sinhvien);
    299.                         getch();
    300.                         break;
    301.                case 0:
    302.                         break;
    303.                default:
    304.                         printf("Muc ban chon khong co xin moi kiem tra lai\n");
    305.                         getch();
    306.                         break;
    307.             }
    308.       }
    309.     while(chon!=0);
    310. }
    311. void tuy_chon2()
    312. {
    313.     struct sv sinhvien[dem];
    314.     int chon;
    315.     char key;
    316.    do
    317.     {
    318.         //clrscr();
    319.         system("cls");
    320.         printf("\n======================================");
    321.          menu_2();
    322.          printf("\n#Chon: ");
    323.          fflush(stdin);//ham xoa bo nho dem
    324.          scanf("%d",&chon);
    325.          switch(chon)
    326.             {
    327.                case 1:  xemTN_kha(sinhvien);
    328.                         getch();
    329.                         break;
    330.                case 2:  xemTN_tb(sinhvien);
    331.                         getch();
    332.                         break;      
    333.                case 3:  timkiem(sinhvien);
    334.                         getch();
    335.                         break;        
    336.                case 0:
    337.                         break;
    338.                default:
    339.                         printf("Muc ban chon khong co xin moi kiem tra lai\n");
    340.                         getch();
    341.                         break;
    342.             }
    343.       }
    344.     while(chon!=0);
    345. }
    346.  
    347. // Ham luu file danh sach nhan vien voi ten la employee.dat
    348. void luufile()
    349.     {
    350.     struct sv sinhvien[dem];
    351.     int i=0;
    352.      FILE *f;
    353.      if((f=fopen("EMPLOYEE.dat","wb"))==NULL)
    354.      {
    355.       exit(0);
    356.      }
    357.      for(i=0;i<dem;i++)
    358.        {
    359.         fwrite(&sinhvien[i], sizeof(sinhvien),1,f);
    360.        }
    361.      fclose(f);
    362.     }
    363.  
    364. void luufile1(struct sv b[])
    365. {struct sv sinhvien[dem];
    366.     int i;
    367.     FILE *f; // khai bao voi ten ko tot
    368.    f=fopen("data.txt","w");
    369.    if(f==NULL)  //thieu 1 dau =
    370.    {
    371.     printf("Khong the tao file\n");
    372.       getch();
    373.       exit (0);
    374.    }
    375.    for(i=0;i<dem;i++)
    376.        {
    377.         //fwrite(&nhanvien[i], dem*sizeof(NV),1,f);
    378.         fprintf(f,"\n| %s  |\t%s\t | %.1f |\t %.1f\t %.1f |",b[i].maSV,b[i].tenSV,b[i].diem,b[i].diem,((b[i].diem)+(b[i].diem)));
    379.        }
    380. fclose(f);
    381. }
    382.  
    383. main()
    384. {
    385.     struct sv sinhvien[dem];
    386.     int chon;
    387.     char key;
    388.    do
    389.     {
    390.         //clrscr();
    391.         system("cls");
    392.         printf("\t----- Chao mung ban den voi chuong trinh quan ly nhan su ------");
    393.         printf("\n==========================================");
    394.          menu();
    395.          printf("\n#Chon: ");
    396.          fflush(stdin);//ham xoa bo nho dem
    397.          scanf("%d",&chon);
    398.          switch(chon)
    399.             {
    400.                 case 1: tuy_chon1();
    401.                         luufile1(sinhvien);
    402.                         break;
    403.                 case 2: tuy_chon2(sinhvien);
    404.                         break;          
    405.                case 0: printf("Xin chao va hen gap lai \n");
    406.                         getch();
    407.                         break;
    408.                default:
    409.                         printf("Muc ban chon khong co xin moi kiem tra lai\n");
    410.                         getch();
    411.                         break;
    412.             }
    413.       }
    414.     while(chon!=0);
    415. }

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

    Cái này đơn giảnt nên tự học đi
    cái gì nó chất 1 chút mới nên hỏi
    thân
    MD5

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

    em mới học nên không có cái gì chất cả, a thông cảm. cái này đối với em đã la khó rồi. Mong các a giúp em. Thank

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

  1. Code chương trình quản lý sinh viên C#
    Gửi bởi quocvanict trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 07-09-2012, 01:27 AM
  2. Mấy PRO sửa giùm cái chương trình C Quản lý sinh viên bị lỗi <iostream.h>
    Gửi bởi ice.firefly 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-05-2012, 01:04 PM
  3. Code quản lý sinh viên. Kiểm tra giùm mình.
    Gửi bởi NamIT trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 15-09-2011, 02:53 PM
  4. Kỹ thuật C code bài tập về quản lý sinh viên. Không hiển thị đc tên với mã số sinh viên?
    Gửi bởi seudaudokt 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: 06-09-2010, 12:18 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