











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", <C[i].L1); printf("Diem lan 2: ");
scanf_s("%f", <C[i].L2); printf("Diem online: ");
scanf_s("%f", <C[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(); }