IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Remplissage d'une liste


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 17
    Par défaut Remplissage d'une liste
    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.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Salut

    Je passerais sur la qualité du code, il y a trop à redire. On ne peut pas savoir ce qui ne vas pas : tu nous balances une plâtrée de code en disant "ça marche" pas, mais il y a des tas de raisons possibles.

    Je pense que tu peux très rapidement trouver tout seul en lançant ton programme en debug pas à pas.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 17
    Par défaut RE
    D accord mais est ce que il y a une méthode plus fiable pour enregistrer dans les fichier et de récupérer aussi les données et merci

  4. #4
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Pour écrire dans un fichier des objets (et les récupérer), tu peux utiliser la sérialisation, en C++ il faut utiliser la bibliothèque Boost.Serialization

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 17
    Par défaut Merci :)
    Merci

  6. #6
    Membre émérite
    Avatar de Ekleog
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 448
    Par défaut
    Citation Envoyé par Trademark Voir le message
    Pour écrire dans un fichier des objets (et les récupérer), tu peux utiliser la sérialisation, en C++ il faut est possible d' utiliser la bibliothèque Boost.Serialization

Discussions similaires

  1. Probleme de remplissage d'une liste déroulante
    Par kodo dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/08/2007, 16h13
  2. Remplissage d'une liste deroulante
    Par monphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/05/2007, 12h28
  3. remplissage d'une liste déroulante à partir d'une autre liste
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 12h28
  4. [MySQL] Remplissage d'une liste déroulante à partir d'une requête SQL
    Par gaucher dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/05/2006, 15h46
  5. [WD9] Non remplissage d'une liste dans un composant
    Par Romanops dans le forum WinDev
    Réponses: 3
    Dernier message: 06/04/2006, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo