Chủ Nhật, 30 tháng 3, 2014

QUẢN LÝ SINH VIÊN


  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <mem.h>
  4. #include <string.h>
  5. #define MAX 100
  6. #define TOAN 0
  7. #define LY   1
  8. #define HOA  2
  9. struct sinhvien {
  10.   char mslop[5];
  11.   char hoten[35];
  12.   float diem[3];
  13. } danhsach[MAX];
  14. int n = 0;
  15. void nhapmoi()
  16. {
  17.   char mslop[5], tmp[3];
  18.   int i;
  19.   float diem[3];
  20.   do {
  21.     printf("\nCho biet ma so lop : ");
  22.     gets(mslop);
  23.     if (strlen(mslop))
  24.     {
  25.       strcpy(danhsach[n].mslop, mslop);
  26.       printf("\nCho biet ho ten : ");
  27.       gets(danhsach[n].hoten);
  28.       printf("\nCho biet diem so : ");
  29.       for (i=0; i<3; i++)
  30.       {
  31.         scanf("%f", &diem[i]);
  32.         danhsach[n].diem[i] = diem[i];
  33.       }
  34.       gets(tmp);
  35.       n++;
  36.     }
  37.   } while (strlen(mslop));
  38. }
  39. void timkiem()
  40. {
  41.   char mslop[5];
  42.   int i = 0, found = 0;
  43.   printf("\nCho biet ma so lop : ");
  44.   gets(mslop);
  45.   if (strlen(mslop))
  46.     while (i<n)
  47.       if (stricmp(danhsach[i].mslop, mslop) == 0)
  48.       {
  49.          printf("\nMa so lop : %s", danhsach[i].mslop);
  50.          printf("\nHo va ten : %s", danhsach[i].hoten);
  51.          printf("\nDiem Toan : %f", danhsach[i].diem[TOAN]);
  52.          printf("\nDiem Ly   : %f", danhsach[i].diem[LY]);
  53.          printf("\nDiem Hoa  : %f", danhsach[i].diem[HOA]);
  54.          found = 1;
  55.          break;
  56.       }
  57.       else
  58.         i++;
  59.   if (!found)
  60.     printf("\nKhong tim thay!!!");
  61. }
  62. void xoa()
  63. {
  64.   char mslop[5], traloi;
  65.   int i = 0, j;
  66.   printf("\nCho biet ma so lop : ");
  67.   gets(mslop);
  68.   if (strlen(mslop))
  69.     while (i<n)
  70.       if (stricmp(danhsach[i].mslop, mslop) == 0)
  71.       {
  72.          printf("\nMa so lop : %s", danhsach[i].mslop);
  73.          printf("\nHo va ten : %s", danhsach[i].hoten);
  74.          printf("\nDiem Toan : %f", danhsach[i].diem[TOAN]);
  75.          printf("\nDiem Ly   : %f", danhsach[i].diem[LY]);
  76.          printf("\nDiem Hoa  : %f", danhsach[i].diem[HOA]);
  77.          printf("\nCo muon xoa khong (C/K)? ");
  78.          do {
  79.            traloi = toupper(getch());
  80.          } while (traloi != 'C' && traloi != 'K');
  81.          putc(traloi, stdout);
  82.          if (traloi == 'C')
  83.          {
  84.            n--;
  85.            memcpy(&danhsach[i], &danhsach[i+1], sizeof(struct sinhvien) * (n-i));
  86.            break;
  87.          }
  88.       }
  89.       else
  90.         i++;
  91. }
  92. void menu()
  93. {
  94.   printf("\n***************");
  95.   printf("\n* 1. Them     *");
  96.   printf("\n* 2. Xoa      *");
  97.   printf("\n* 3. Tim kiem *");
  98.   printf("\n* 0. Thoat    *");
  99.   printf("\n***************");
  100.   printf("\nChon lua ? ");
  101. }
  102. void main()
  103. {
  104.   char traloi;
  105.   do {
  106.     menu();
  107.     do {
  108.       traloi = getch();
  109.     } while (traloi < '0' || traloi > '3');
  110.     putc(traloi, stdout);
  111.     switch (traloi)
  112.     {
  113.        case '1' : nhapmoi();
  114.                   break;
  115.        case '2' : xoa();
  116.                   break;
  117.        case '3' : timkiem();
  118.                   break;
  119.     }
  120.   } while (traloi != '0');
  121. }

0 nhận xét:

Đăng nhận xét