còn đây là code dùng hướng đối tượng:
#include<fstream>
using namespace std;
class Nguoi{
protected :
string name="",diachi="",sdt="";
};
int a;
int maThe=1000;
class Reader:public Nguoi{
private:
int mathe;
string loaiBanDoc="";
public:
string lop="";
int namhoc;
string noiLamViec="";
string chucVu="";
string khoa="";
void inFileBanDoc();
void nhapReader(){
int b;
cout<<endl<<"Nhap ten thanh vien:";
cin.ignore();
getline(cin,name);
cout<<endl<<"Dia chi:";
getline(cin,diachi);
cout<<endl<<"So dien thoai:";
getline(cin,sdt);
cin.ignore();
this->mathe=maThe++;
lap: ;
cout<<endl<<"Chon loai ban doc:";
cout<<endl<<"1.Sinh vien."<<endl<<"2.Hoc vien cao hoc"<<endl<<"3.Giao vien."<<endl;
cin>>b;
switch(b){
case 1: loaiBanDoc="Sinh vien";
cout<<"Nhap lop:";
cin.ignore();
getline(cin,lop);
cout<< endl<<"Nam hoc:";
cin>>namhoc;goto loop1;
case 2: loaiBanDoc="Hoc vien cao hoc";
cin.ignore();
cout<<endl<<"Nhap noi cong tac:";
getline(cin,noiLamViec);goto loop1;
case 3: loaiBanDoc="Giao vien";
cin.ignore();
cout<<endl<<"NHap vao chuc vu:";
getline(cin,chucVu);
cout<<endl<<"Khoa giang day:";
getline(cin,khoa);goto loop1;
default : cout<<endl<<"Nhap lai lua chon:"<<endl;
goto lap;
}
loop1: ;
// }
// void inTT(){
cout<<endl<<"-----------------"<<endl<<loaiBanDoc<<":"<<endl<<name<<" - "<<this->mathe;
cout<<endl<<"Dia chi: "<<diachi<<endl<<"So dian thoai: "<<sdt<<endl;
switch(b){
case 1:cout<<"Lop: "<<lop<<endl<<"Nam hoc: "<<namhoc<<endl;goto loop2;
case 2:cout<<"Noi lam viec: "<<noiLamViec<<endl;goto loop2;
case 3:cout<<"Chuc vu: "<<chucVu<<endl<<"Khoa giang day:"<<khoa;goto loop2;
}
loop2:;
b=a;
//inFileBanDoc(b);
}
void setmathe(int mathe){
this->mathe=mathe;
}
int getmathe(void){
return this->mathe;
}
};
//int a=0;
void Reader::inFileBanDoc(){
ofstream fileBanDoc;
cout<<endl<<"bat dau in file:------------------------"<<endl;
fileBanDoc.open("E:\\BANDOC.DAT",ios::app);
fileBanDoc<<endl<<"-----------------"<<endl<<loaiBanDoc<<":"<<endl<<name<<" - "<<this->mathe;
fileBanDoc<<endl<<"Dia chi: "<<diachi<<endl<<"So dian thoai: "<<sdt<<endl;
if(a==1){
fileBanDoc<<"Lop: "<<lop<<endl<<"Nam hoc: "<<namhoc<<endl;fileBanDoc.close();
}
if(a==2){
fileBanDoc<<"Noi lam viec: "<<noiLamViec<<endl;fileBanDoc.close();
}
if(a==3){
fileBanDoc<<"Chuc vu: "<<chucVu<<endl<<"Khoa giang day:"<<khoa;fileBanDoc.close();
}
/* switch(a){
case 1:fileBanDoc<<"Lop: "<<lop<<endl<<"Nam hoc: "<<namhoc<<endl;fileBanDoc.close();break;
case 2:fileBanDoc<<"Noi lam viec: "<<noiLamViec<<endl;fileBanDoc.close();break;
case 3:fileBanDoc<<"Chuc vu: "<<chucVu<<endl<<"Khoa giang day:"<<khoa;fileBanDoc.close();break;
}*/
}
int main(){
int n;
Reader *nguoidoc;
cout<<"Nhap vao so thanh vien:";
cin>>n;
nguoidoc= new Reader[n];
for(int i=0;i<n;i++){
// nguoidoc[i].setmathe();
cout<<endl<<"Nhap thanh vien thu "<<i+1<<":"<<endl;
nguoidoc[i].nhapReader();
nguoidoc[i].inFileBanDoc();
//nguoidoc[i].inTT();
}
return 0;
}
bạn đọc qua hướng đối tượng trong c++ là có thể làm bài này dễ dàng, nó la lá giống struct thui.http://vietjack.com/cplusplus/lop_va_doi_tuong_trong_cplusplus.jsp