huyhung94

Quản Lý Sinh Viên (Mảng)

Feb 18th, 2014
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.90 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. /*
  5. Code by Huy Hung
  6. Created 01:00 20/02/2014
  7. Using C-Free 5.0
  8. */
  9. struct sinhvien{
  10.     char ten[50];
  11.     int tuoi;
  12.     float dtb;
  13. };
  14. typedef sinhvien svien;
  15. svien sv[50];
  16.  
  17. char name[30];
  18. int i,j,n,vt;
  19. //Nhap danh sach
  20. void input(int &n){
  21.     system("cls");
  22.     printf("Nhap so luong sinh vien: "); scanf("%d",&n);
  23.     printf("\n=============Input=============");
  24.     for(i=0;i<n;i++){
  25.         printf("\nNhap thong tin cho nguoi thu %d\n",i+1);
  26.         fflush(stdin);
  27.         printf(" Ho va ten: ");    
  28.         gets(sv[i].ten);
  29.         printf(" Tuoi: ");
  30.         scanf("%d",&sv[i].tuoi);
  31.         printf(" Diem trung binh: ");
  32.         scanf("%f",&sv[i].dtb);
  33.         printf("==============================\n");
  34.     }  
  35. }
  36. //In danh sach
  37. void output(int &n){
  38.     system("cls");
  39.     printf("\n\t\t+++++++++ QUAN LY SINH VIEN +++++++++\n");
  40.     printf("\n\t\t STT\t TEN \t Tuoi\tDiem TB\n");
  41.     for(int i=0;i<n;i++){
  42.         printf("\t\t%3d   %s\t%d\t%3.2f\n",i+1,sv[i].ten,sv[i].tuoi,sv[i].dtb);
  43.      }
  44.      printf("\n\n");
  45. }
  46. //Tim kiem sinh vien
  47. int search(char name[30]){
  48.     fflush(stdin);
  49.     printf(" Nhap ten sinh vien: ");
  50.     gets(name);
  51.     for(i=0;i<n;i++){
  52.          if(strcmp(sv[i].ten,name)==0){
  53.             return(i); //Tim thay sinh vien. Tra ve vi tri cua svien do.
  54.          }
  55.     }
  56.     return(-1); //Khong tim thay sinh vien.
  57. }
  58. //Them sinh vien
  59. int Add(int vt, int &n){
  60.     //Tang kich thuoc mang
  61.     for(i=n;i>vt;i--){
  62.         sv[i]=sv[i-1];
  63.     }
  64.     //Chen thong tin sinh vien
  65.     fflush(stdin);
  66.     printf("Nhap ho ten svien muon them: ");
  67.     gets(sv[vt].ten);
  68.     printf(" Nhap tuoi: ");
  69.     scanf("%d",&sv[vt].tuoi);
  70.     printf(" Diem trung binh: ");
  71.     scanf("%f",&sv[vt].dtb);
  72.     printf("Da them thanh cong.\n");
  73.     n++;
  74. }
  75. //Ham Xoa
  76. int Del(int vt, int &n){
  77.     int i;
  78.     for(i=vt;i<n-1;i++){
  79.         sv[i]=sv[i+1];
  80.     }
  81.     printf("Da xoa thanh cong\n");
  82.     n--;
  83. }
  84.  
  85. //Ham chinh
  86. int main(){
  87.     struct sinhvien sv[100];
  88.     int m;
  89.     system("color a");
  90.     do{
  91.     system("cls");
  92.     printf("\n\n\tMenu: Thao tac");
  93.     printf("\n\t\t\t\tCode by Huy Hung");
  94.     printf("\n1. Nhap danh sach.");
  95.     printf("\n2. In danh sach");
  96.     printf("\n3. Them sinh vien truoc svien da biet.");
  97.     printf("\n4. Xoa sinh vien");
  98.     printf("\n5. Thoat.");
  99.     printf("\n\n Ban chon: "); scanf("%d",&m);
  100.     switch(m){
  101.       case 1: input(n); system("pause");break;
  102.       case 2: output(n);system("pause");break;      
  103.       case 3: output(n);
  104.               vt=search(name);
  105.               if(vt!=-1){
  106.                     Add(vt,n);
  107.                     output(n);
  108.                 }else printf("Khong tim thay sinh vien.\n");
  109.                 system("pause");
  110.                break;
  111.                
  112.       case 4: output(n);
  113.               int vt=search(name);
  114.               if(vt!=-1){
  115.                    Del(vt,n);
  116.                     output(n);
  117.                 }else printf("Khong tim thay sinh vien.\n");   
  118.                 system("pause");   
  119.                 break;
  120.                
  121.       case 5: printf("Xin chao va hen gap lai.\n"); break;
  122.       default: printf("Ban da chon sai chuc nang.\nVui long chon lai.\n"); system("pause");break;  
  123.       };
  124.     }while(m!=5);
  125.    
  126. }
Advertisement
Add Comment
Please, Sign In to add comment