Bonjour,

Je n'arrive pas à remplir ma liste (est-ce un problème au niveau de la sauvegarde ou du remplissage ?)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#pragma once
#include<iostream>
#include<string>
 
using namespace std;
 
 
class reseau
{ string adr_internet;
  string nom;
  string nomsra;
int nseriepa;
bool ra,pa;
 
public:
 
	reseau(string a="",string b="",string c="",int d=0,bool e=false,bool f=false){adr_internet=a;nom=b;nomsra=c;nseriepa=d;ra=e;pa=f;};
	~reseau(){};
 
	void saisir(){ unsigned int t,x;
 
		cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
		cout<<"Donner l'adresse Internet du reseau :"<<endl;
		cin>>adr_internet;
		cout<<"Donner le nom du reseau :"<<endl;
		cin>>nom;
 
		do { cout<<"Voulez vous associe un peripherique a ce reseau ? : (non : 0 , oui : 1)  "<<endl;
		cin>>t;} while((t!=0)&&(t!=1));
 
		if (t==1){
		cout<<"Donner le Nserie du peripherique associe :"<<endl;
		cin>>nseriepa;
		pa=true;
		}
		else pa=false;
 
		do { cout<<"Voulez vous associe un sous-reseau a ce reseau ? : (non : 0 , oui : 1)  "<<endl;
		cin>>x;} while((x!=0)&&(x!=1));
		if (x==1){
		cout<<"Donner le sous-reseau associe :"<<endl;
		cin>>nomsra;
		ra=true;}
		else ra=false;
	}
 
	void affiche(){
 
		cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
 
		cout<<"Nom du reseau : "<<nom<<"   Adresse Internet du reseau : "<<adr_internet<<endl;
		if (pa==true){
			cout<<"Nserie du peripherique associe : "<<nseriepa<<endl;}
		if (ra==true){cout<<"   Sous-reseau associe : "<<nomsra<<endl; }
 
		cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
	}
 
 
 
 
	string getadresse_in(){ return(this->adr_internet);}
	string get_nom(){ return(this->nom);}
	string get_nom_sra(){ return(this->nomsra);}
	int get_nspa(){ return(this->nseriepa);}
	bool get_ra(){ return(this->ra);}
	bool get_pa(){ return(this->pa);}
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#pragma once
#include<iostream>
#include<string>
#include"reseau.h"
#include<vector>
#include<fstream>
using namespace std;
 
class listereseaux
{
	vector <reseau*> lreseaux;
	unsigned int max;
public :
 
	listereseaux(int m=20):max(m){}
 
 
	void ajouter(reseau* r){ 
		if((lreseaux.size()<max)&&(recherche(r->getadresse_in())==(-1))) 
		lreseaux.push_back(r);
 
		else cout<<"Plein ou reseaux existant!!"<<endl;
	}
 
	reseau* supprimer(string adr)
	{int position=recherche(adr);
	if(position!=(-1)) {reseau* tmp=lreseaux[position];
	lreseaux.erase(lreseaux.begin()+position);return tmp; }
	else cout<<"Ce reseau n'existe pas dans la liste !!"<<endl;
	return NULL;
	}
 
	int recherche (string adr)
	{ for(unsigned int i=0;i<lreseaux.size();i++) {if(lreseaux[i]->getadresse_in()==adr)return i; }
	return(-1);
 
	}
 
	void affiche(){
		for(unsigned int i=0;i<lreseaux.size();i++) { lreseaux[i]->affiche(); }
	}
 
 
	void sauvegard_d_donnees()
 
	{ ofstream f;
	f.open("lreseau.txt");
	f.clear();
for(unsigned int i=0;i<lreseaux.size();i++)
	{
		f<<lreseaux[i]->getadresse_in()<<lreseaux[i]->get_nom()<<lreseaux[i]->get_ra()<<lreseaux[i]->get_pa()<<lreseaux[i]->get_nom_sra()<<lreseaux[i]->get_nspa()<<"\n"; }
 
f.close();
	}
 
 
	void remplir_liste()
	{ ifstream f;
	string adr_i,nom,nomsa;
	int npa;
	bool ra,pa;
	f.open("reseau.txt");
	while(f.good()){ f>>adr_i>>nom>>ra>>pa>>ra>>nomsa>>npa;
	reseau r(adr_i,nom,nomsa,npa,ra,pa);
	lreseaux.push_back(&r);
	}
 
	f.close();
 
	}
 
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
// le main
 
 
#pragma once
#include<iostream>
#include<string>
#include"listereseaux.h"
using namespace std;
 
void main() 
 
{
	listereseaux l;
	/*reseau r1,r2,r3;
	string adr;
 
	r1.saisir();
	r2.saisir();
	r3.saisir();
 
	//r1.affiche();
	//r2.affiche();
	//r3.affiche();
 
	l.ajouter(&r1);
	l.ajouter(&r2);
 
 
	l.affiche();
 
	cout<<"debut sauvegarde"<<endl;
	l.sauvegard_d_donnees();
	cout<<"Fin sauvegarde"<<endl;
 
 
	l.ajouter(&r3);
	*/
	cout<<"debut remplissage liste"<<endl;
	l.remplir_liste();
	cout<<"fin remplissage liste"<<endl;
 
	l.affiche();
 
 
	system("pause");
}
Merci d'avance.