#include "stdafx.h" #pragma once #include #include #include #include using namespace std; ///////////ramz: www.ginoo.ir us:1 ////////////////////// class dars { long int kod,vahed; string namedars; public: void setkod(long int a){kod=a;} void setvahed(long int a){vahed=a;} void setnamedars(string a){namedars=a;} string getnamedars(){return namedars;} long int getvahed(){return vahed;} long int grtkod(){return kod;} dars(string="no",long int=0,long int=0); }; dars::dars(string a,long int s,long int d){ setnamedars(a); setkod(d); setvahed(s); } class darsdaneshjo:public dars{ long int num; static int majmo; public: int majmu; void setnum(long int a){num=a;} long int getnum(){return num;} darsdaneshjo(long int=0,string="no",long int=0,long int=0); }; int darsdaneshjo::majmo=0; darsdaneshjo::darsdaneshjo(long int r,string a,long int s,long int d):dars(a,s,d){ setnum(r); majmu=0; } class tarikh { int day; int month; int year; public: void setday(int a){day=a;} void setmonth(int s){month=s;} void setyear(int a){year=a;} int getyear()const{return year;} int getday()const{return day;} int getmonth(){return month;} tarikh(int=1371,int=12,int=2); }; tarikh::tarikh(int a ,int b,int c){setday(c);setmonth(b);setday(a);} class employee { char name[10]; char lastname[15]; char fname[10]; tarikh s; public: employee(string="",string="",string="",int=0,int=0,int=0); string getname()const{return name;} string getlname()const{return lastname;} string getfname()const{return fname;} void setday1(int a){s.setday(a);} void setmonth1(int a){s.setmonth(a);} void setyear1(int a){s.setyear(a);} int getday1(){int a=s.getday(); return a;} int getmonth1(){return s.getmonth();} int getyear1()const{return s.getyear();} void setname(string a){ int tool=a.size(); tool=(tool<10?tool:9); a.copy(name,tool); name[tool]='\0';} void setlastname(string a){ int tool=a.size(); tool=(tool<10?tool:9); a.copy(lastname,tool); lastname[tool]='\0';} void setfname(string a){ int tool=a.size(); tool=(tool<10?tool:9); a.copy(fname,tool); fname[tool]='\0';} }; employee::employee(string s,string d,string z,int q,int w,int e):s(q,w,e){ setname(s); setlastname(d); setfname(z); } class karmand:public employee{ long int perseneli; public: karmand(string="",string="",string="",int=0,int=0,int=0,long int=0); void setperseneli(long int a){ perseneli=a;} long int getperseneli(){return perseneli;} }; karmand::karmand(string s,string d,string z,int q,int w,int e,long int l):employee(s,d,z,q,w,e){ setperseneli(l);} class daneshjoo:public employee { long int num; //char name[10]; //char lastname[15]; //char fname[10]; char reshtename[15]; int salvorod; //tarikh s; public: daneshjoo(long int=0,string="no",string="no",string="no",string="no",int=90,int=1371,int=12,int=2); void setnum(long int x){num=x;} long int getnum()const{return num;} //string getname()const{return name;} //string getlname()const{return lastname;} //string getfname()const{return fname;} string getreshte()const{return reshtename;} int getsall()const{return salvorod;} ~daneshjoo(){} //void setday1(int a){s.setday(a);} //void setmonth1(int a){s.setmonth(a);} //void setyear1(int a){s.setyear(a);} //int getday1(){int a=s.getday(); return a;} //int getmonth1(){return s.getmonth();} // int getyear1()const{return s.getyear();} // void setname(string a){ // int tool=a.size(); //tool=(tool<10?tool:9); //a.copy(name,tool); // name[tool]='\0';} // void setlastname(string a){ // int tool=a.size(); // tool=(tool<10?tool:9); // a.copy(lastname,tool); // lastname[tool]='\0';} // void setfname(string a){ // int tool=a.size(); // tool=(tool<10?tool:9); // a.copy(fname,tool); // fname[tool]='\0';} void setreshtename(string a){ int tool=a.size(); tool=(tool<10?tool:9); a.copy(reshtename,tool); reshtename[tool]='\0';} void setsalevorod(int x){salvorod=x;} }; //int daneshjoo::shomareda=1; daneshjoo::daneshjoo(long int a,string s,string d,string z,string x,int q,int y,int u,int i):employee(s,d,z,y,u,i){ setnum(a); // setname(s); // setlastname(d); // setfname(z); setreshtename(x); setsalevorod(q); } void print (ostream&,daneshjoo &); void karmandee(); void doros(long int); void riasat(); void tarifedars(); void afzodankarmand(); void entekhabvahed(long int); void hazfkarmand(); void portal(); void afzodan(); int menu(); int meno(); void serch(); void viraiesh(); void hazf(); int main() {system("color 30"); string us; long int pas; cout<<" --------------******* be name khoda *******------------"<<"\n""\n"; cout<<" --------- sistem sabte etelaat daneshjoie ---------"<<"\n""\n"; cout<<" -------------- tahie va tanzim : ---------"<<"\n""\n"; cout<<" ----************* www.Ginoo.ir **********----"<<"\n""\n"; cout<<"baraye vorod username va pasword ra vared konid.""\n""\n"; cout<<"username : "; cin>>us; cout<<"pasword : "; cin>>pas; if(us=="www.ginoo.ir"&&pas==1){ for(;;) { std::system("cls"); int s=meno(); switch(s){ case 3: portal(); break; case 2: karmandee(); break; case 1: riasat(); break; }} } else { cout<<" username ya pasword dorost nemibashad! "; cin.get(); cin.get(); exit(0); } } void portal(){ long int shomare; int r=0; std::system("cls"); ifstream in("daneshjoo.dat",ios::in); // fstream y("darsdaneshjo.dat",ios::in); cout<<"shomare daneshjoie ra vared konid."; cin>>shomare; daneshjoo uzer; in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()) { r=1; } in.read((char*)(&uzer),sizeof(daneshjoo)); } in.close(); if(r==1){ std::system("cls"); cout<<"entekhab vahed 1:"<<"\n\n"; cout<<"dorose entekhab shode 2:"<<"\n\n"; cout<<"virayesh moshakhasat 3:"<<"\n\n"; int x; cin>>x; switch(x){ case 1: entekhabvahed(shomare); break; case 2: doros(shomare); break; case 3:{ std::system("cls"); cout<<" --------****** viraiesh daneshjo ******---------""\n""\n"; fstream out("temp.dat",ios::out); ifstream in("daneshjoo.dat",ios::in); if(!in||!out) { cout<<"file baz nashod."<<"\n"; exit(1); } int sall; int h,g=0; int day,month,year; string name; string lastname; string fname; string reshte; daneshjoo uzer; cin.ignore(); in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()){ g=1; cout<<"taghire nam 1:""\n"; cout<<"taghire namekhanevadegi 2:""\n"; cout<<"taghire namepedar 3:""\n"; cout<<"taghire reshte tahsili 4:""\n"; cout<<"taghire sale vorod 5:""\n"; cout<<"taghire hame moshakhasat 6:""\n"; cout<<"khoroj! 0:""\n"; cin>>h; switch(h){ case 0: break; case 6: cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; cout<<"\n"<<"name pedar : "; cin>>fname; cout<<"\n"<<"reshte tahsili :"; cin>>reshte; cout<<"\n"<<"sal vorod :"; cin>>sall; while(sall<87||sall>92){ cout<<"sale vorud beine 87-92 ."; cin>>sall;} cout<<"tarikh tavalod:"<<"\n"<<"day :"; cin>>day; while(day>31) { cout<<"\n""tedade rozha nemitavanad bish az 30 bashad!"; cin>>day;} cout<<"month :"; cin>>month; while(month>12||month<0){ cout<<"\n""tedade mah ha kamtar az 12 ast! "; cin>>month;} cout<<"year :"; cin>>year; while(year<1360 || year>1380) { cout<<"\n""sale vorud bayad beine 1360 va 1380 bashad!"; cin>>year;} cin.ignore(); uzer.setnum(shomare); uzer.setlastname(lastname); uzer.setfname(fname); uzer.setreshtename(reshte); uzer.setsalevorod(sall); uzer.setday1(day); uzer.setmonth1(month); uzer.setyear1(year); break; case 1: cout<<"\n""name ra vared konid : "; cin>>name; uzer.setname(name); break; case 2: cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; uzer.setlastname(lastname); break; case 3: cout<<"\n"<<"name pedar : "; cin>>fname; uzer.setfname(fname); break; case 4: cout<<"\n"<<"reshte tahsili :"; cin>>reshte; uzer.setreshtename(reshte); break; case 5: cout<<"\n"<<"sal vorod :"; cin>>sall; uzer.setsalevorod(sall); break;} } out.write((char*)(&uzer),sizeof(daneshjoo)); in.read((char*)(&uzer),sizeof(daneshjoo)); } if(g==0){ cout<<"\n""in shomare sabt nashode ast! "; cin.get(); } in.close(); out.close(); remove("daneshjoo.dat"); rename("temp.dat","daneshjoo.dat"); cin.get(); } break; } } } void doros(long int shomare) { int g=0; std::system("cls"); ifstream in("daneshjoo.dat",ios::in); daneshjoo uzer; in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()) { cout<<"\n""moshkhasate daneshjoo:""\n"; print(cout,uzer); g=1; } in.read((char*)(&uzer),sizeof(daneshjoo)); } in.close(); if(g==0){ cout<<"daneshjoo sabt nashode ast!"; cin.get(); } if(g==1){ ifstream y("darsdaneshjo.dat",ios::in); cout<<"\n"<>a; cout<<"ramze vorod khod ra vared konid(shomare perseneli): "; cin>>w; in.read((char*)(&r),sizeof(karmand)); while(in&& !in.eof()) { if(w==r.getperseneli() && a==r.getlname()) { cout<<"\n""etelaat sahih ast.baraye vorod enter ra feshar dahid.""\n"; cin.get(); cin.get(); t=1; } in.read((char*)(&r),sizeof(karmand)); } if(t==1){ in.close(); std::system("cls"); int x=menu(); switch(x){ case 1: afzodan(); break; case 3: serch(); break; case 2: viraiesh(); break; case 4: hazf(); break; case 5: break; case 6: tarifedars(); break; }} else{ cout<<"in karmand vojod nadarad.(ramze vorod ya username eshtebah mibashad)"; cin.get(); cin.get(); } } void entekhabvahed(long int shomare){ long int k=0; int g=0,i=0,h=0; int as[25]; std::system("cls"); ifstream in("daneshjoo.dat",ios::in); fstream y("darsdaneshjo.dat",ios::out); ifstream x("dars.dat",ios::in); if(!x) { cout<<"file baz nashod."<<"\n"; exit(1); } dars one; daneshjoo uzer; //cout<<"shomare daneshjoie ra vared konid: "; //cin>>shomare; in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()) { cout<<"\n""moshkhasate daneshjoo:""\n"; print(cout,uzer); g=1; } in.read((char*)(&uzer),sizeof(daneshjoo)); } if(g==0){ cout<<"daneshjoo sabt nashode ast!"; cin.get(); } if(g==1){ cout<<"\n"<<"\n"<<" name dars tedade vahed kode dars"<<"\n"<<"\n"; x.read((char*)(&one),sizeof(dars)); while(x&& !x.eof()) { cout<<" "<>a; for(int d=0;d<=i;d++) { if(as[d]==a) { h=1; fg.read((char*)(&one),sizeof(dars)); while(fg&& !fg.eof()) { if(a==one.grtkod()){ darsdaneshjo s1(shomare,one.getnamedars(),one.getvahed(),one.grtkod()); // s1.majmu=s1.majmu +one.getvahed(); cout<<"\ndars entekhab shod"<<"\n"; k=k+one.getvahed(); y.write((char*)(&s1),sizeof(darsdaneshjo)); } fg.read((char*)(&one),sizeof(dars)); } fg.close(); as[d]=0; break; } } if(h==0){ cout<<"\nin dars entekhab shode ast."; } h=0; } in.close(); y.close(); cin.get(); cin.get(); } } void riasat(){ long int pas; string us; std::system("cls"); cout<<"baraye vorod username va pasword ra vared konid.""\n""\n"; cout<<"username : "; cin>>us; cout<<"pasword : "; cin>>pas; if(us=="amin"&&pas==2111){ cout<<"eejad karman 1:"<<"\n"<<"\n"<<"hazfe karmand 2:"<<"\n"<<"\n"; cout<<"bargasht 0:"<<"\n"; int r; cin>>r; switch(r){ case 1: afzodankarmand(); break; case 2: hazfkarmand(); break; case 3: break;} } } int meno(){ cout<<" riasate markaz 1:"<<"\n"<<"\n"; cout<<" karshenase amozesh 2:"<<"\n"<<"\n"; cout<<" portale daneshjoie 3:"<<"\n"<<"\n"; int e; cin>>e; return e; } int menu() { cout<<"afzodane daneshjoo 1:"<<"\n"<>x; return x; } void tarifedars(){ std::system("cls"); cout<<" ---- tarife dars ----"<<"\n"<<"\n"; fstream sd("dars.dat",ios::app); long int kod,vahed; string name; int a; do{ std::system("cls"); cout<<" ---- tarife dars ----"<<"\n"<<"\n"; dars one; cout<<" name dars ra vared konid: "; cin>>name; cout<<" tedad vahed ra vared konid: "; cin>>vahed; cout<<" kod dars ra vared konid: "; cin>>kod; one.setkod(kod); one.setnamedars(name); one.setvahed(vahed); sd.write((char*)(&one),sizeof(dars)); cout<<" dars tarif shod.(barye tarife mojadad adade 1 ra vared koni):"; cin>>a; } while(a==1); sd.close(); cin.get(); } void hazfkarmand() { int y=0; long int perseneli; std::system("cls"); fstream out("temp.dat",ios::app); ifstream in("karmand.dat",ios::in); karmand s1; cout<<"shomare perseneli karmand ra vared koni:"; cin>>perseneli; in.read((char*)(&s1),sizeof(karmand)); while(in&& !in.eof()) { if(perseneli==s1.getperseneli()) { y++; s1.setperseneli(-1); cout<<"karmand ba movafaghiat hazf shod."; cin.ignore(); } out.write((char*)(&s1),sizeof(karmand)); in.read((char*)(&s1),sizeof(karmand)); } in.close(); out.close(); remove("karmand.dat"); rename("temp.dat","karmand.dat"); if(y==0) cout<<" karmand yaft nashod!"; cin.get(); cin.get(); std::system("cls"); cout<<"eejad karman 1:"<<"\n"<<"\n"<<"hazfe karmand 2:"<<"\n"<<"\n"; cout<<"bargasht 0:"<<"\n"; int r; cin>>r; switch(r){ case 1: afzodankarmand(); break; case 2: hazfkarmand(); break; case 3: break;} } void afzodankarmand() { std::system("cls"); int day; int month; long int perseneli; int year; string name; string lastname; string fname; fstream sd("karmand.dat",ios::app); cout<<" shomare perseneli ra vared konid :"; cin>>perseneli; cout<<"\n""name ra vared konid : "; cin>>name; cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; cout<<"\n"<<"name pedar : "; cin>>fname; cout<<"tarikh tavalod:"<<"\n"<<"day :"; cin>>day; while(day>31) { cout<<"\n""tedade rozha nemitavanad bish az 30 bashad!"; cin>>day;} cout<<"month :"; cin>>month; while(month>12||month<0){ cout<<"\n""tedade mah ha kamtar az 12 ast! "; cin>>month;} cout<<"year :"; cin>>year; while(year<1330 || year>1380) { cout<<"\n""sale vorud bayad beine 1360 va 1380 bashad!"; cin>>year;} karmand s(name,lastname,fname,day,month,year,perseneli); sd.write((char*)(&s),sizeof(karmand)); cout<<"\n"<<"karmand ba movafaghiat eejad shod."<<"\n"<<"\n"; cout<<"ramze vorode karmand: "<>shomare; cout<<"\n""name ra vared konid : "; cin>>name; cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; cout<<"\n"<<"name pedar : "; cin>>fname; cout<<"\n"<<"reshte tahsili :"; cin>>reshte; cout<<"\n"<<"sal vorod :"; cin>>sall; while(sall<87||sall>92){ cout<<"sale vorud beine 87-92 ."; cin>>sall;} cout<<"tarikh tavalod:"<<"\n"<<"day :"; cin>>day; while(day>31) { cout<<"\n""tedade rozha nemitavanad bish az 30 bashad!"; cin>>day;} cout<<"month :"; cin>>month; while(month>12||month<0){ cout<<"\n""tedade mah ha kamtar az 12 ast! "; cin>>month;} cout<<"year :"; cin>>year; while(year<1360 || year>1380) { cout<<"\n""sale vorud bayad beine 1360 va 1380 bashad!"; cin>>year;} cin.ignore(); uzer.setnum(shomare); uzer.setname(name); uzer.setlastname(lastname); uzer.setfname(fname); uzer.setreshtename(reshte); uzer.setsalevorod(sall); uzer.setday1(day); uzer.setmonth1(month); uzer.setyear1(year); sd.write((char *)(&uzer),sizeof(daneshjoo)); cout<<"daneshjoo ba movafaghiat sabt shod.""\n""\n""shomare daneshjoie : "<>shomare; cin.ignore(); in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()) { cout<<"\n""moshkhasate daneshjoo:""\n"; print(cout,uzer); g++; } in.read((char*)(&uzer),sizeof(daneshjoo)); } if(g==0) cout<<"daneshjoo yaft nashod!"; cin.get(); } void viraiesh() { std::system("cls"); cout<<" --------****** viraiesh daneshjo ******---------""\n""\n"; fstream out("temp.dat",ios::out); ifstream in("daneshjoo.dat",ios::in); if(!in||!out) { cout<<"file baz nashod."<<"\n"; exit(1); } long int shomare; int sall; int h,g=0; int day,month,year; string name; string lastname; string fname; string reshte; daneshjoo uzer; cout<<" shomare shenasname ra vared konid:"; cin>>shomare; cin.ignore(); in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()){ g=1; cout<<"taghire nam 1:""\n"; cout<<"taghire namekhanevadegi 2:""\n"; cout<<"taghire namepedar 3:""\n"; cout<<"taghire reshte tahsili 4:""\n"; cout<<"taghire sale vorod 5:""\n"; cout<<"taghire hame moshakhasat 6:""\n"; cout<<"khoroj! 0:""\n"; cin>>h; switch(h){ case 0: break; case 6: cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; cout<<"\n"<<"name pedar : "; cin>>fname; cout<<"\n"<<"reshte tahsili :"; cin>>reshte; cout<<"\n"<<"sal vorod :"; cin>>sall; while(sall<87||sall>92){ cout<<"sale vorud beine 87-92 ."; cin>>sall;} cout<<"tarikh tavalod:"<<"\n"<<"day :"; cin>>day; while(day>31) { cout<<"\n""tedade rozha nemitavanad bish az 30 bashad!"; cin>>day;} cout<<"month :"; cin>>month; while(month>12||month<0){ cout<<"\n""tedade mah ha kamtar az 12 ast! "; cin>>month;} cout<<"year :"; cin>>year; while(year<1360 || year>1380) { cout<<"\n""sale vorud bayad beine 1360 va 1380 bashad!"; cin>>year;} cin.ignore(); uzer.setnum(shomare); uzer.setlastname(lastname); uzer.setfname(fname); uzer.setreshtename(reshte); uzer.setsalevorod(sall); uzer.setday1(day); uzer.setmonth1(month); uzer.setyear1(year); break; case 1: cout<<"\n""name ra vared konid : "; cin>>name; uzer.setname(name); break; case 2: cout<<"\n"<<"name khanevadegi ra vared konid :"; cin>>lastname; uzer.setlastname(lastname); break; case 3: cout<<"\n"<<"name pedar : "; cin>>fname; uzer.setfname(fname); break; case 4: cout<<"\n"<<"reshte tahsili :"; cin>>reshte; uzer.setreshtename(reshte); break; case 5: cout<<"\n"<<"sal vorod :"; cin>>sall; uzer.setsalevorod(sall); break;} } out.write((char*)(&uzer),sizeof(daneshjoo)); in.read((char*)(&uzer),sizeof(daneshjoo)); } if(g==0){ cout<<"\n""in shomare sabt nashode ast! "; cin.get(); } in.close(); out.close(); remove("daneshjoo.dat"); rename("temp.dat","daneshjoo.dat"); cin.get(); } void hazf() { std::system("cls"); cout<<" ------********** hazfe daneshjo **********-------""\n""\n"; long int shomare; int o=0; ifstream in("daneshjoo.dat",ios::in); fstream out("temp.dat",ios::out); if(!in) { cout<<"file baz nashod."<<"\n"; exit(1); } daneshjoo uzer; cout<<"shomare shenasname ra vared konid:"; cin>>shomare; cin.ignore(); in.read((char*)(&uzer),sizeof(daneshjoo)); while(in&& !in.eof()) { if(shomare==uzer.getnum()) { o=1; uzer.setnum(-1); cout<<"daneshjo ba movafaghiat hazf shod."; cin.ignore(); } out.write((char*)(&uzer),sizeof(daneshjoo)); in.read((char*)(&uzer),sizeof(daneshjoo)); } in.close(); out.close(); remove("daneshjoo.dat"); rename("temp.dat","daneshjoo.dat"); if(o==0){ cout<<" in daneshjoo sabt nashode ast. "; } cin.get(); } void print(ostream &output,daneshjoo &record) { output<<"\n""shomare shenasname : "<