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

Đề tài: Quản lý lịch thi đấu và bảng xếp hạng trong giải bóng đá. Tạo một lịch thi đấu ngẫu nhiên như thế nào?

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

    Exclamation Quản lý lịch thi đấu và bảng xếp hạng trong giải bóng đá. Tạo một lịch thi đấu ngẫu nhiên như thế nào?

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <math.h>
    4. #include <string.h>
    5. #include <stdlib.h>
    6. void menu();
    7. int ktmadoi(char *madoi);
    8. int n=0,sotran=0;
    9.  
    10. struct lichdau
    11. {
    12.     int stt;
    13.     char madoi1[30];
    14.     char madoi2[30];
    15.    char ngaythidau[30];
    16.    char giothidau[30];
    17.    char santhidau[30];
    18. };
    19. typedef lichdau lich;
    20. lich l[1000];
    21. struct doibong
    22. {
    23.     char madoi[30];
    24.     char tendoi[30];
    25.    char huanluyenvien[30];
    26. };
    27. typedef doibong doi;
    28. doi d[30];
    29.  
    30. void taolichdau()
    31. {
    32.     if (n==0) printf("khong the tao");
    33.    else
    34.    {
    35.     for (int i=0;i<n-1;i++)
    36.       {
    37.             for (int j=1;j<n;j++)
    38.          {
    39.             lichdau ld;
    40.            
    41.             ld.stt=sotran;
    42.             char a[30];
    43.            
    44.             strcpy(ld.madoi1,d[i].madoi);
    45.             strcpy(ld.madoi2,d[j].madoi);
    46.             strcpy(ld.ngaythidau,"chuacapnhat");
    47.             strcpy(ld.giothidau,"chuacapnhat");
    48.             strcpy(ld.santhidau,"chuacapnhat");
    49.            
    50.             l[sotran]=ld;
    51.  
    52.             sotran++;
    53.             }
    54.       }
    55.    }
    56.    printf("da tao xong");
    57.  
    58. }
    59. void nhapdoibong()
    60. {
    61.     doibong db;
    62.     printf("Nhap ma doi:");
    63.    scanf("%s",&db.madoi);
    64.    printf("Nhap ten doi:");
    65.    scanf("%s",&db.tendoi);
    66.    printf("Nhap ten huan luyen vien:");
    67.    scanf("%s",&db.huanluyenvien);
    68.    if (ktmadoi(db.madoi)==-1)
    69.    {
    70.     d[n]=db;
    71.  
    72.     n++;
    73.       printf("Da chen vao danh sach");
    74.    }
    75.    else
    76.    {
    77.     printf("\nMa doi trung");
    78.    }
    79. }
    80. void suadoibong()
    81. {
    82.     doibong db;
    83.     printf("Nhap ma doi:");
    84.    scanf("%s",&db.madoi);
    85.    if (ktmadoi(db.madoi)!=-1)
    86.    {
    87.     printf("Nhap ten doi:");
    88.     scanf("%s",&db.tendoi);
    89.     printf("Nhap ten huan luyen vien:");
    90.     scanf("%s",&db.huanluyenvien);
    91.     d[ktmadoi(db.madoi)]=db;
    92.  
    93.     n++;
    94.       printf("Da cap nhat danh sach");
    95.    }
    96.    else
    97.    {
    98.     printf("\nMa doi khong ton tai");
    99.    }
    100. }
    101. int ktmadoi(char *madoi)
    102. {
    103.     for (int i=0;i<n;i++)
    104.    {
    105.     if (strcmp(d[i].madoi,madoi)==0)
    106.       {
    107.         return i;
    108.       }
    109.    }
    110.    return -1;
    111. }
    112. void xuatdoibong(doibong db)
    113. {
    114.     printf("\n|%s\t|%s\t\t\t|%s\t\t|",db.madoi,db.tendoi,db.huanluyenvien);
    115.  
    116. }
    117. void xuatfile()
    118. {
    119.     FILE *nhap;
    120.     nhap=fopen("D:\\VL08teams.dat","w");
    121.     fprintf(nhap,"%d\n",n);
    122.     for(int i=0;i<n;i++)
    123.     {
    124.         fprintf(nhap,"%s\n",d[i].madoi);
    125.  
    126.         fprintf(nhap,"%s\n",d[i].tendoi);
    127.         fprintf(nhap,"%s\n",d[i].huanluyenvien);
    128.  
    129.     }
    130.     fclose(nhap);
    131. }
    132. void docfile()
    133. {
    134.      FILE *nhap;
    135.     nhap=fopen("D:\\VL08teams.dat","r");
    136.     if (nhap==NULL) printf("chua co doi bong nao");
    137.     else
    138.     {
    139.  
    140.     fscanf(nhap,"%d",&n);
    141.     for(int i=0;i<n;i++)
    142.     {
    143.         fscanf(nhap,"%s",d[i].madoi);
    144.        
    145.         fscanf(nhap,"%s",d[i].tendoi);
    146.         fscanf(nhap,"%s",d[i].huanluyenvien);
    147.     }
    148.     fclose(nhap);
    149.     }
    150. }
    151. void xuatdanhsach()
    152. {
    153.     printf("|Ma doi\t|Ten doi\t\t|Ten huan luyen vien\t\t|");
    154.     for (int i=0;i<n;i++)
    155.    {
    156.     xuatdoibong(d[i]);
    157.    }
    158. }
    159. void menudanhsach()
    160. {
    161.     docfile();
    162.     int i;
    163.    printf("\n============================================\n");
    164.    printf(".1 Xem danh sach doi bong\n");
    165.    printf(".2 Cap nhat danh sach doi bong\n");
    166.    printf(".3 Them mot doi bong\n");
    167.    printf(".0 Tro ve menu chinh\n");
    168.    printf("#Chon:");
    169.    scanf("%d",&i);
    170.    switch (i)
    171.    {
    172.     case 1:
    173.         {
    174.          docfile();
    175.          xuatdanhsach();
    176.          
    177.          break;
    178.          }
    179.       case 2:
    180.         {
    181.          
    182.          suadoibong();
    183.          xuatfile();
    184.          break;
    185.          }
    186.       case 3:
    187.         {
    188.          nhapdoibong();
    189.          xuatfile();
    190.          break;
    191.          }
    192.       case 0: menu(); break;
    193.       default: printf("Nhap sai"); menudanhsach();
    194.  
    195.    }
    196.    menudanhsach();
    197. }
    198. int random()
    199. {
    200.    
    201.     int r=rand()%n;
    202.    return r;
    203. }
    204.  
    205. void taolichthidau()
    206. {
    207.     docfile();
    208.    taolichdau();
    209.     FILE *nhap;
    210.     nhap=fopen("D:\\VL08Schedule.dat","w");
    211.     fprintf(nhap,"%d\n",sotran);
    212.     for(int i=0;i<sotran;i++)
    213.     {
    214.         fprintf(nhap,"%d\n",l[i].stt);
    215.        
    216.         fprintf(nhap,"%s\n",l[i].madoi1);
    217.         fprintf(nhap,"%s\n",l[i].madoi2);
    218.         fprintf(nhap,"%s\n",l[i].ngaythidau);
    219.         fprintf(nhap,"%s\n",l[i].giothidau);
    220.         fprintf(nhap,"%s\n",l[i].santhidau);
    221.        
    222.     }
    223.     fclose(nhap);
    224. }
    225. void doclichdau()
    226. {
    227.     docfile();
    228.    
    229.         FILE *nhap;
    230.     nhap=fopen("D:\\VL08Schedule.dat","r");
    231.     if (nhap==NULL) printf("Phai tao lich moi xem duoc");
    232.     else
    233.     {
    234.    
    235.     fscanf(nhap,"%d",&sotran);
    236.  
    237.     for(int i=0;i<sotran;i++)
    238.     {
    239.           //getch();
    240.         fscanf(nhap,"%d",&l[i].stt);
    241.        
    242.         fscanf(nhap,"%s",l[i].madoi1);
    243.         fscanf(nhap,"%s",l[i].madoi2);
    244.         fscanf(nhap,"%s",l[i].ngaythidau);
    245.         fscanf(nhap,"%s",l[i].giothidau);
    246.         fscanf(nhap,"%s",l[i].santhidau);
    247.     }
    248.     fclose(nhap);
    249.     }
    250. }
    251. void xemlichdau()
    252. {
    253.     doclichdau();
    254.     printf("\n----Tao lich dau -----\n");
    255.    for (int i=0;i<sotran;i++)
    256.    {
    257.    
    258.     printf("%d.%s vs %s\n",l[i].stt,d[ktmadoi(l[i].madoi1)].tendoi,d[ktmadoi(l[i].madoi2)].tendoi);
    259.    }
    260. }
    261. void xemlichthidau()
    262. {
    263.     doclichdau();
    264.    
    265.    for (int i=0;i<sotran;i++)
    266.    {
    267.     printf("%d.%s vs %s\n",l[i].stt,d[ktmadoi(l[i].madoi1)].tendoi,d[ktmadoi(l[i].madoi2)].tendoi);
    268.    printf("Ngaythidau:%s\n",l[i].ngaythidau);
    269.    printf("Giothidau:%s\n",l[i].giothidau);
    270.    printf("Santhidau:%s\n",l[i].santhidau);
    271.    }
    272. }
    273. void capnhatlich()
    274. {
    275.         FILE *nhap;
    276.     nhap=fopen("D:\\VL08Schedule.dat","w");
    277.     fprintf(nhap,"%d\n",sotran);
    278.     for(int i=0;i<sotran;i++)
    279.     {
    280.         fprintf(nhap,"%d\n",l[i].stt);
    281.         fprintf(nhap,"%s\n",l[i].madoi1);
    282.         fprintf(nhap,"%s\n",l[i].madoi2);
    283.         fprintf(nhap,"%s\n",l[i].ngaythidau);
    284.         fprintf(nhap,"%s\n",l[i].giothidau);
    285.         fprintf(nhap,"%s\n",l[i].santhidau);
    286.     }
    287.     fclose(nhap);
    288. }
    289. void capnhatlichdau()
    290. {
    291.     doclichdau();
    292.     int stt;
    293.     printf("Nhap STT lich dau:");
    294.    scanf("%d",&stt);
    295.    if(stt>=sotran)
    296.    {
    297.     printf("STT khong ton tai");
    298.    }
    299.    else
    300.    {
    301.     lichdau lich1;
    302.       lich1.stt=stt;
    303.     char a[30];
    304.       printf("Tran:%s vs %s\n",d[ktmadoi(l[stt].madoi1)].tendoi,d[ktmadoi(l[stt].madoi2)].tendoi);
    305.     printf("Nhap ngay thi dau:");
    306.       scanf("%s",&lich1.ngaythidau);
    307.       printf("Nhap gio thi dau:");
    308.       scanf("%s",&lich1.giothidau);
    309.       printf("Nhap san thi dau:");
    310.       scanf("%s",&lich1.santhidau);
    311.       l[stt]=lich1;
    312.         capnhatlich();
    313.  
    314.       printf("\nDa cap nhat");
    315.    }
    316. }
    317. void menulichthidau()
    318. {
    319.         docfile();
    320.     int i;
    321.    printf("\n============================================\n");
    322.    printf(".1 Xem lich thi dau\n");
    323.    printf(".2 Cap nhat lich thi dau\n");
    324.    printf(".3 Tao lich thi dau\n");
    325.    printf(".0 Tro ve menu chinh\n");
    326.    printf("#Chon:");
    327.    scanf("%d",&i);
    328.    switch (i)
    329.    {
    330.     case 1:
    331.         {
    332.          xemlichthidau();
    333.          break;
    334.          }
    335.       case 2:
    336.         {
    337.          capnhatlichdau();
    338.          break;
    339.          }
    340.       case 3:
    341.         {
    342.          taolichthidau();
    343.          xemlichdau();
    344.          break;
    345.          }
    346.       case 0: menu(); break;
    347.       default: printf("Nhap sai"); menulichthidau();
    348.  
    349.    }
    350.    menulichthidau();
    351. }
    352. void ketqua()
    353. {
    354. }
    355. void thongke()
    356. {
    357. }
    358. void menu()
    359. {
    360.     int i;
    361.     printf("---Chao mung den voi V-leage 2008--\n");
    362.    printf("=======================================\n");
    363.    printf(".1 Quan ly danh sach doi bong\n");
    364.    printf(".2 Quan ly lich thi dau\n");
    365.    printf(".3 Quan ly ket qua thi dau\n");
    366.    printf(".4 Thong ke\n");
    367.    printf(".0 Thoat\n");
    368.    printf("#Chon:");
    369.    scanf("%d",&i);
    370.    switch (i)
    371.    {
    372.     case 1:
    373.         {
    374.          menudanhsach();
    375.          break;
    376.          }
    377.       case 2:
    378.         {
    379.          menulichthidau();
    380.          break;
    381.          }
    382.       case 3:
    383.         {
    384.          ketqua();//Dang xay dung ham nay
    385.          break;
    386.          }
    387.       case 4:
    388.         {
    389.          thongke();//Dang xay dung ham nay
    390.          break;
    391.          }
    392.       case 0: break;
    393.       default: printf("Nhap sai"); menu();
    394.  
    395.    }
    396. }
    397. int main()
    398. {
    399.    
    400.     menu();
    401.    //getch();
    402. }
    Đã được chỉnh sửa lần cuối bởi NamIT : 28-10-2011 lúc 08:34 PM.

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

  1. Tạo Mã ID ngẫu nhiên trong SQL như thế nào?
    Gửi bởi dauhoi_8x trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 29
    Bài viết cuối: 24-03-2016, 02:08 PM
  2. Làm thế nào lấy ngẫu nhiên một số dòng trong file text...?
    Gửi bởi boy_lonely_0106 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 19
    Bài viết cuối: 05-11-2014, 01:16 PM
  3. Tạo biến ngẫu nhiên kiểu float sử dụng hàm rand() trong C/C++ như thế nào?
    Gửi bởi 50902116 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 24
    Bài viết cuối: 27-02-2014, 04:35 PM
  4. Bài tập C Tạo ngẫu nhiên mảng 2 chiều vuông 4X4 với các phần tử tạo ngẫu nhiên trong đoạn[0,50]
    Gửi bởi truongtrungviet trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 16-04-2011, 08:06 AM
  5. Tạo ngẫu nhiên một String trong C như thế nào?
    Gửi bởi ngconghan trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 16
    Bài viết cuối: 09-12-2010, 02:35 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