Besoin d'une correction en c++
steftou
-
steftou -
steftou -
Bonjour, à tous voila j'ai fait un petit code qui permet de supprimer un employé avec enregistrement dans le fichier après suppression; mais voila le problème c'est qu'il ne supprime pas. si quelqu'un peut m'aider svp !
au fait j'ai crée un vector<Patron>tab afin de récupérer les valeurs du fichier et les mettre dans la RAM afin d'avoir un traitement plus facile !
code:
void Gerer :: Supprimer_Patron(){ // Suppression des informations du patron
system("cls");
charger_employe("patron.txt"); // Je charge les informations du fichier vers la RAM
// Afin d'avoir des données dynamiques
cout << " \n\n\tVeuillez entrer le nom: " ; string h; cin >> h;
cout << " \n\tVeuillez entrer le pr\202nom: "; string k; cin >>k;
string j = "patron.txt";
if(rechercher(h,k,j) == true) // On va chercher si l'employé existe !
{
for(unsigned int i=0; i<tab.size();i++)
{
if((tab[i].getNom() == h)&&(tab[i].getPrenom() == k))
{
// Je ne comprend pas pourquoi les instructions ci-dessous ne marche pas !
// delete tab[i];
//tab[i].erase();
}
}
recopie_fichier(); // Appel de la methode qui permet d'enregistrer dans le fichier après suppression !
}
}
void Gerer :: recopie_fichier(){
ofstream fichier("patron.txt", ios::out | ios::trunc); // Ouverture du fichier patron en écriture
if((tab.size()!= 0))
{
string ab,ba,cd,dc,ef,fe; //-------------------------------------------------
int xy,yx,zt,tz,xt; // Valeurs intermédiares
float sv,vs; //---------------------------------------------------
for(unsigned int i=0; i<tab.size(); i++)
{
ab = tab[i].getNom();
ba = tab[i].getPrenom();
cd = tab[i].getAdresse();
dc = tab[i].getEtc();
ef = tab[i].getSex();
xy = tab[i].getAge();
yx = tab[i].getCin();
zt = tab[i].getEnfant();
tz = tab[i].getjj();
fe = tab[i].getMois();
xt = tab[i].getAnnee();
sv = tab[i].getBase();
vs = tab[i].getPrime();
if(fichier){
fichier<<ab <<endl <<ba <<endl <<cd <<endl <<dc <<endl <<ef <<endl <<xy <<endl <<yx <<endl <<zt <<endl <<tz <<endl <<fe <<endl <<xt <<endl <<sv <<endl<<vs <<endl;
fichier<<"******************************************************************"<<endl;
}
else{
msg_urgente("Impossible d'\202crire dans le fichier patron.txt !!");
break;
}
}
}
else
msg_urgente("Votre entreprisse n'a plus de patron\n Veuillez recruter un autre s'il vous plait !!!");
}
au fait j'ai crée un vector<Patron>tab afin de récupérer les valeurs du fichier et les mettre dans la RAM afin d'avoir un traitement plus facile !
code:
void Gerer :: Supprimer_Patron(){ // Suppression des informations du patron
system("cls");
charger_employe("patron.txt"); // Je charge les informations du fichier vers la RAM
// Afin d'avoir des données dynamiques
cout << " \n\n\tVeuillez entrer le nom: " ; string h; cin >> h;
cout << " \n\tVeuillez entrer le pr\202nom: "; string k; cin >>k;
string j = "patron.txt";
if(rechercher(h,k,j) == true) // On va chercher si l'employé existe !
{
for(unsigned int i=0; i<tab.size();i++)
{
if((tab[i].getNom() == h)&&(tab[i].getPrenom() == k))
{
// Je ne comprend pas pourquoi les instructions ci-dessous ne marche pas !
// delete tab[i];
//tab[i].erase();
}
}
recopie_fichier(); // Appel de la methode qui permet d'enregistrer dans le fichier après suppression !
}
}
void Gerer :: recopie_fichier(){
ofstream fichier("patron.txt", ios::out | ios::trunc); // Ouverture du fichier patron en écriture
if((tab.size()!= 0))
{
string ab,ba,cd,dc,ef,fe; //-------------------------------------------------
int xy,yx,zt,tz,xt; // Valeurs intermédiares
float sv,vs; //---------------------------------------------------
for(unsigned int i=0; i<tab.size(); i++)
{
ab = tab[i].getNom();
ba = tab[i].getPrenom();
cd = tab[i].getAdresse();
dc = tab[i].getEtc();
ef = tab[i].getSex();
xy = tab[i].getAge();
yx = tab[i].getCin();
zt = tab[i].getEnfant();
tz = tab[i].getjj();
fe = tab[i].getMois();
xt = tab[i].getAnnee();
sv = tab[i].getBase();
vs = tab[i].getPrime();
if(fichier){
fichier<<ab <<endl <<ba <<endl <<cd <<endl <<dc <<endl <<ef <<endl <<xy <<endl <<yx <<endl <<zt <<endl <<tz <<endl <<fe <<endl <<xt <<endl <<sv <<endl<<vs <<endl;
fichier<<"******************************************************************"<<endl;
}
else{
msg_urgente("Impossible d'\202crire dans le fichier patron.txt !!");
break;
}
}
}
else
msg_urgente("Votre entreprisse n'a plus de patron\n Veuillez recruter un autre s'il vous plait !!!");
}
A voir également:
- Besoin d'une correction en c++
- Activer correction automatique android - Guide
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Le correcteur automatique de votre smartphone vous rend fou ? Voici comment le désactiver - Accueil - Mobile
- Mode correction word - Guide
- Vérifier si une phrase est correcte - Accueil - Google