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 :

Erreur de consultation générale


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut Erreur de consultation générale
    Salut je suis degio1er.
    j'ai un exercice que je programme depuis maintenant une semaine et je constate une erreur au niveau du type. il s'agit de donner en C++ un programme qui permet de faire une consultation générale d'un fichier de données contenant les informations: matricule, nom, prénom,sexe, date de naissance, salaire de base.
    NB: cette consultation générale doit faire l'objet de tri.

    voici ce que j'ai pu réaliser:

    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
    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
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <stdlib.h> //bibliothèque system ("cls")
    #include <fstream> //Bibliotheque qui permet de gerer ifstream et ofstream
    #include <process.h> //Pour exit
     
    using namespace std;
     
      class employe // declaration de la classe employe
    	    {
    		  /*les variables ou les attributs privees de notre classe employe.
    		  le "m" signifiant "membre", pour indiquer que c'est une variable membre, c'est-à-dire un attribut*/
    		    private :
    			    string m_matricule;
                    string m_nom;
                    string m_prenom;
                    string m_sexe;
                    int m_jour_nais;
                    int m_mois_nais;
                    int m_an_nais;
                    double m_salaire;
    		  //les donnees et les methodes ou fonctions publiques
    			public :
          void consultation_generale();
        };
     
     
    void employe :: consultation_generale()
        {
     
         int i,j,k,m,n;
         string no[100],pr[100],ma[100],a,b,c;
         int h;
         int sal[100];
         string sex[100],z;
         string mois[100],aa[100],jr[100],d,e,g,f;
     
        ifstream fichier ("projet.txt");//ouverture du fichier en lecture
         i=0;
        fichier >>m_matricule>>m_nom>>m_prenom>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire>>m_sexe;
     
         while (!fichier.eof())
            {
     
                ma[i]=m_matricule;
                no[i]=m_nom;
                pr[i]=m_prenom;
                sex[i]=m_sexe;
                jr[i]=m_jour_nais;
                mois[i]=m_mois_nais;
                aa[i]=m_an_nais;
                sal[i]=m_salaire;
                fichier >>m_matricule>>m_nom>>m_prenom>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire>>m_sexe;
                i++;
            }
            fichier.close();
     
        for (j=0; j<=(i-1); j++)
        {
            for (k=(j+1); k<=i-1; k++)
          {if (no[j]>no[k])
     
             {
             a=no[j];
             no[j]=no[k];
             no[k]=a;
     
             b=pr[j];
             pr[j]=pr[k];
             pr[k]=b;
     
             c=ma[j];
             ma[j]=ma[k];
             ma[k]=c;
     
             d=jr[j];
             jr[j]=jr[k];
             jr[k]=d;
     
             e=mois[j];
             mois[j]=mois[k];
             mois[k]=e;
     
             g=aa[j];
             aa[j]=aa[k];
             aa[k]=g;
     
             h=sal[j];
             sal[j]=sal[k];
             sal[k]=h;
     
             z=sex[j];
             sex[j]=sex[k];
             sex[k]=z;
         }
     
        if(no[j]==no[k])
         {   a=no[j];
             no[j]=no[k];
             no[k]=a;
     
             b=pr[j];
             pr[j]=pr[k];
             pr[k]=b;
     
             c=ma[j];
             ma[j]=ma[k];
             ma[k]=c;
     
             d=jr[j];
             jr[j]=jr[k];
             jr[k]=d;
     
             e=mois[j];
             mois[j]=mois[k];
             mois[k]=f;
     
             g=aa[j];
             aa[j]=aa[k];
             aa[k]=g;
     
             h=sal[j];
             sal[j]=sal[k];
             sal[k]=h;
     
             z=sex[j];
             sex[j]=sex[k];
             sex[k]=z;
     
          }
        }
      }
     
           for( j=0;j<=i;j++)
             {
     
                 cout<<"\n";
                 cout<<"\n"<<"\t"<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex[j]<<" "<<jr[j]<<"/"<<m[j]<<"/"<<aa[j]<<" "<<sal[j]<<" "<<endl;
             }
            fichier.close();
        cout<<"\n"<<"\n"<<"  \t"<<"";
     
    }

    Je constate une erreur au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout<<"\n"<<"\t"<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex[j]<<" "<<jr[j]<<"/"<<m[j]<<"/"<<aa[j]<<" "<<sal[j]<<" "<<endl;
    et je comprends pas vraiment, j'ai vraiment besoin d'aide et je compte sur vous. merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 618
    Par défaut
    Bonjour degio1er,

    Quelle erreur as-tu ? à la compil ? à l'exécution ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut
    "m" est un entier et non un tableau, tu ne peux pas écrire "m[j]".

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Je rencontre le problème à la compilation. mais je vois maintenant mon erreur. je devais mettre mois[j] au lieu de m[j].

    le code devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout<<"\n"<<"\t"<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex[j]<<" "<<jr[j]<<"/"<<mois[j]<<"/"<<aa[j]<<" "<<sal[j]<<" "<<endl;
    Mais à l'exécution du programme je constate une erreur du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    main.exe-Erreur d'application
    l'instruction à "0x0045255e" emploi l'adresse mémoire "0x7ffffffc". La mémoire ne peut pas être "read".
     
    Cliquez sur OK pour terminer le programme.
    Cliquez sur Annuler pour déboguer le programme

  5. #5
    Invité
    Invité(e)
    Par défaut
    Essaye de lancer un debbuger pour trouver la ligne précise de l'erreur... Il me semble en tout cas y avoir une erreur dans ta dernière boucle : avant tu comparais à j à i-1, là tu compares j à i...

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    J'ai revu tout le programme et le problème a pu etre resolu. voici donc le programme finale:

    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
    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
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <stdlib.h> //bibliothèque system ("cls")
    #include <fstream> //Bibliotheque qui permet de gerer ifstream et ofstream
    #include <process.h> //Pour exit
     
    using namespace std;
     
      class employe // declaration de la classe employe
    	    {
    		  /*les variables ou les attributs privees de notre classe employe.
    		  le "m" signifiant "membre", pour indiquer que c'est une variable membre, c'est-à-dire un attribut*/
    		    private :
    			    string m_matricule;
                    string m_nom;
                    string m_prenom;
                    string m_sexe;
                    int m_jour_nais;
                    int m_mois_nais;
                    int m_an_nais;
                    double m_salaire;
    		  //les donnees et les methodes ou fonctions publiques
    			public :
                    void consultation_generale();
    		};
     
    	void employe :: consultation_generale()
    {
       int i,j,k;
         string no[10],pr[10],ma[10],a,b,c,z;
         int jr[10],mois[10],aa[10],d,e,g,f;
         double h;
         double sal[10];
         string sex[10];
        system("cls");
        cout<<" \n";
        cout<<"                      \t--------------------   \n         ";
        cout<<"\t        CONSULTATION GENERALE \n ";
        cout<<"                        "<<"--------------------  \n";
        cout<<"\n";
        cout<<"                    \t LISTES DES AGENTS    "<<endl;
       // cout<<"                  "<<"___________________ \n";
          cout<<"MATRICULE"<<" "<<"NOM"<<" "<<"PRENOM"<<" "<<"DATE DE NAISSANCE"<<" "<<"SEXE"<<" "<<"SALAIRE DE BASE"<<" ";
          ifstream fichrep ("fichier.txt");//ouverture du fichier en lecture
           i=0;
          fichrep >>m_matricule>>m_nom>>m_prenom>>m_sexe>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire;
          while (!fichrep.eof())
            {
                ma[i]=m_matricule;
                no[i]=m_nom;
                pr[i]=m_prenom;
                sex[i]=m_sexe;
                jr[i]=m_jour_nais;
                mois[i]=m_mois_nais;
                aa[i]=m_an_nais;
                sal[i]=m_salaire;
                fichrep >>m_matricule>>m_nom>>m_prenom>>m_sexe>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire;
                i++;
            }
            k=i;
            fichrep.close();
            for(int j=0;j<=i-1;j++)
        {   cout<<"\n";
            cout<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex<<" "<<jr[j]<<" "<<mois[j]<<" "<<aa<<" "<<sal<<" "<<endl;
        }
        for (i=0;i<=k-1;i++)
        {for (j=i+1;j<=k;j++)
          {if (no[i]>no[j])
             {a=no[i];
             no[i]=no[j];
             no[j]=a;
             b=pr[i];
             pr[i]=pr[j];
             pr[j]=b;
             c=ma[i];
             ma[i]=ma[j];
             ma[j]=c;
             d=jr[i];
             jr[i]=jr[j];
             jr[j]=d;
             e=mois[i];
             mois[i]=mois[j];
             mois[j]=e;
             g=aa[i];
             aa[i]=aa[j];
             aa[j]=g;
             h=sal[i];
             sal[i]=sal[j];
             sal[j]=h;
             z=sex[i];
             sex[i]=sex[j];
             sex[j]=z;
         }
        if(no[i]==no[j])
         {   a=no[i];
             no[i]=no[j];
             no[j]=a;
             b=pr[i];
             pr[i]=pr[j];
             pr[j]=b;
             c=ma[i];
             ma[i]=ma[j];
             ma[j]=c;
             d=jr[i];
             jr[i]=jr[j];
             jr[j]=d;
             e=mois[i];
             mois[i]=mois[j];
             mois[j]=f;
             g=aa[i];
             aa[i]=aa[j];
             aa[j]=g;
             h=sal[i];
             sal[i]=sal[j];
             sal[j]=h;
             z=sex[i];
             sex[i]=sex[j];
             sex[j]=z;
     
         }
        }}
        for(i=1;i<=k;i++)
        {   cout<<"\n";
            cout<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex<<" "<<jr[j]<<" "<<mois[j]<<" "<<aa<<" "<<sal<<" "<<endl;
            system("pause");
        }
     
     
    }
    Merci à tous pour votre soutien

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    J'ai revu tout le programme et le problème a pu etre resolu. voici donc le programme finale:

    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
    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
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    #include <iostream>
    #include <string>
    #include <conio.h>
    #include <stdlib.h> //bibliothèque system ("cls")
    #include <fstream> //Bibliotheque qui permet de gerer ifstream et ofstream
    #include <process.h> //Pour exit
     
    using namespace std;
     
      class employe // declaration de la classe employe
    	    {
    		  /*les variables ou les attributs privees de notre classe employe.
    		  le "m" signifiant "membre", pour indiquer que c'est une variable membre, c'est-à-dire un attribut*/
    		    private :
    			    string m_matricule;
                    string m_nom;
                    string m_prenom;
                    string m_sexe;
                    int m_jour_nais;
                    int m_mois_nais;
                    int m_an_nais;
                    double m_salaire;
    		  //les donnees et les methodes ou fonctions publiques
    			public :
                    void consultation_generale();
    		};
     
    	void employe :: consultation_generale()
    {
       int i,j,k;
         string no[10],pr[10],ma[10],a,b,c,z;
         int jr[10],mois[10],aa[10],d,e,g,f;
         double h;
         double sal[10];
         string sex[10];
        system("cls");
        cout<<" \n";
        cout<<"                      \t--------------------   \n         ";
        cout<<"\t        CONSULTATION GENERALE \n ";
        cout<<"                        "<<"--------------------  \n";
        cout<<"\n";
        cout<<"                    \t LISTES DES AGENTS    "<<endl;
       // cout<<"                  "<<"___________________ \n";
          cout<<"MATRICULE"<<" "<<"NOM"<<" "<<"PRENOM"<<" "<<"DATE DE NAISSANCE"<<" "<<"SEXE"<<" "<<"SALAIRE DE BASE"<<" ";
          ifstream fichrep ("fichier.txt");//ouverture du fichier en lecture
           i=0;
          fichrep >>m_matricule>>m_nom>>m_prenom>>m_sexe>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire;
          while (!fichrep.eof())
            {
                ma[i]=m_matricule;
                no[i]=m_nom;
                pr[i]=m_prenom;
                sex[i]=m_sexe;
                jr[i]=m_jour_nais;
                mois[i]=m_mois_nais;
                aa[i]=m_an_nais;
                sal[i]=m_salaire;
                fichrep >>m_matricule>>m_nom>>m_prenom>>m_sexe>>m_jour_nais>>m_mois_nais>>m_an_nais>>m_salaire;
                i++;
            }
            k=i;
            fichrep.close();
            for(int j=0;j<=i-1;j++)
        {   cout<<"\n";
            cout<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex<<" "<<jr[j]<<" "<<mois[j]<<" "<<aa<<" "<<sal<<" "<<endl;
        }
        for (i=0;i<=k-1;i++)
        {for (j=i+1;j<=k;j++)
          {if (no[i]>no[j])
             {a=no[i];
             no[i]=no[j];
             no[j]=a;
             b=pr[i];
             pr[i]=pr[j];
             pr[j]=b;
             c=ma[i];
             ma[i]=ma[j];
             ma[j]=c;
             d=jr[i];
             jr[i]=jr[j];
             jr[j]=d;
             e=mois[i];
             mois[i]=mois[j];
             mois[j]=e;
             g=aa[i];
             aa[i]=aa[j];
             aa[j]=g;
             h=sal[i];
             sal[i]=sal[j];
             sal[j]=h;
             z=sex[i];
             sex[i]=sex[j];
             sex[j]=z;
         }
        if(no[i]==no[j])
         {   a=no[i];
             no[i]=no[j];
             no[j]=a;
             b=pr[i];
             pr[i]=pr[j];
             pr[j]=b;
             c=ma[i];
             ma[i]=ma[j];
             ma[j]=c;
             d=jr[i];
             jr[i]=jr[j];
             jr[j]=d;
             e=mois[i];
             mois[i]=mois[j];
             mois[j]=f;
             g=aa[i];
             aa[i]=aa[j];
             aa[j]=g;
             h=sal[i];
             sal[i]=sal[j];
             sal[j]=h;
             z=sex[i];
             sex[i]=sex[j];
             sex[j]=z;
     
         }
        }}
        for(i=1;i<=k;i++)
        {   cout<<"\n";
            cout<<ma[j]<<" "<<no[j]<<" "<<pr[j]<<" "<<sex<<" "<<jr[j]<<" "<<mois[j]<<" "<<aa<<" "<<sal<<" "<<endl;
            system("pause");
        }
     
     
    }
    Merci à tous pour votre soutien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SqlException Erreur réseau générale
    Par hachiko.aud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/08/2007, 15h03
  2. [DBNETLIB][ConnectionWrite (send()).]Erreur réseau générale.
    Par nanou_toulouse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/06/2007, 16h27
  3. Erreur réseau générale.
    Par tribune dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2007, 10h38
  4. Réponses: 1
    Dernier message: 29/03/2006, 10h39
  5. "Erreur SQL générale" sous NT2000 avec une base ac
    Par aleister dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/04/2005, 20h10

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