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

Đề tài: Code quản lý thí sinh dự thi bước nhảy hoàn vũ năm 2011 bằng C. Góp ý giúp mình nhé!

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

    Mặc định Code quản lý thí sinh dự thi bước nhảy hoàn vũ năm 2011 bằng C. Góp ý giúp mình nhé!

    chương trình quản lý thí sinh dự thi bước nhảy hoàn vũ năm 2011

    dùng kiểu cấu trúc lưu thông tin thí sinh

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<stdlib.h>
    4. #include<string.h>
    5.  
    6. struct quanlythisinh
    7. {
    8.        char hoten[30],nghe[50],diachi[30],ngaysinh[10];
    9.        int nang,cao;
    10.        };
    11. quanlythisinh ts[50];
    12.  
    13. void nhap(quanlythisinh ts[], int i)
    14. {    
    15.              printf("\nSTT %d: \n", i+1);
    16.              printf("\tHo & Ten: ");
    17.                           fflush(stdin);
    18.                           gets(ts[i].hoten);
    19.              printf("\tNghe nghiep: ");
    20.                           fflush(stdin);
    21.                           gets(ts[i].nghe);            
    22.              printf("\tNgay sinh(dd-mm-yy): ");
    23.                           fflush(stdin);
    24.                           gets(ts[i].ngaysinh);
    25.              printf("\tDia Chi: ");
    26.                           fflush(stdin);
    27.                           gets(ts[i].diachi);
    28.              printf("\tCan nang (kg): ");
    29.                            scanf("%d",&ts[i].nang);
    30.              printf("\tChieu cao (cm): ");
    31.                            scanf("%d",&ts[i].cao);
    32.      
    33. }
    34.            
    35. void xuat(quanlythisinh ts[], int i)
    36. {    
    37.      
    38.      printf("--------------------------------\n");
    39.      printf("\n\tSTT %d: \n",i+1);    
    40.      printf("\n\tHo ten: %s",ts[i].hoten);
    41.      printf("\n\tNghe nghiep: %s",ts[i].nghe);    
    42.      printf("\n\tNgay Sinh: %s",ts[i].ngaysinh);    
    43.      printf("\n\tDia chi: %s",ts[i].diachi);
    44.      printf("\n\tCan nang: %.d\n",ts[i].nang);
    45.      printf("\n\tChieu cao: %.d\n",ts[i].cao);
    46.      
    47.      
    48. }
    49.  
    50.  
    51.  
    52.  
    53. int tieptuc()
    54. {
    55.     char a;
    56.     int dem=0;
    57.    tt:
    58.      { printf("-----------\nBan co muon tiep tuc su dung chuong trinh\n");
    59.           printf("Nhap 'y' de tiep tuc, 'n' ket thuc\n");
    60.           printf("Nhap: ");
    61.           fflush(stdin);
    62.           scanf("%c",&a);
    63.           printf("\n");
    64.          if (dem<=2)
    65.           {
    66.                    switch (a)
    67.                    {
    68.                                case 'y':
    69.                                case 'Y':
    70.                                     return 1;
    71.                                     break;
    72.                                case 'n':
    73.                                case 'N':
    74.                                     exit(1);                                
    75.                                     break;
    76.                                default :
    77.                                        printf(" Ban da nhap sai ky tu, vui long nhap lai\n");
    78.                                        dem++;
    79.                                        goto tt;        
    80.                                        
    81.                  }
    82.           }
    83.           else
    84.           {
    85.                 printf("Ban da nhap sai 3 lan. Nhan phim bat ky de thoat!");
    86.                 getch();
    87.                 exit(1);  
    88.           }        
    89.       }
    90. }
    91.  
    92. int sts()
    93. {
    94.                                 int n;
    95.                                
    96.                                 nhapsts:{
    97.                                             printf("\nNhap so thi sinh can quan ly (Toi da 50): ");                                            
    98.                                             scanf("%d",&n);
    99.                                        }
    100.                                                                                              
    101.                                 if(n>50)
    102.                                       {
    103.                                             printf("\n\t\tBan vui long nhap so luong it hon 50 !\n");
    104.                                           goto nhapsts;                                      
    105.                                      }
    106.                                 if(n<=0)
    107.                                       {
    108.                                             printf("\n\t\tBan vui long nhap so luong lon hon 0 !\n");
    109.                                             goto nhapsts;                                    
    110.                                      }
    111.                                   return n;    
    112. }
    113.  
    114.  
    115. void timkiem(quanlythisinh ts[], int n)
    116. {
    117.      int i,dem=0,chon;
    118.      char tim[30];
    119.      printf("\n");
    120.      printf("----->Tim kiem<-----\n");
    121.      printf("- Tim kiem theo ten thi sinh\n");
    122.      
    123.  
    124.      
    125.                        printf("\tNhap vao ten thi sinh can tim: "); fflush(stdin);
    126.                        gets(tim);
    127.                        for(i=0;i<n;i++)
    128.                        {
    129.                            if(strcmp(tim,ts[i].hoten)==0)
    130.                            {
    131.                            dem++;
    132.                            xuat(ts,i);                                  
    133.                            }
    134.                        }                            
    135.                    
    136.        
    137.    
    138.    
    139.            
    140.          if(dem==0)                              
    141.                printf("\n\t\tTEN THI SINH KHONG TRUNG KHOP!\n");
    142.      
    143. }
    144.  
    145. void sua(quanlythisinh ts[], int n)
    146. {
    147.      int i,dem=0;
    148.      char hoten[30];
    149.      printf("\n");
    150.      printf("\tNhap vao ten thi sinh can sua: "); fflush (stdin);
    151.      gets(hoten);
    152.      for(i=0;i<n;i++)
    153.      {
    154.          if(strcmp(hoten,ts[i].hoten)==0)
    155.          {
    156.                   dem++;
    157.                   nhap(ts,i);
    158.                   printf("-------Danh Sach thi sinh----------\n");
    159.                   xuat(ts,i);
    160.                   printf("-------Ket Thuc Sach thi sinh-------\n");                                  
    161.          }
    162.      }                            
    163.          if(dem==0)                              
    164.                printf("\n\t\tKHONG TON TAI THI SINH TEN %s\n",hoten);
    165.      
    166. }
    167.  
    168. int menu(int nts)
    169. {
    170.  
    171.     int a,dem=0;
    172.     for(int j=0;j<nts;j++)
    173.     nhap(ts,j);
    174.   mn:{
    175.        if(dem<2)
    176.         {
    177.                 printf("\nCHAO MUNG BAN SU DUNG CHUONG TRINH QUAN LY THI SINH DU THI BUOC NHAY HOAN VU NAM 2011");
    178.                 printf("\n--Moi ban chon cach thuc xu ly--\n");
    179.                 printf("1.Xuat danh sach thi sinh ra mang hinh\n");
    180.                 printf("2.Tim kiem sinh vien\n");
    181.                 printf("3.Sua thong tin sinh vien\n");
    182.                 printf("- Chon: ");
    183.                 scanf("%d",&a);
    184.            switch(a)
    185.            {                            
    186.                              
    187.              case 1:
    188.                   printf("-------Danh Sach thi sinh----------\n");
    189.                   for(int i=0;i<nts;i++)
    190.                   {
    191.                     xuat(ts,i);
    192.                   }
    193.                   printf("-------Ket Thuc Sach thi sinh-------\n");
    194.                   break;
    195.              case 2:
    196.                   timkiem(ts,nts);
    197.                   break;
    198.              case 3:
    199.                   sua(ts,nts);
    200.                   break;
    201.              default:
    202.                   printf("Ban nhap sai roi, hay nhap lai di nhe!");
    203.                   dem++;
    204.                   goto mn;  
    205.                  
    206.              }
    207.              
    208.              if(tieptuc()==1) goto mn;
    209.              
    210.         }
    211.         else
    212.         {
    213.             printf("Ban da nhap sai qua 3 lan\n");
    214.             printf("Vui long nhap phim bat ky de thoat\n");
    215.             getch();
    216.             exit(1);  
    217.         }
    218.         }
    219.    
    220. }
    221.  
    222. int main()
    223. {
    224.    
    225.     int chon,dem=0,dmk,nts;
    226.     printf("\n\t\t|Phan Mem Quan Ly thi sinh!|");
    227.     printf("\n\n");
    228.     chon:{
    229.           printf("\n\tChon:");
    230.           printf("\n\t     1. Vao chuong trinh");
    231.           printf("\n\t     2. Thoat\n\t     --------");
    232.           printf("\n- Ban chon: ");
    233.           scanf("%d",&chon);
    234.           }
    235.  
    236.     if(chon==1)
    237.  
    238.                                  menu(sts());                                              
    239.                                    
    240.              
    241.          
    242.          if(chon==2)
    243.          {
    244.               printf("\n\tTam biet! Hen gap lai!\n\t\tNhan phim bat ki de thoat!");
    245.               getch();
    246.               exit(1);
    247.          }
    248.            
    249.     getch();
    250.     return 0;
    251. }

  2. #2
    Ngày gia nhập
    01 2010
    Bài viết
    12

    C Code:
    1.  
    2. void sua(quanlythisinh ts[], int n)
    3. {
    4.      int i,dem=0;
    5.      char hoten[30];
    6.      printf("\n");
    7.      printf("\tNhap vao ten thi sinh can sua: "); fflush (stdin);
    8.      gets(hoten);
    9.      for(i=0;i<n;i++)
    10.      {
    11.          if(strcmp(hoten,ts[i].hoten)==0)
    12.          {
    13.                   dem++;
    14.                   nhap(ts,i);
    15.                   printf("-------Danh Sach thi sinh----------\n");
    16.                   xuat(ts,i);
    17.                   printf("-------Ket Thuc Sach thi sinh-------\n");                                  
    18.          }
    19.      }                            
    20.          if(dem==0)                              
    21.                printf("\n\t\tKHONG TON TAI THI SINH TEN %s\n",hoten);
    22.      
    23. }
    hi, mình thấy chương trình này thật hay. Tuy nhiên mình có thể góp ý chút đc ko,ở thủ tục sửa thông tin của thí sinh, trong trường hợp danh sách có 2 thí sinh trùng tên(có thể nhiều hơn) nhưng ta chỉ sửa 1 người trong số họ mà thôi vậy việc in ra thông báo "ket thuc danh sach TS" có lẽ ko chính xác lắm khi nó tìm thấy thí sinh thứ nhất (cái này ko quan trọng lắm, chỉ là hình thức 1 chút),
    Điều thứ 2 là ta tìm được thí sinh thứ i có cùng tên nhưng không phải thí sinh cần sửa đổi thông tin, vậy thì với đoạn code trên chúng ta phải nhập lại thông tin của thí sinh thứ i rồi mới tiếp tục tìm kiếm thí sinh #, việc nhập lại thông tin của thí sinh thứ i này hơi khó vì chương trình ko hiển thị thông tin của người đó và chúng ta cũng không nhớ họ thì sao??? Hơn nữa nếu có nhiều thí sinh trùng tên thì việc nhập lại đúng là...thôi rồi. Theo mình để tránh trường hợp này ta nên hiển thị thông tin của thí sinh thứ i có tên cần tìm để user xem rồi mới đưa ra lựa chọn có sửa hay bỏ qua để tìm thí sinh tiếp theo phù hợp hơn.
    Còn 1 chút nữa là trong trường hợp ko tìm được thí sinh để sửa vậy chúng ta có nên thêm vào 1 lựa chọn nhập thí sinh đó vào danh sách được ko?
    Rất mong được chia sẻ cùng mọi người!!!

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

  1. Trường Trung cấp Đại Việt Thành phố Hồ Chí Minh - Tuyển sinh năm 2011
    Gửi bởi peter_cntt91 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 06-09-2011, 11:19 AM
  2. Học viện NIIT iPMAC thông báo tuyển sinh năm học 2011-2013
    Gửi bởi NIIT iPMAC trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 11-08-2011, 01:44 PM
  3. Bài tập C++ Nhập vào ngày tháng năm sinh và in ra thứ, giúp mình
    Gửi bởi chjpnk0kut3 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 09-10-2010, 02:11 AM
  4. 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