- Code:
#include<stdio.h>
#include<conio.h>
#include<iostream>
using namespace std;
class SinhVien {
private:
char mssv[8];
char* hoten;
int namsinh;
float diemtb;
public:
~SinhVien();
SinhVien();
SinhVien(const SinhVien& );
SinhVien(char*,char*,int,float);
void NhapTT(char* = "");
void InTT(char* = "");
};
SinhVien::SinhVien() {
strcpy(mssv,"");
hoten = new char[50];
strcpy(hoten,"");
namsinh = 1980;
diemtb = 0;
};
SinhVien::SinhVien(char* ms,char* ht,int ns,float d){
strcpy(mssv,ms);
hoten = new char[50];
strcpy(hoten,ht);
namsinh = ns;
diemtb = d;
};
SinhVien::~SinhVien() {
delete[] hoten; }
SinhVien::SinhVien(const SinhVien& s){
strcpy(mssv, s.mssv);
hoten = new char[50];
strcpy(hoten, s.hoten);
namsinh = s.namsinh;
diemtb = s.diemtb;
};
void SinhVien::NhapTT(char* str){
cout<<str;
cout<<"\n Ma sinh vien:";
cin>>mssv;
cout<<"\n Ten sinh vien:";
cin.ignore();
cin.getline(hoten,49);// lay nguyen dong, cho phep nhap khoang trang
cout<<"\n Nam sinh:";
cin>>namsinh;
cout<<"\n Diem TB:";
cin>>diemtb;
};
void SinhVien::InTT(char* str){
cout<<str;
cout<<"\n "<<mssv<<" : "<<hoten<<" (NS:"<<namsinh<<") Diem:"<<diemtb;
};
class LopHoc{
private:
char ML[10];
char* TL;
char NK[9];
int SS;
SinhVien* DS[200];
public:
LopHoc();
void NhapTT();
void InTT();
};
LopHoc::LopHoc(){
strcpy(ML,"");
TL=new char[50];
strcpy(TL,"");
SS=0;
}
void LopHoc::NhapTT(){
cout<<"\n\nMa lop hoc: ";
cin>>ML;
cout<<"\nTen lop hoc: ";
cin.ignore();
cin.getline(TL,49);
cout<<"\nNien khoa: ";
cin>>NK;
cout<<"\nSo luong sinh vien: ";
cin>>SS;
for(int i=0;i<SS;i++){
cout<<"\nNhap sinh vien thu "<<i+1;
DS[i]=new SinhVien();
DS[i]->NhapTT();
}
}
void LopHoc::InTT(){
cout<<"\n\nMa lop: "<<ML<<". Ten lop: "<<TL
<<". Nam hoc: "<<"("<<NK<<"). So luong sv: "<<SS<<endl;
cout<<"\nDanh sach sinh vien cua lop: \n";
for(int i=0;i<SS;i++)
DS[i]->InTT();
}
int main(){
LopHoc DSLH[100];
int SLLH;
cout<<"\nSo luong lop hoc can nhap: ";
cin>>SLLH;
for(int i=0;i<SLLH;i++){
cout<<"\nNhap thong tin lop hoc thu "<<i+1;
DSLH[i].NhapTT();
}
for(int i=0;i<SLLH;i++){
cout<<"\nThong tin lop hoc thu "<<i+1;
DSLH[i].InTT();
}
getch();
}
Cảm ơn bạn đả tham gia Diển Đàn CNTT
Nếu bạn chưa có tài khoản hãy sử dụng tên tài khoản "ACTIVE" và mật khẩu "public" !!!