// 43VangVanQuyn.cpp : This file contains the 'main' function. Program execution begins and ends there.//#include <iostream>#include <string.h>#include <iomanip>using namespace std;class SINHVIEN {protected: char maso[10], hotendem[30], ten[20], khoa[20]; double diemanh, diemtincs;public: void Nhap(); void Indulieu();};class NGANHTOAN :SINHVIEN {private: double diemgt, diemds;public: void Nhap(); void Indulieu(); double Dtb(); string Xeploai();};class NGANHTIN :SINHVIEN {private: double diemnnc, diemctdl;public: void Nhap(); void Indulieu(); double Dtb(); string Xeploai();};void SINHVIEN::Nhap() { cout << "Ma so: "; cin.getline(this->maso, 10); cout << "Ho ten dem: "; cin.getline(this->hotendem, 30); cout << "Ten: "; cin.getline(this->ten, 20); cout << "khoa: "; cin.getline(this->khoa, 20); cout << "Diem tieng Anh: "; cin >> this->diemanh; cout << "Diem tin co so: "; cin >> this->diemtincs;}void SINHVIEN::Indulieu() { cout << setw(10) << left << maso << setw(25) << left << hotendem << setw(10) << left << ten << setw(15) << left << khoa << setw(10) << left << setprecision(2) << fixed << diemanh << setw(10) << left << setprecision(2) << fixed << diemtincs;}void NGANHTOAN::Nhap() { this->SINHVIEN::Nhap(); cout << "Diem giai tich: "; cin >> this->diemgt; cout << "Diem dai so: "; cin >> this->diemds;}void NGANHTOAN::Indulieu() { this->SINHVIEN::Indulieu(); cout << setw(10) << left << setprecision(2) << fixed << diemgt << setw(10) << left << setprecision(2) << fixed << diemds << setw(10) << left << setprecision(2) << fixed << Dtb() << setw(20) << left << Xeploai();}double NGANHTOAN::Dtb() { double dtb = 0; dtb = this->diemanh + this->diemtincs; dtb = dtb + this->diemgt + this->diemds; dtb = dtb / 4; return dtb;}string NGANHTOAN::Xeploai() { string kq = ""; double dtb = this->Dtb(); if (dtb > 8.0) { kq = "Gioi"; } else if ((dtb >= 6.5) && (dtb < 8.0)) { kq = "Kha"; } else if ((dtb >= 5.0) && (dtb < 6.5)) { kq = "Trung binh"; } else { kq = "Yeu"; } return kq;}void NGANHTIN::Nhap() { this->SINHVIEN::Nhap(); cout << "Diem NN C: "; cin >> this->diemnnc; cout << "Diem CTDL: "; cin >> this->diemctdl;}void NGANHTIN::Indulieu() { this->SINHVIEN::Indulieu(); cout << setw(10) << left << setprecision(2) << fixed << diemnnc << setw(10) << left << setprecision(2) << fixed << diemctdl << setw(10) << left << setprecision(2) << fixed << Dtb() << setw(20) << left << Xeploai();}double NGANHTIN::Dtb() { double dtb = 0; dtb = this->diemanh + this->diemtincs; dtb = dtb + this->diemnnc + this->diemctdl; dtb = dtb / 4; return dtb;}string NGANHTIN::Xeploai() { string kq = ""; double dtb = this->Dtb(); if (dtb > 8.0) { kq = "Gioi"; } else if ((dtb >= 6.5) && (dtb < 8.0)) { kq = "Kha"; } else if ((dtb >= 5.0) && (dtb < 6.5)) { kq = "Trung binh"; } else { kq = "Yeu"; } return kq;}class DS_SVTOAN{private: NGANHTOAN* ds = new NGANHTOAN[100]; int i = 0; double dtb = 0; int gioi = 0, kha = 0, tb = 0, yeu = 0;public: void Nhap() { char ok; while (i < 100) { ds[i].Nhap(); i++; cout << "Ban co tiep tuc nhap khong? (C/K): "; cin >> ok; cin.ignore(); if (ok == 'k' || ok == 'K') break; } } void Inketqua() { cout << "Ket qua nganh toan:" << endl; cout << setw(10) << left << "ma so" << setw(25) << left << "Ho va" << setw(10) << left << "Ten" << setw(15) << left << "Khoa" << setw(10) << left << "T. Anh" << setw(10) << left << "Tin CS" << setw(10) << left << "Giai tich" << setw(10) << left << "Dai so" << setw(10) << left << "DTB" << setw(20) << left << "Xep loai" << endl; int j = 0; for (int j = 0; j < i; j++) { //Thong ke xep loai dtb = ds[j].Dtb(); if (dtb > 8.0) { gioi++; } else if ((dtb >= 6.5) && (dtb < 8.0)) { kha++; } else if ((dtb >= 5.0) && (dtb < 6.5)) { tb++; } else { yeu++; } ds[j].Indulieu(); cout << endl; } //In thong ke xep loai cout << "Gioi: " << setw(20) << left << gioi << "Kha: " << setw(20) << left << kha << "Tb: " << setw(20) << left << tb <<"Yeu: " << setw(20) << left << yeu << endl; }};class DS_SVTIN{private: NGANHTIN* ds = new NGANHTIN[100]; int i = 0; double dtb = 0; int gioi = 0, kha = 0, tb = 0, yeu = 0;public: void Nhap() { char ok; while (i < 100) { ds[i].Nhap(); i++; cout << "Ban co tiep tuc nhap khong? (C/K): "; cin >> ok; cin.ignore(); if (ok == 'k' || ok == 'K') break; } } void Inketqua() { cout << "Ket qua nganh tin:" << endl; cout << setw(10) << left << "ma so" << setw(25) << left << "Ho va" << setw(10) << left << "Ten" << setw(15) << left << "Khoa" << setw(10) << left << "T. Anh" << setw(10) << left << "Tin CS" << setw(10) << left << "NNLT C" << setw(10) << left << "CTDL" << setw(10) << left << "DTB" << setw(20) << left << "Xep loai" << endl; int j = 0; for (int j = 0; j < i; j++) { //Thong ke xep loai dtb = ds[j].Dtb(); if (dtb > 8.0) { gioi++; } else if ((dtb >= 6.5) && (dtb < 8.0)) { kha++; } else if ((dtb >= 5.0) && (dtb < 6.5)) { tb++; } else { yeu++; } ds[j].Indulieu(); cout << endl; } //In thong ke xep loai cout << "Gioi: " << setw(20) << left << gioi << "Kha: " << setw(20) << left << kha << "Tb: " << setw(20) << left << tb << "Yeu: " << setw(20) << left << yeu << endl; }};int main(){ DS_SVTOAN dssvtoan; cout << "Nhap danh sach sinh vien nganh toan:" << endl; dssvtoan.Nhap(); DS_SVTIN dssvtin; cout << "Nhap danh sach sinh vien nganh tin:" << endl; dssvtin.Nhap(); dssvtoan.Inketqua(); dssvtin.Inketqua(); return 0;}
Tác giả: Vàng Văn Quyn
Những tin cũ hơn
- Click vào nút hiển thị ngày trong tuần hoặc tháng âm lịch để xem chi tiết
- Màu đỏ: Ngày tốt
- Xanh lá: Đầu tháng âm lịch
- Màu vàng: Ngày hiện tại