#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const char CD[]="Klases1.txt";
const char CD1[]="Mokytojai.txt";
const char CD2[]="Pamokos.txt";
const char FR[]="Tvarkarastis.txt";
const int MAX = 100;
// 1 klase
class Pamoka{
private:
string klase;
string diena;
int nr;
string pamoka;
public:
void Deti(string klase, string diena, int nr, string pamoka);
string ImtiKlase(){return klase;}
string ImtiDiena(){return diena;}
int ImtiNr(){return nr;}
string ImtiPamoka(){return pamoka;}
};
void Pamoka::Deti(string klase, string diena, int nr, string pamoka){
Pamoka::klase=klase;
Pamoka::diena=diena;
Pamoka::nr=nr;
Pamoka::pamoka=pamoka;
}
// 2 klase
class Mokytojai{
private:
string savdiena;
string mokdiena;
int mokuzimtumas;
public:
void MokDeti(string savdiena, string mokdiena, int mokuzimtumas);
string ImtiSavDiena(){ return savdiena; }
string ImtiMokDiena(){ return mokdiena; }
int ImtiMokUzimtumas(){ return mokuzimtumas; }
};
void Mokytojai::MokDeti(string savdiena, string mokdiena, int mokuzimtumas){
Mokytojai::savdiena=savdiena;
Mokytojai::mokdiena=mokdiena;
Mokytojai::mokuzimtumas=mokuzimtumas;
}
// 3 klase
class Tinkamiausios{
private:
string TDienos;
int TPam;
public:
void TinkDeti(string TDienos, int TPam);
string ImtiTDienos() { return TDienos; }
int ImtiTPam () { return TPam; }
};
void Tinkamiausios::TinkDeti(string TDienos, int TPam){
Tinkamiausios::TDienos=TDienos;
Tinkamiausios::TPam=TPam;
}
void SkPamoka(const char CD[], Pamoka p[], string & klase, string & diena, int & nr, string & pamoka, int & sum);
void SkMokytojai(const char CD1[], Mokytojai m[], string & savdiena, string & mokdiena, int & mokuzimtumas, int & k);
void SkTinkamos(const char CD2[], Tinkamiausios t[], string TDienos, int TPam, int & j);
void Tikrinti(Pamoka p[], Mokytojai m[], Tinkamiausios t[], int sum, int k, int j);
void Spausdinti(const char FR[], Pamoka p[], Mokytojai m[], Tinkamiausios t[], int sum, int i, int j);
int main(){
setlocale(LC_ALL, "Lithuanian");
cout << "Programa veikia" << endl;
Pamoka p[MAX];
Mokytojai m[MAX];
Tinkamiausios t[MAX];
int nr;
int sum;
string klase;
string diena;
string pamoka;
int k;
string savdiena;
string mokdiena;
int mokuzimtumas;
int j;
string TDienos;
int Tpam=0;
SkPamoka(CD, p, klase, diena, nr, pamoka, sum);
SkMokytojai(CD1, m, savdiena, mokdiena, mokuzimtumas, k);
SkTinkamos(CD2, t, TDienos, Tpam, j);
Tikrinti(p, m, t, sum, k, j);
Spausdinti(FR, p, m, t, sum, k, j);
system("pause");
return 0;
}
void SkPamoka(const char CD[], Pamoka p[], string & klase, string & diena, int & nr, string & pamoka, int & sum){
ifstream fd(CD);
sum = 0;
while(!fd.eof()){
fd >> klase >> diena;
while(fd.peek() != '\n' && !fd.eof() ){
fd >> nr >> pamoka;
p[sum].Deti(klase, diena, nr, pamoka);
cout << p[sum].ImtiKlase() << " " << p[sum].ImtiDiena() << " " << p[sum].ImtiNr() << " " << p[sum].ImtiPamoka() << endl;
}
sum++;
}
cout << " ---------------------------------------------" << endl;
fd.close();
}
void SkMokytojai(const char CD1[], Mokytojai m[], string & savdiena, string & mokdiena, int & mokuzimtumas, int & k){
ifstream fd1(CD1);
k=0;
while(!fd1.eof()){
fd1 >> savdiena >> mokdiena >> mokuzimtumas;
m[k].MokDeti(savdiena, mokdiena, mokuzimtumas);
cout << m[k].ImtiSavDiena() << " " << m[k].ImtiMokDiena() << " " << m[k].ImtiMokUzimtumas() << endl;
k++;
}
cout << " ---------------------------------------------" << endl;
fd1.close();
}
void SkTinkamos(const char CD2[], Tinkamiausios t[], string TDienos, int TPam, int & j){
ifstream fd2(CD2);
j=0;
while(!fd2.eof()){
fd2 >> TDienos >> TPam;
t[j].TinkDeti(TDienos, TPam);
cout << t[j].ImtiTDienos() << " " << t[j].ImtiTPam() << endl;
j++;
}
cout << " ---------------------------------------------" << endl;
fd2.close();
}
void Tikrinti(Pamoka p[], Mokytojai m[], Tinkamiausios t[], int sum, int k, int j){
for(int i=0; i<sum; i++){
for(int h=0; h<k; h++){
for(int v=0; v<j; v++){
if( (p[i].ImtiDiena() == m[h].ImtiMokDiena() == t[v].ImtiTDienos ) && ( p[i].ImtiNr() == m[h].ImtiMokDiena == t[v].ImtiTPam ) && m[k].ImtiMokUzimtumas() == 0 ){ // SITAM TIKRINIME YRA VISOS KLAIDOS
}
}
}
}
}
void Spausdinti(const char FR[], Pamoka p[], Mokytojai m[], Tinkamiausios t[], int sum, int k, int j){
ofstream fr(FR);
fr << "------1 Klse----------------" << endl;
for(int i=0; i<sum; i++){
fr << p[i].ImtiKlase() << " " << p[i].ImtiDiena() << " " << p[i].ImtiNr() << " " << p[i].ImtiPamoka() << endl;
}
fr << "------2 klase---" << endl;
//for(int k=0; k<; k++){
//fr << m[k].ImtiSavDiena() << " " << m[k].ImtiMokDiena() << " " << m[k].ImtiMokUzimtumas() << endl;
//}
fr << "------3 klase-------" << endl;
for(int i=0; i<j; i++){
fr << t[i].ImtiTDienos() << " " << t[i].ImtiTPam() << endl;
}
fr.close();
}