LieuKyThien
19-07-2009, 11:24 AM
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
#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)*(sonhanvi en+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();
}
#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)*(sonhanvi en+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();
}