lOMoARcPSD| 58490434
Chương 8 KIỂU CẤU TRÚC
//Quản l sinh viŒn
#include<stdio.h>
#include<conio.h>
struct QLSV
{
char HoTen[30];
float L1, L2, OL, TB;
}; void
main()
{
struct QLSV LTC[65];
int i;
for (i = 0; i < 65; i++)
{
printf("Nhap thong tin cua SV thu %d:\n", i + 1);
printf("Ho va ten: ");
gets_s(LTC[i].HoTen);
printf("Diem lan 1: ");
scanf_s("%f", &LTC[i].L1);
printf("Diem lan 2: ");
scanf_s("%f", &LTC[i].L2);
printf("Diem online: ");
scanf_s("%f", &LTC[i].OL);
fflush(stdin);
}
printf("%-20s %-10s %-10s %-10s %-10s\n", "Ho va Ten", "DienLan1",
"DiemLan2",
"DiemOL", "DiemTB"); for
(i = 0; i < 65; i++)
{
LTC[i].TB = LTC[i].L1*0.4 + LTC[i].L2*0.4 +
LTC[i].OL*0.2; printf("%-20s %-10.2f %-10.2f %-10.2f %-
10.2f\n", LTC[i].HoTen,
LTC[i].L1, LTC[i].L2, LTC[i].OL, LTC[i].TB);
}
lOMoARcPSD| 58490434
_getch();
}
//Qun l thiết b
#include<stdio.h>
#include<conio.h>
struct QLTB
{
int MaTB, Nam, TT;
char TenTB[30];
};
void main()
{
int i;
struct QLTB TB[3];
for (i = 0; i < 3; i++)
{ printf("Nhap thong tin thiet bi thu %d:\n", i + 1);
printf("Ma thiet bi: "); scanf_s("%d",
&TB[i].MaTB); fflush(stdin);
printf("Ten thiet bi: ");
gets_s(TB[i].TenTB);
printf("Nam san xuat: ");
scanf_s("%d",
&TB[i].Nam); do{
printf("Trang thai thiet bi: ");
scanf_s("%d", &TB[i].TT);
} while ((TB[i].TT != 1) && (TB[i].TT != 0));
}
int k = 0; for (i =
0; i < 3; i++)
{
if (TB[i].TT == 1)
{
lOMoARcPSD| 58490434
k = 1;
printf("%d %s\n", TB[i].MaTB, TB[i].TenTB);
}
}
if (k == 0)
{
printf("Tat ca cac thiet bi da tat\n");
}
for (i = 0; i < 3; i++)
{
if (TB[i].Nam < 2020)
{
printf("%d %s\n", TB[i].MaTB, TB[i].TenTB);
}
}
_getch();
}
//Qun l 100 nh n
viŒn
#include<stdio.h>
#include<conio.h>
struct NHANVIEN
{
char manv[5];
char tennv[20];
char diachi[100];
float hsluong; int
sncong;
}; void
main()
{
lOMoARcPSD| 58490434
struct NHANVIEN
NV[100]; int i, n; do{
printf("Nhap so luong nhan vien:
"); scanf_s("%d", &n); } while
(n <= 0); for (i = 0; i < n; i++)
{ printf("Nhap thong tin nv thu %d:\n", i + 1);
fflush(stdin); printf("Ma nhan vien: ");
gets_s(NV[i].manv);
printf("Ten nhan vien:
"); gets_s(NV[i].tennv);
printf("Dia chi: ");
gets_s(NV[i].diachi);
do{
printf("He so luong: ");
scanf_s("%f", &NV[i].hsluong);
} while (NV[i].hsluong <= 0);
do{
printf("So ngay cong: ");
scanf_s("%d", &NV[i].sncong);
} while (NV[i].sncong < 0);
}
for (i = 0; i < n; i++)
{
if (NV[i].sncong>20)
{
printf("%s %s %s %f %d\n", NV[i].manv, NV[i].tennv,
NV[i].diachi, NV[i].hsluong, NV[i].sncong);
}
}
_getch();
}
//Qun l n nh n
viŒn
lOMoARcPSD| 58490434
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
struct NHANVIEN
{
char manv[5];
char tennv[20];
char diachi[100];
float hsluong;
int sncong;
}; void
main()
{
struct NHANVIEN *a;
int i, n;
do{
printf("Nhap so luong nhan vien:
"); scanf_s("%d", &n); } while
(n <= 0);
a = (NHANVIEN*)malloc(n*sizeof(NHANVIEN));
if (a == NULL)
{
printf("Cap phat khong thanh cong");
}
else
{
for (i = 0; i < n; i++)
{
printf("Nhap thong tin nv thu %d:\n", i + 1);
fflush(stdin);
printf("Ma nhan vien:
"); gets_s((a+i)->manv);
printf("Ten nhan vien:
lOMoARcPSD| 58490434
"); gets_s((a + i)->tennv);
printf("Dia chi: ");
gets_s((a + i)->diachi);
do{
printf("He so luong: ");
scanf_s("%f", &(a + i)->hsluong);
} while ((a + i)->hsluong <= 0);
do{
printf("So ngay cong: ");
scanf_s("%d", &(a + i)->sncong);
} while ((a + i)->sncong < 0);
}
for (i = 0; i < n; i++)
{
if ((a + i)->sncong > 20)
{
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)-
>tennv, (a + i)->diachi, (a + i)->hsluong, (a + i)-
>sncong);
}
}
free(a);
}
_getch();
}
//Quản l n nh n viŒn c viết h m
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
struct NHANVIEN
{
lOMoARcPSD| 58490434
char manv[5];
char tennv[20];
char diachi[100];
float hsluong;
int sncong;
};
void NhapStruct(struct NHANVIEN *a, int n)
{
int i;
for (i = 0; i < n; i++)
{
printf("Nhap thong tin nv thu %d:\n", i +
1); fflush(stdin); printf("Ma nhan
vien: "); gets_s((a + i)->manv);
printf("Ten nhan vien: "); gets_s((a + i)-
>tennv); printf("Dia chi: ");
gets_s((a + i)->diachi);
do{
printf("He so luong: ");
scanf_s("%f", &(a + i)->hsluong);
} while ((a + i)->hsluong <= 0);
do{
printf("So ngay cong: ");
scanf_s("%d", &(a + i)->sncong);
} while ((a + i)->sncong < 0);
}
}
void TimKiem(struct NHANVIEN *a, int n)
{
int i;
for (i = 0; i < n; i++)
{
if ((a + i)->sncong>20)
lOMoARcPSD| 58490434
{
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)-
>tennv, (a + i)->diachi, (a + i)->hsluong, (a + i)-
>sncong);
}
}
}
//H m t m kiếm in ra th ng tin nh n viŒn c số ng y c ng ln hơn k ng y
void TimKiem2(struct NHANVIEN *a, int
n, int k)
{
int i;
for (i = 0; i < n; i++)
{
if ((a + i)->sncong > k)
{
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)-
>tennv, (a + i)->diachi, (a + i)->hsluong, (a + i)-
>sncong);
}
}
} void
main()
{
struct NHANVIEN
*p; int i, n;
do{
printf("Nhap so luong nhan vien: ");
scanf_s("%d", &n); }
while (n <= 0); p =
(NHANVIEN*)malloc(n*sizeof(NHANVIE
N));
if (p == NULL)
lOMoARcPSD| 58490434
{
printf("Cap phat khong thanh cong");
}
else
{
NhapStruct(p, n);
TimKiem(p, n); free(p);
}
_getch();
}
//Qun l thư vin
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
struct QuanLyThuVien
{
char HoVaTen[20];
int MSSV; char
TenSach[50]; int
NgayMuon, NgayTra;
int TG;
};
void TimKiem(struct QuanLyThuVien *a, int n, int b)
{
int i;
for (i = 0; i < n; i++)
{
if ((a + i)->MSSV == b)
{
lOMoARcPSD| 58490434
printf("%s %d %s %d %d\n", (a + i)->HoVaTen, (a + i)-
>MSSV, (a + i)->TenSach, (a + i)->NgayMuon, (a +
i)->NgayTra);
}
}
} void
main()
{
struct QuanLyThuVien
*a; int i, n;
do{
printf("Nhap so luong sinh vien: ");
scanf_s("%d",
&n); } while (n <= 0);
a = (QuanLyThuVien*)malloc(n*sizeof(QuanLyThuVien));
if (a == NULL)
{
printf("Cap phat khong thanh cong");
}
else
{
for (i = 0; i < n; i++)
{
printf("Nhap thong tin sv thu %d:\n", i + 1);
fflush(stdin);
printf("Ho va ten: ");
gets_s((a + i)->HoVaTen);
printf("MSSV: ");
scanf_s("%d", &(a + i)-
>MSSV); fflush(stdin);
printf("Ten sach: ");
lOMoARcPSD| 58490434
gets_s((a + i)->TenSach);
do{
printf("Ngay muon: ");
scanf_s("%d", &(a + i)->NgayMuon);
} while (((a + i)->NgayMuon < 0) || ((a+i)->NgayTra>31));
do{
printf("Ngay tra: ");
scanf_s("%d", &(a + i)->NgayTra);
} while ((a + i)->NgayTra < (a + i)->NgayMuon);
}
int MS;
printf("Nhap ma so can tim:
"); scanf_s("%d", &MS);
TimKiem(a, n, MS);//gi h m //
phương Æn 1 c u d
int TGmax = ((a+0)->NgayTra-(a+0)->NgayMuon);
for (i = 0; i < n; i++)
{
if ((a + i)->NgayTra - (a + i)->NgayMuon > TGmax)
{
TGmax = (a + i)->NgayTra - (a + i)->NgayMuon;
}
}
for (i = 0; i < n; i++)
{
if ((a + i)->NgayTra - (a + i)->NgayMuon == TGmax)
{
printf("%s %d %d\n", (a + i)->HoVaTen, (a + i)->MSSV,
(a + i)->NgayTra - (a + i)->NgayMuon);
}
}
lOMoARcPSD| 58490434
// phương Æn 2 c u d
for (i = 0; i < n; i++)
{
(a + i)->TG = (a + i)->NgayTra - (a + i)->NgayMuon;
}
int TGmax = (a + 0)->TG;
for (i = 0; i < n; i++)
{
if ((a + i)->TG > TGmax)
{
TGmax = (a + i)->TG;
}
}
for (i = 0; i < n; i++)
{
if ((a + i)->TG == TGmax)
{
printf("%s %d %d\n", (a + i)->HoVaTen, (a + i)->MSSV,
(a + i)->TG);
}
}
free(a);
}
_getch();
}

Preview text:

lOMoAR cPSD| 58490434
Chương 8 KIỂU CẤU TRÚC //Quản l sinh viŒn #include #include struct QLSV { char HoTen[30]; float L1, L2, OL, TB; }; void main() { struct QLSV LTC[65]; int i; for (i = 0; i < 65; i++) {
printf("Nhap thong tin cua SV thu %d:\n", i + 1); printf("Ho va ten: "); gets_s(LTC[i].HoTen); printf("Diem lan 1: ");
scanf_s("%f", &LTC[i].L1); printf("Diem lan 2: ");
scanf_s("%f", &LTC[i].L2); printf("Diem online: ");
scanf_s("%f", &LTC[i].OL); fflush(stdin); }
printf("%-20s %-10s %-10s %-10s %-10s\n", "Ho va Ten", "DienLan1", "DiemLan2", "DiemOL", "DiemTB"); for (i = 0; i < 65; i++) {
LTC[i].TB = LTC[i].L1*0.4 + LTC[i].L2*0.4 + LTC[i].OL*0.2;
printf("%-20s %-10.2f %-10.2f %-10.2f %- 10.2f\n", LTC[i].HoTen,
LTC[i].L1, LTC[i].L2, LTC[i].OL, LTC[i].TB); } lOMoAR cPSD| 58490434 _getch(); } //Quản l thiết bị #include #include struct QLTB { int MaTB, Nam, TT; char TenTB[30]; }; void main() { int i; struct QLTB TB[3]; for (i = 0; i < 3; i++)
{ printf("Nhap thong tin thiet bi thu %d:\n", i + 1);
printf("Ma thiet bi: "); scanf_s("%d",
&TB[i].MaTB); fflush(stdin); printf("Ten thiet bi: "); gets_s(TB[i].TenTB); printf("Nam san xuat: "); scanf_s("%d", &TB[i].Nam); do{
printf("Trang thai thiet bi: "); scanf_s("%d", &TB[i].TT);
} while ((TB[i].TT != 1) && (TB[i].TT != 0)); } int k = 0; for (i = 0; i < 3; i++) { if (TB[i].TT == 1) { lOMoAR cPSD| 58490434 k = 1;
printf("%d %s\n", TB[i].MaTB, TB[i].TenTB); } } if (k == 0) {
printf("Tat ca cac thiet bi da tat\n"); } for (i = 0; i < 3; i++) { if (TB[i].Nam < 2020) {
printf("%d %s\n", TB[i].MaTB, TB[i].TenTB); } } _getch(); } //Quản l 100 nh n viŒn #include #include struct NHANVIEN { char manv[5]; char tennv[20]; char diachi[100]; float hsluong; int sncong; }; void main() { lOMoAR cPSD| 58490434 struct NHANVIEN NV[100]; int i, n; do{
printf("Nhap so luong nhan vien: "); scanf_s("%d", &n); } while
(n <= 0); for (i = 0; i < n; i++)
{ printf("Nhap thong tin nv thu %d:\n", i + 1);
fflush(stdin); printf("Ma nhan vien: "); gets_s(NV[i].manv); printf("Ten nhan vien: "); gets_s(NV[i].tennv); printf("Dia chi: "); gets_s(NV[i].diachi); do{ printf("He so luong: ");
scanf_s("%f", &NV[i].hsluong);
} while (NV[i].hsluong <= 0); do{ printf("So ngay cong: ");
scanf_s("%d", &NV[i].sncong);
} while (NV[i].sncong < 0); } for (i = 0; i < n; i++) { if (NV[i].sncong>20) {
printf("%s %s %s %f %d\n", NV[i].manv, NV[i].tennv,
NV[i].diachi, NV[i].hsluong, NV[i].sncong); } } _getch(); } //Quản l n nh n viŒn lOMoAR cPSD| 58490434 #include #include #include struct NHANVIEN { char manv[5]; char tennv[20]; char diachi[100]; float hsluong; int sncong; }; void main() { struct NHANVIEN *a; int i, n; do{
printf("Nhap so luong nhan vien: "); scanf_s("%d", &n); } while (n <= 0);
a = (NHANVIEN*)malloc(n*sizeof(NHANVIEN)); if (a == NULL) {
printf("Cap phat khong thanh cong"); } else { for (i = 0; i < n; i++) {
printf("Nhap thong tin nv thu %d:\n", i + 1); fflush(stdin); printf("Ma nhan vien: "); gets_s((a+i)->manv); printf("Ten nhan vien: lOMoAR cPSD| 58490434
"); gets_s((a + i)->tennv); printf("Dia chi: "); gets_s((a + i)->diachi); do{ printf("He so luong: ");
scanf_s("%f", &(a + i)->hsluong);
} while ((a + i)->hsluong <= 0); do{ printf("So ngay cong: ");
scanf_s("%d", &(a + i)->sncong);
} while ((a + i)->sncong < 0); } for (i = 0; i < n; i++) {
if ((a + i)->sncong > 20) {
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)- >tennv,
(a + i)->diachi, (a + i)->hsluong, (a + i)- >sncong); } } free(a); } _getch(); }
//Quản l n nh n viŒn c viết h m #include #include #include struct NHANVIEN { lOMoAR cPSD| 58490434 char manv[5]; char tennv[20]; char diachi[100]; float hsluong; int sncong; };
void NhapStruct(struct NHANVIEN *a, int n) { int i; for (i = 0; i < n; i++) {
printf("Nhap thong tin nv thu %d:\n", i + 1); fflush(stdin); printf("Ma nhan vien: "); gets_s((a + i)->manv); printf("Ten nhan vien: "); gets_s((a + i)- >tennv); printf("Dia chi: "); gets_s((a + i)->diachi); do{ printf("He so luong: ");
scanf_s("%f", &(a + i)->hsluong);
} while ((a + i)->hsluong <= 0); do{ printf("So ngay cong: ");
scanf_s("%d", &(a + i)->sncong);
} while ((a + i)->sncong < 0); } }
void TimKiem(struct NHANVIEN *a, int n) { int i; for (i = 0; i < n; i++) { if ((a + i)->sncong>20) lOMoAR cPSD| 58490434 {
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)- >tennv,
(a + i)->diachi, (a + i)->hsluong, (a + i)- >sncong); } } }
//H m t m kiếm in ra th ng tin nh n viŒn c số ng y c ng lớn hơn k ng y
void TimKiem2(struct NHANVIEN *a, int n, int k) { int i; for (i = 0; i < n; i++) {
if ((a + i)->sncong > k) {
printf("%s %s %s %f %d\n", (a + i)->manv, (a + i)- >tennv,
(a + i)->diachi, (a + i)->hsluong, (a + i)- >sncong); } } } void main() { struct NHANVIEN *p; int i, n; do{
printf("Nhap so luong nhan vien: "); scanf_s("%d", &n); } while (n <= 0); p =
(NHANVIEN*)malloc(n*sizeof(NHANVIE N)); if (p == NULL) lOMoAR cPSD| 58490434 {
printf("Cap phat khong thanh cong"); } else { NhapStruct(p, n); TimKiem(p, n); free(p); } _getch(); } //Quản l thư viện #include #include #include struct QuanLyThuVien { char HoVaTen[20]; int MSSV; char TenSach[50]; int NgayMuon, NgayTra; int TG; };
void TimKiem(struct QuanLyThuVien *a, int n, int b) { int i; for (i = 0; i < n; i++) { if ((a + i)->MSSV == b) { lOMoAR cPSD| 58490434
printf("%s %d %s %d %d\n", (a + i)->HoVaTen, (a + i)- >MSSV,
(a + i)->TenSach, (a + i)->NgayMuon, (a + i)->NgayTra); } } } void main() { struct QuanLyThuVien *a; int i, n; do{
printf("Nhap so luong sinh vien: "); scanf_s("%d", &n); } while (n <= 0);
a = (QuanLyThuVien*)malloc(n*sizeof(QuanLyThuVien)); if (a == NULL) {
printf("Cap phat khong thanh cong"); } else { for (i = 0; i < n; i++) {
printf("Nhap thong tin sv thu %d:\n", i + 1); fflush(stdin); printf("Ho va ten: "); gets_s((a + i)->HoVaTen); printf("MSSV: "); scanf_s("%d", &(a + i)- >MSSV); fflush(stdin); printf("Ten sach: "); lOMoAR cPSD| 58490434 gets_s((a + i)->TenSach); do{ printf("Ngay muon: ");
scanf_s("%d", &(a + i)->NgayMuon);
} while (((a + i)->NgayMuon < 0) || ((a+i)->NgayTra>31)); do{ printf("Ngay tra: ");
scanf_s("%d", &(a + i)->NgayTra);
} while ((a + i)->NgayTra < (a + i)->NgayMuon); } int MS; printf("Nhap ma so can tim: "); scanf_s("%d", &MS);
TimKiem(a, n, MS);//gọi h m // phương Æn 1 c u d
int TGmax = ((a+0)->NgayTra-(a+0)->NgayMuon); for (i = 0; i < n; i++) {
if ((a + i)->NgayTra - (a + i)->NgayMuon > TGmax) {
TGmax = (a + i)->NgayTra - (a + i)->NgayMuon; } } for (i = 0; i < n; i++) {
if ((a + i)->NgayTra - (a + i)->NgayMuon == TGmax) {
printf("%s %d %d\n", (a + i)->HoVaTen, (a + i)->MSSV,
(a + i)->NgayTra - (a + i)->NgayMuon); } } lOMoAR cPSD| 58490434 // phương Æn 2 c u d for (i = 0; i < n; i++) {
(a + i)->TG = (a + i)->NgayTra - (a + i)->NgayMuon; } int TGmax = (a + 0)->TG; for (i = 0; i < n; i++) {
if ((a + i)->TG > TGmax) { TGmax = (a + i)->TG; } } for (i = 0; i < n; i++) { if ((a + i)->TG == TGmax) {
printf("%s %d %d\n", (a + i)->HoVaTen, (a + i)->MSSV, (a + i)->TG); } } free(a); } _getch(); }