Chương trình quản lý viện

Thảo luận trong 'Thuật toán' bắt đầu bởi LieuKyThien, 19 Tháng bảy 2009.

  1. Offline

    LieuKyThien

    • Thành Viên Mới

    Số bài viết:
    79
    Đã được thích:
    49
    Điểm thành tích:
    0
    Viết chương trình quản lý viện biết rằng mỗi viện có nhiều phòng, mỗi phòng có nhiều nhân viên, thông tin của một nhân viên gồm họ tên và năm sinh. Yêu cầu đặt ra là nhập, và xuất ra thông tin
    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<alloc.h>
    
    //Khai bao cau truc
    typedef struct
    	{
    		char ht[40];
    		int ns;
    	}person;
    typedef struct
    	{
    		char tenphong[15];
    		int sonhanvien;
    		person *nhanvien;
    	}ppp;
    typedef struct
    	{
    		char tenvien[15];
    		int sophong;
    		ppp *phong;
    	}vvv;
    vvv *vien;
    int sovien;
    void main()
    {
    	clrscr();
    	int i,j,k,sophong,sonhanvien,ns;
    	/* Nhap so lieu va cap phat bo nho */
    	// Vien
    	printf("Nhap so vien: ");
    	scanf("%d",&sovien);
    	vien=(vvv*)malloc(sizeof(vvv)*(sovien+1));
    	for(i=1;i<=sovien;i++)
    	 {
    		printf("Nhap ten vien: ");
    		fflush(stdin);
    		gets(vien[i].tenvien);
    		printf("Nhap so phong: ");
    		scanf("%d",&sophong);
    		vien[i].sophong=sophong;
    		// Phong
    		vien[i].phong=(ppp*)malloc(sizeof(ppp)*(sophong+1));
    		for(j=1;j<=sophong;j++)
    		  {
    			printf("Nhap ten phong: ");
    			fflush(stdin);
    			gets(vien[i].phong[j].tenphong);
    			printf("Nhap so nhan vien: ");
    			scanf("%d",&sonhanvien);
    			vien[i].phong[j].sonhanvien=sonhanvien;
    			// Nhan Vien
    			vien[i].phong[j].nhanvien=(person*)malloc(sizeof(person)*(sonhanvien+1));
    			for(k=1;k<=sonhanvien;k++)
    			  {
    				printf("Nhap ten nhan vien: ");
    				fflush(stdin);
    				gets(vien[i].phong[j].nhanvien[k].ht);
    				printf("Nhap nam sinh: ");
    				scanf("%d",&vien[i].phong[j].nhanvien[k].ns);
    			  }
    		  }
    	 }
    	clrscr();
    	for(i=1;i<=sovien;i++)
    	 {
    		printf("Ten Vien: %s So phong: %d\n\t",vien[i].tenvien,vien[i].sophong);
    		for(j=1;j<=sophong;j++)
    		  {
    			printf("\n\t\tTen phong: %s So nhan vien: %d",vien[i].phong[j].tenphong,vien[i].phong[j].sonhanvien);
    			for(k=1;k<=sonhanvien;k++)
    				printf("\n\t\t\tTen: %s Nam sinh: %d",vien[i].phong[j].nhanvien[k].ht,vien[i].phong[j].nhanvien[k].ns);
    			printf("\n");
    		  }
    	 }
    	getch();
    }

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí