1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| class File.h
#ifndef FileH
#define FileH
#include "Processus.h"
const int tailleFileMax = 5;
class File {
public:
File();
bool enFile(const Processus &nouvelElement);
bool deFile(Processus &elementEnleve);
void afficher ();
private:
Processus element[tailleFileMax];
int premier,dernier;
Processus* top;
};
#endif
File.CPP
#include <iostream>
#include "File.h"
#include <cstring>
#include <iostream>
#include <exception>
using namespace std;
File::File() {
premier=0;dernier=-1;
}
bool File::enFile(const Processus &nouvelElement) {
if (dernier < tailleFileMax-1) {
//std::cout <<"Queue de la file avant l'ajout d'un element: "<<dernier <<std::endl;
element[++dernier]=nouvelElement;
//std::cout <<"Queue de la file apres l'ajout d'un element: "<<dernier <<std::endl;
//std::cout <<"Valeur ajoutee est : "<<element[dernier]<<std::endl;
return true;
}
else
return false;
}
bool File::deFile(Processus &elementEnleve) {
if(dernier>=0) {
elementEnleve=element[premier];
for (int i= 1; i<=dernier;i++)
element[i-1]= element[i];
// on déplace tous les élément vers le début
dernier--; // on décrément le pointeur vers le dernier élément de la file
return true;
}
else
return false;
}
void File::afficher ()
{
Processus *temp = element;
int j=0;
while (temp != top && temp != NULL )
{
{ for (int i =0 ; i< 5 ; i++)
{
j=j+2;
if (temp -> numero >0)
std::cout<<temp -> numero-(j) <<" " << temp->nom <<" " << temp -> suivant<<endl ;
else
if (temp -> numero <=0 )
std::cout<<temp -> numero <<" " << temp->nom <<" eliminer "<<endl;
}
}
temp++;
} delete temp;
}
le main ()
int main(int argc, char *argv[])
{ int temp ;
File p;
Processus Pr;
string nom ;
File *p1 = new File ;
//élément de la file
cout << "Mettre dans la file les 5 elements saisis : " << endl;
for (int j=0;j<3;j++) {
cout << "Entrez un element " << j+1 <<" de la file : " ;
cin >> nom ;
cout << "Entrez un numero " << j+1 <<" de la file : " ;
cin>>temp;
p.enFile(Processus( nom .c_str(),temp));
} p.afficher(); |
Partager