Erreur

taieb84 Messages postés 5 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 5 juin 2008 - 2 juin 2008 à 18:30
D3L_Man Messages postés 1 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 10 novembre 2008 - 10 nov. 2008 à 12:39
salut, j'ai une class produit et j'aimerai faire quelques operations de insertion, suppression,affichage,recherche a l'aide d'un vecteur mais j'ai eu des erreurs que je n'ai pas pu les corriger voici le.h
#include
#include <fstream>
#include <string>
#include
#ifndef boisson_h
#define boisson_h

using namespace std; produit {
private:

int ID;
string nom;
float prix;
int nbr; // nombre du produit en stock


public :


produit(int ID=0 ,string nom = "", float prix = 0.0,int nbr =0 )
{
this->ID= ID;
this->nom = nom;
this->prix=prix;
this->nbr = nbr;
}
void SetID(int);
int GetID();
void SetNom(string);
string GetNom();
void SetPrix(float);
float GetPrix();
void SetNbr(int);
int GetNbr();




};
#endif
voici le cpp
#include"boisson.h"


void boisson ::SetID(int ID){

this->ID = ID;
}
void boisson ::SetNom(string nom)
{
this->nom = nom;
}
void boisson ::SetPrix(float prix)
{
this->prix = prix;
}
void boisson ::SetNbr(int nbr)
{
this->nbr = nbr;
}
int boisson ::GetID()
{
return ID;
}
string boisson ::GetNom()
{
return nom;
}
float boisson ::GetPrix()
{
return prix;
}
int boisson ::GetNbr()
{
return nbr;
}
voici le main
#include"boisson.h"
#include <string>
#include
#include //utilisée pour les fichiers
#include <fstream> //utilisée pour les fichiers
#include <windows.h> ////utilisée pour system("pause") et system("cls")
using namespace std;


#include <vector> //tableau à 1 dimension 1 lignes , n colonnes
typedef vector V_PROD; //définition d'un type d'un vecteur servant à contenir les produits



void aff_prod(V_PROD &prod); //fonction d'affichage des produits
V_PROD ins_prod(V_PROD &prod);
V_PROD Rechprod(V_PROD &prod);
V_PROD efface_prod(V_PROD &prod);
void gest_prod(V_PROD &prod);
int main()
{
V_PROD prod;

ifstream fich_prod("boissons.txt",ios::in);
if (fich_prod.bad())
{
cout<<"LE FICHIER N'EXISTE PAS, CREATION ...\n";
//error("ERREUR");
return (1);
system("pause");
}
else
{
int ID;
string nom;
float prix;
int nbr;


fich_prod>>ID;
fich_prod>>nom;
fich_prod>>prix;
fich_prod>>nbr;


while (!fich_prod.eof())
{
//etud.push_back(
produit ef;
ef.SetID(ID);
ef.SetNom(nom);
ef.SetPrix(prix);
ef.SetNbr(nbr);

prod.push_back(ef);
fich_prod>>ID>>nom>>prix>>nbr;
}

}
fich_prod.close();

V_PROD ins_prod(V_PROD &prod)
{


cout<<"NOMBRE DE BOISSONS A SAISIR : ";
int nproduits;
cin>>nproduits;

//vector prod(nproduits);

//vector::iterator itproduit;
for (int i = 0; i < nproduits; i++)
{
boisson b;
cout<<"BOISSON: "<>ID;
b.SetID(ID);
cout<<"NOM : ";
string nom;
cin>>nom;
b.SetNom(nom);
cout<<"PRIX : ";
float prix;
cin>>prix;
b.SetPrix(prix);
cout<<"NOMBRE : ";
int nbr;
cin>>nbr;
b.SetNbr(nbr);

cout<<"***********************\n\n";
prod.push_back(b);
cout<<"SAISIE REUSSIE....\n";
system("pause");
system("cls");
}
return etud;

}


void aff_prod(V_PROD &prod)
{
if (prod.empty())
{
cout<<"PAS DE BOISSONS INTRODUITS \n";
system("pause");
}

else
{
int i = 1;
vector::iterator it;
for (it = prod.begin(); it !=prod.end(); it++)
{
produit pr;
pr = *it;
cout<<"ENREGISTREMENT "<rech;
vector::iterator it;
bool trouve = false;
for (it = prod.begin(); it !=prod.end(); it++)
{
produit pr;
pr = *it;
int ID = pr.GetID();
string nom = pr.GetNom();
float prix = pr.GetPrenom();
int nbr = pr.Getcd();

if ((rech.compare(ID) 0) || (rech.compare(nom) 0) || (rech.compare(prix) == 0) )
{
vrech.push_back(pr);
trouve = true;
i++;
}
}
if (trouve)
{

for (it = vrech.begin(); it !=vrech.end(); it++)
{

produit pr;
pr = *it;
//cout<<"ENREGISTREMENT "<produit_supp;
if ( (produit_supp > prod.size()) || (produit_supp < 1))
{
cout<<"IL N'EXISTE PAS D'ENREGISTREMENT CORRESPONDANT A CE BOISSON\n";
}
else
{
vector::iterator it;
it = prod.begin() + produit_supp - 1;
produit prs;
prs = *it;
cout<<"VOUS ALLEZ SUPPRIMER LE BOISSON "<<eps.GetID()<<", "<<eps.Getnom()<<endl;
cout<<"CONFIRMER ? (O) : ";
char conf_supp;
cin>>conf_supp;
if (conf_supp == 'O')
{
prod.erase(prod.begin() + produit_supp - 1);
cout<<"SUPPRESSION REUSSIE...\n";
}
else
{
cout<<"SUPPRESSION ABANDONNEE, ERREUR DE CONFIRMATION ...\n";
}
}
system("pause");
return prod;
}
void gest_prod(V_PROD &prod)
{
char choix;
do{

system("cls");
cout<<" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n";
cout<<" .............. GESTION DU STOCK ..............\n";
cout<<" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n";
cout<<" INSERTION D'UN BOISSON...........................1\n";
cout<<" VOIR LES INFORMATIONS CONCERNANT LES BOISSONS....2\n";
cout<<" RECHERCHER UN BOISSON............................3\n";
cout<<" SUPPRIMER UN BOISSON.............................4\n";
cout<<" RETOUR VERS LE MENU PRINCIPAL.....................9\n";
cout<<"\n\n";
cout<<" SAISIR UN CHOIX..: ";

cin>>choix;
switch (choix)
{
case '1':
system("cls");
ins_prod(prod);

break;
case '2':
system("cls");
aff_prod(prod);
break;
case '3':
system("cls");
Rechprod(prod);
break;
case '4':
system("cls");
efface_prod(prod);
break;

case '9':
break;
default:
cout<<"MAUVAIS CHOIX\n";
//system("pause");
system("cls");
}
} while(choix !='9');
}


}
les erreurs sonts
error C2601: 'ins_prod' : local function definitions are illegal
error C2601: 'aff_prod' : local function definitions are illegal
error C2601: 'gest_prod' : local function definitions are illegal
error C2601: 'efface_prod' : local function definitions are illegal
error C2601: 'Rechprod' : local function definitions are illegal

5 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juin 2008 à 10:18
C'est parce qu'il y a un problème dans tes accolades

au lieu d'avoir :
main()
{
    // code main
}

fonction()
{
     // code fonction
}

tu as :
main()
{
     // code main
function()
{
     // code fonction
}
}
0
taieb84 Messages postés 5 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 5 juin 2008
3 juin 2008 à 12:20
Merci mais il y en reste 2 erreurs voici le code
#include"boisson.h"
#include <string>
#include
#include //utilisée pour les fichiers
#include <fstream> //utilisée pour les fichiers
#include <windows.h> ////utilisée pour system("pause") et system("cls")
using namespace std;


#include <vector> //tableau à 1 dimension 1 lignes , n colonnes
typedef vector V_PROD; //définition d'un type d'un vecteur servant à contenir les produits



void aff_prod(V_PROD &prod); //fonction d'affichage des produits
V_PROD ins_prod(V_PROD &prod);
V_PROD Rechprod(V_PROD &prod);
V_PROD efface_prod(V_PROD &prod);
void gest_prod(V_PROD &prod);
int main()
{
V_PROD prod;

ifstream fich_prod("boissons.txt",ios::in);
if (fich_prod.bad())
{
cout<<"LE FICHIER N'EXISTE PAS, CREATION ...\n";
//error("ERREUR");
return (1);
system("pause");
}
else
{
int ID;
string nom;
float prix;
int nbr;


fich_prod>>ID;
fich_prod>>nom;
fich_prod>>prix;
fich_prod>>nbr;


while (!fich_prod.eof())
{
//prod.push_back(
produit ef;
ef.SetID(ID);
ef.SetNom(nom);
ef.SetPrix(prix);
ef.SetNbr(nbr);

prod.push_back(ef);
fich_prod>>ID;
fich_prod>>nom;
fich_prod>>prix;
fich_prod>>nbr;
}
}

fich_prod.close();


V_PROD ins_prod(V_PROD &prod)
{


cout<<"NOMBRE DE BOISSONS A SAISIR : ";
int nproduits;
cin>>nproduits;

//vector prod(nproduits);

//vector::iterator itproduit;
for (int i = 0; i < nproduits; i++)
{
boisson b;
cout<<"BOISSON: "<>ID;
b.SetID(ID);
cout<<"NOM : ";
string nom;
cin>>nom;
b.SetNom(nom);
cout<<"PRIX : ";
float prix;
cin>>prix;
b.SetPrix(prix);
cout<<"NOMBRE : ";
int nbr;
cin>>nbr;
b.SetNbr(nbr);

cout<<"***********************\n\n";
prod.push_back(b);
cout<<"SAISIE REUSSIE....\n";
system("pause");
system("cls");
}
return prod;




void aff_prod(V_PROD &prod)
{
if (prod.empty())
{
cout<<"PAS DE BOISSONS INTRODUITS \n";
system("pause");
}

else
{
int i = 1;
vector::iterator it;
for (it = prod.begin(); it !=prod.end(); it++)
{
produit pr;
pr = *it;
cout<<"ENREGISTREMENT "<rech;
vector::iterator it;
bool trouve = false;
for (it = prod.begin(); it !=prod.end(); it++)
{
produit pr;
pr = *it;
int ID = pr.GetID();
string nom = pr.GetNom();
float prix = pr.GetPrenom();
int nbr = pr.Getcd();

if ((rech.compare(ID) 0) || (rech.compare(nom) 0) || (rech.compare(prix) == 0) )
{
vrech.push_back(pr);
trouve = true;
i++;
}
}
if (trouve)
{

for (it = vrech.begin(); it !=vrech.end(); it++)
{

produit pr;
pr = *it;
//cout<<"ENREGISTREMENT "<produit_supp;
if ( (produit_supp > prod.size()) || (produit_supp < 1))
{
cout<<"IL N'EXISTE PAS D'ENREGISTREMENT CORRESPONDANT A CE BOISSON\n";
}
else
{
vector::iterator it;
it = prod.begin() + produit_supp - 1;
produit prs;
prs = *it;
cout<<"VOUS ALLEZ SUPPRIMER LE BOISSON "<<eps.GetID()<<", "<<eps.Getnom()<<endl;
cout<<"CONFIRMER ? (O) : ";
char conf_supp;
cin>>conf_supp;
if (conf_supp == 'O')
{
prod.erase(prod.begin() + produit_supp - 1);
cout<<"SUPPRESSION REUSSIE...\n";
}
else
{
cout<<"SUPPRESSION ABANDONNEE, ERREUR DE CONFIRMATION ...\n";
}
}
system("pause");
return prod;

void gest_prod(V_PROD &prod)
{
char choix;
do{

system("cls");
cout<<" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n";
cout<<" .............. GESTION DU STOCK ..............\n";
cout<<" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n";
cout<<" INSERTION D'UN BOISSON...........................1\n";
cout<<" VOIR LES INFORMATIONS CONCERNANT LES BOISSONS....2\n";
cout<<" RECHERCHER UN BOISSON............................3\n";
cout<<" SUPPRIMER UN BOISSON.............................4\n";
cout<<" RETOUR VERS LE MENU PRINCIPAL.....................9\n";
cout<<"\n\n";
cout<<" SAISIR UN CHOIX..: ";

cin>>choix;
switch (choix)
{
case '1':
system("cls");
ins_prod(prod);

break;
case '2':
system("cls");
aff_prod(prod);
break;
case '3':
system("cls");
Rechprod(prod);
break;
case '4':
system("cls");
efface_prod(prod);
break;

case '9':
break;
default:
cout<<"MAUVAIS CHOIX\n";
//system("pause");
system("cls");
}
} while(choix !='9');
}
'ins_prod' : local function definitions are illegal
fatal error C1075: end of file found before the left brace
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juin 2008 à 13:43
'ins_prod' : local function definitions are illegal 
> c'est parce que tu déclares une fonction alors que tu n'a pas fermer le bloc (avec }) précédent

fatal error C1075: end of file found before the left brace
> c'est parce que tous les blocs { } ne sont pas bien fermé.

#include"boisson.h"
#include <string>
#include
#include //utilisée pour les fichiers
#include <fstream> //utilisée pour les fichiers
#include <windows.h> ////utilisée pour system("pause") et system("cls")
using namespace std;

#include <vector> //tableau à 1 dimension 1 lignes , n colonnes
typedef vector V_PROD; //définition d'un type d'un vecteur servant à contenir les produits

void aff_prod(V_PROD &prod); //fonction d'affichage des produits
V_PROD ins_prod(V_PROD &prod);
V_PROD Rechprod(V_PROD &prod);
V_PROD efface_prod(V_PROD &prod);
void gest_prod(V_PROD &prod);
int main() {
    V_PROD prod;

    ifstream fich_prod("boissons.txt", ios::in);
    if (fich_prod.bad()) {
        cout << "LE FICHIER N'EXISTE PAS, CREATION ...\n";
        //error("ERREUR");
        return (1);
        system("pause");
    } else {
        int ID;
        string nom;
        float prix;
        int nbr;

        fich_prod >> ID;
        fich_prod >> nom;
        fich_prod >> prix;
        fich_prod >> nbr;

        while (!fich_prod.eof()) {
            //prod.push_back(
            produit ef;
            ef.SetID(ID);
            ef.SetNom(nom);
            ef.SetPrix(prix);
            ef.SetNbr(nbr);

            prod.push_back(ef);
            fich_prod >> ID;
            fich_prod >> nom;
            fich_prod >> prix;
            fich_prod >> nbr;
        }
    }

    fich_prod.close();
}

V_PROD ins_prod(V_PROD &prod) {

    cout << "NOMBRE DE BOISSONS A SAISIR : ";
    int nproduits;
    cin >> nproduits;

    //vector prod(nproduits);

    //vector::iterator itproduit;
    for (int i = 0; i < nproduits; i++) {
        boisson b;
        cout << "BOISSON: " << i + 1 << " \n\n";
        cout << "ID : ";
        int ID;
        cin >> ID;
        b.SetID(ID);
        cout << "NOM : ";
        string nom;
        cin >> nom;
        b.SetNom(nom);
        cout << "PRIX : ";
        float prix;
        cin >> prix;
        b.SetPrix(prix);
        cout << "NOMBRE : ";
        int nbr;
        cin >> nbr;
        b.SetNbr(nbr);

        cout << "***********************\n\n";
        prod.push_back(b);
        cout << "SAISIE REUSSIE....\n";
        system("pause");
        system("cls");
    }
    return prod;
}

void aff_prod(V_PROD &prod) {
    if (prod.empty()) {
        cout << "PAS DE BOISSONS INTRODUITS \n";
        system("pause");
    } else {
        int i = 1;
        vector::iterator it;
        for (it = prod.begin(); it != prod.end(); it++) {
            produit pr;
            pr = *it;
            cout << "ENREGISTREMENT " << i << " SUR " << prod.size() << " : \n\n";
            cout << "ID : " << pr.GetNom() << "\n";
            cout << "NOM : " << pr.Getnom() << "\n";
            cout << "PRIX : " << ep.GetPrix() << "\n";
            cout << "NOMBRE : " << ep.Getnbr() << "\n";
            i++;
            system("pause");
            system("cls");
        }
    }
    //system("pause");
}

V_PROD Rechprod(V_PROD &prod) {
    V_PROD vrech;
    int i = 0;
    if (prod.empty()) {
        cout << "PAS DE BOISSONS INTRODUITS \n";
        system("pause");
    } else {

        cout << "RECHERCHE..(INTRODUIRE  ID,Nom ou Prix )....) : ";
        string rech;
        cin >> rech;
        vector::iterator it;
        bool trouve = false;
        for (it = prod.begin(); it != prod.end(); it++) {
            produit pr;
            pr = *it;
            int ID = pr.GetID();
            string nom = pr.GetNom();
            float prix = pr.GetPrenom();
            int nbr = pr.Getcd();
            if ((rech.compare(ID) 0) || (rech.compare(nom) 0) || (rech.compare(prix) == 0) ) {
                vrech.push_back(pr);
                trouve = true;
                i++;
            }
        }
        if (trouve) {

            for (it = vrech.begin(); it != vrech.end(); it++) {

                produit pr;
                pr = *it;
                //cout<<"ENREGISTREMENT "<> produit_supp;
    if ( (produit_supp > prod.size()) || (produit_supp < 1)) {
        cout << "IL N'EXISTE PAS D'ENREGISTREMENT CORRESPONDANT A CE BOISSON\n";
    } else {
        vector::iterator it;
        it = prod.begin() + produit_supp - 1;
        produit prs;
        prs = *it;
        cout << "VOUS ALLEZ SUPPRIMER LE BOISSON " << eps.GetID() << ", " << eps.Getnom() << endl;
        cout << "CONFIRMER ? (O) : ";
        char conf_supp;
        cin >> conf_supp;
        if (conf_supp == 'O') {
            prod.erase(prod.begin() + produit_supp - 1);
            cout << "SUPPRESSION REUSSIE...\n";
        } else {
            cout << "SUPPRESSION ABANDONNEE, ERREUR DE CONFIRMATION ...\n";
        }
    }
    system("pause");
    return prod;
}

void gest_prod(V_PROD &prod) {
    char choix;
    do {

        system("cls");
        cout << "          vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n";
        cout << "          .............. GESTION DU STOCK ..............\n";
        cout << "          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n";
        cout << "          INSERTION D'UN BOISSON...........................1\n";
        cout << "          VOIR LES INFORMATIONS CONCERNANT LES BOISSONS....2\n";
        cout << "          RECHERCHER UN BOISSON............................3\n";
        cout << "          SUPPRIMER UN BOISSON.............................4\n";
        cout << "          RETOUR VERS LE MENU PRINCIPAL.....................9\n";
        cout << "\n\n";
        cout << "                        SAISIR UN CHOIX..: ";

        cin >> choix;
        switch (choix) {
            case '1':
            system("cls");
            ins_prod(prod);

            break;
            case '2':
            system("cls");
            aff_prod(prod);
            break;
            case '3':
            system("cls");
            Rechprod(prod);
            break;
            case '4':
            system("cls");
            efface_prod(prod);
            break;

            case '9':
            break;
            default:
            cout << "MAUVAIS CHOIX\n";
            //system("pause");
            system("cls");
        }
    } while (choix != '9');
}
0
taieb84 Messages postés 5 Date d'inscription lundi 14 avril 2008 Statut Membre Dernière intervention 5 juin 2008
5 juin 2008 à 13:57
J'ai reussi a implementer mes methodes et a definir mes classes mais il ya toujours des erreurs voici mon code
#include"boisson.h"
#include"caisse.h"
#include <string>
#include
#include //utilisée pour les fichiers
#include <fstream> //utilisée pour les fichiers
#include <windows.h> ////utilisée pour system("pause") et system("cls")
using namespace std;
#include <vector> //tableau à 1 dimension 1 lignes , n colonnes
typedef vector V_PROD; //définition d'un type d'un vecteur servant à contenir les produits
typedef vector V_PIEC; //définition d'un type vecteur servant à contenir les pieces

void aff_piec(V_PIEC &piec);//fonction d'affichage des administrateur
V_PIEC ins_piec(V_PIEC &piec);
V_PIEC efface_piec(V_PIEC &piec);
void gest_piec(V_PIEC &piec);


void aff_prod(V_PROD &prod); //fonction d'affichage des produits
V_PROD ins_prod(V_PROD &prod);
V_PROD Rechprod(V_PROD &prod);
V_PROD efface_prod(V_PROD &prod);
void gest_prod(V_PROD &prod);



int main()
{V_PROD prod;
V_PIEC piec;

ifstream fich_prod("boissons.txt",ios::in);
if (fich_prod.bad())
{
cout<<"LE FICHIER N'EXISTE PAS, CREATION ...\n";
//error("ERREUR");
return (1);
system("pause");
}
else
{
int ID;
string nom,type;
float prix;
int nbr;
fich_prod>>ID>>nom>>type>>prix>>nbr;
while (!fich_prod.eof())
{
//etud.push_back(
produit ef;
ef.SetID(ID);
ef.SetNom(nom);
ef.SetType(type);
ef.SetPrix(prix);
ef.SetNbr(nbr);
prod.push_back(ef);
fich_prod>>ID>>nom>>type>>prix>>nbr;
}

}
fich_prod.close();
ifstream fich_piec("caisse.txt",ios::in);
{
int n;
float val;
fich_piec>>n>>val;
while (!fich_piec.eof())
{

piece c;
c.SetVal(val);
c.SetN(n);
piec.push_back(c);
fich_piec>>val>>n;
}

}
fich_piec.close();



char choix_mnu_principal;
do{

system("cls");
cout<<" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n";
cout<<" ..BIENVENUE DANS LA GESTION DU DISTRIBUTEUR ..\n";
cout<<" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n";
cout<<" GESTION DES PRODUITS.............................1\n";

cout<<" GESTION DES ADMINISTRATIFS........................2\n\n";

cout<<" QUITTER...........................................9\n";
cout<<"\n\n";
cout<<" SAISIR UN CHOIX..: ";
cin>>choix_mnu_principal;
switch (choix_mnu_principal)
{
case '1':
system("cls");
gest_prod(prod);
break;

}
}while((choix_mnu_principal) !='9');

ofstream e1;
e1.open("boissons.txt",ios::trunc);
vector::iterator it_fichier;
for (it_fichier = prod.begin(); it_fichier != prod.end(); it_fichier++)
{
produit E_Fichier;
E_Fichier = *it_fichier;
int ID ;
ID = E_Fichier.GetID();
e1<> choix;
switch (choix) {
case '1':
system("cls");
ins_prod(prod);

break;
case '2':
system("cls");
aff_prod(prod);
break;
case '3':
system("cls");
Rechprod(prod);
break;
case '4':
system("cls");
efface_prod(prod);
break;

case '9':
break;
default:
cout << "MAUVAIS CHOIX\n";
//system("pause");
system("cls");
}
} while (choix != '9');
}


V_PROD ins_prod(V_PROD &prod) {


cout << "NOMBRE DE BOISSONS A SAISIR : ";
int nproduits;
cin >> nproduits;

//vector prod(nproduits);

//vector::iterator itproduit;
for (int i = 0; i < nproduits; i++) {
produit p;
cout << "BOISSON: " << i + 1 << " \n\n";
cout << "ID : ";
int ID;
cin >> ID;
p.SetID(ID);
cout << "NOM : ";
string nom;
cin >> nom;
p.SetNom(nom);
cout << "TYPE : ";
string type;
cin >> type;
p.SetType(type);
cout << "PRIX : ";
float prix;
cin >> prix;
p.SetPrix(prix);
cout << "NOMBRE : ";
int nbr;
cin >> nbr;
p.SetNbr(nbr);

cout << "***********************\n\n";
prod.push_back(p);
cout << "SAISIE REUSSIE....\n";
system("pause");
system("cls");
}
return prod;
}



void aff_prod(V_PROD &prod) {
if (prod.empty()) {
cout << "PAS DE BOISSONS INTRODUITS \n";
system("pause");
} else {
int i = 1;
vector::iterator it;
for (it = prod.begin(); it != prod.end(); it++) {
produit pr;
pr = *it;
cout << "ENREGISTREMENT " << i << " SUR " << prod.size() << " : \n\n";
cout << "ID : " << pr.GetID() << "\n";
cout << "NOM : " << pr.GetNom() << "\n";
cout << "TYPE : " << pr.GetType() << "\n";
cout << "PRIX : " << pr.GetPrix() << "\n";
cout << "NOMBRE : " << pr.GetNbr() << "\n";
i++;
system("pause");
system("cls");
}
}
//system("pause");
}


V_PROD Rechprod(V_PROD &prod) {
V_PROD vrech;
int i = 0;
if (prod.empty()) {
cout << "PAS DE BOISSONS INTRODUITS \n";
system("pause");
} else {

cout << "RECHERCHE..(INTRODUIRE ID,Nom ou Prix )....) : ";
string rech;
cin >> rech;
vector::iterator it;
bool trouve = false;
for (it = prod.begin(); it != prod.end(); it++) {
produit pr;
pr = *it;
int ID = pr.GetID();
string nom = pr.GetNom();
string type = pr.GetType();
float prix = pr.GetPrix();
int nbr = pr.GetNbr();

if ((rech.compare(type) 0) || (rech.compare(nom) 0)) {
vrech.push_back(pr);
trouve = true;
i++;
}
}
if (trouve) {

for (it = vrech.begin(); it != vrech.end(); it++) {

produit pr;
pr = *it;
//cout<<"ENREGISTREMENT "<> produit_supp;
if ( (produit_supp > prod.size()) || (produit_supp < 1)) {
cout << "IL N'EXISTE PAS D'ENREGISTREMENT CORRESPONDANT A CE BOISSON\n";
} else {
vector::iterator it;
it = prod.begin() + produit_supp - 1;
produit prs;
prs = *it;
cout << "VOUS ALLEZ SUPPRIMER LE BOISSON " << prs.GetID() << ", " << prs.GetNom() << endl;
cout << "CONFIRMER ? (O) : ";
char conf_supp;
cin >> conf_supp;
if (conf_supp == 'O') {
prod.erase(prod.begin() + produit_supp - 1);
cout << "SUPPRESSION REUSSIE...\n";
} else {
cout << "SUPPRESSION ABANDONNEE, ERREUR DE CONFIRMATION ...\n";
}
}
system("pause");
return prod;
}

// FONCTIONS QUI GERENT LES ADMINISTRATIFS
void gest_piec(V_PIEC &piec)
{
char choix;
do{

system("cls");
cout<<" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n";
cout<<" ........... GESTION DE CAISSE...........\n";
cout<<" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n";
cout<<" INSERTION D'UNE PIECE .....................1\n";
cout<<" VOIR LES INFORMATIONS .........2\n";
cout<<" RECHERCHER UNE PIECE...................... 3\n";
cout<<" SUPPRIMER UNE PIECE....................... 4\n";
cout<<" RETOUR VERS LE MENU PRINCIPAL....................9\n";
cout<<"\n\n";
cout<<" SAISIR UN CHOIX..: ";

cin>>choix;
switch (choix)
{
case '1':
system("cls");
ins_piec(piec);

break;
case '2':
system("cls");
aff_piec(piec);
break;


case '4':
system("cls");
efface_piec(piec);
break;

case '9':
break;
default:
cout<<"MAUVAIS CHOIX\n";
//system("pause");
system("cls");
}
} while(choix !='9');
}

V_PIEC ins_piec(V_PIEC &piec)
{


cout<<"NOMBRE D'ADMINISTRATEURS A SAISIR : ";
int npiec;
cin>>npiec;

//vector<etudiant> etud(netudiants);

//vector<etudiant>::iterator itetudiant;
for (int i = 0; i < npiec; i++)
{
piece p;
cout<<"PIECE: "<>val;
p.SetVal(val);
cout<<"N : ";
int n;
cin>>n;
p.SetN(n);

cout<<"***********************\n\n";
piec.push_back(p);
cout<<"SAISIE REUSSIE....\n";
system("pause");
system("cls");
}
return piec;

}


void aff_piec(V_PIEC &piec)
{
if (piec.empty())
{
cout<<"PAS D'ADMINISTRATIFS INTRODUITS \n";
system("pause");
}

else
{
int i = 1;
vector::iterator it;
for (it = piec.begin(); it !=piec.end(); it++)
{
piece ep;
ep = *it;
cout<<"ENREGISTREMENT "<pi_supp;
if ( (pi_supp > piec.size()) || (pi_supp < 1))
{
cout<<"IL N'EXISTE PAS D'ENREGISTREMENT CORRESPONDANT A CET ADMINISTRATIF\n";
}
else
{
vector::iterator it;
it = piec.begin() + pi_supp - 1;
piece eps;
eps = *it;
cout<<"VOUS ALLEZ SUPPRIMER LA PIECE"<<eps.GetVal()<<endl;
cout<<"CONFIRMER ? (O) : ";
char conf_supp;
cin>>conf_supp;
if (conf_supp == 'O')
{
piec.erase(piec.begin() + pi_supp - 1);
cout<<"SUPPRESSION REUSSIE...\n";
}
else
{
cout<<"SUPPRESSION ABANDONNEE, ERREUR DE CONFIRMATION ...\n";
}
}
system("pause");
return piec;
}

voici la classe piece:
#include
#include <fstream>
#ifndef caisse_h
#define caisse_h
using namespace std;
class piece{

float val;
int n;


public:
piece(float val=0 ,int n =0 )
{
this->val= val;
this->n = n;
}

void SetVal(float);
float GetVal();
void SetN(int);
int GetN();

};
#endif
#include"caisse.h"
void piece ::SetVal(float val)
{
this->val = val;
}
void piece ::SetN(int n){

this->n = n;
}
float piece ::GetVal()
{
return val;
}
int piece ::GetN()
{
return n;
}
voici les erreurs:
produit.obj : error LNK2005: "class std::vector<class produit,class std::allocator<class produit> > __cdecl ins_prod(class std::vector<class produit,class std::allocator<class produit> > &)" (?ins_prod@@YA?AV?$vector@Vproduit@@V?$allocator@Vproduit@
@@std@@@std@@AAV12@@Z) already defined in main.obj
produit.obj : error LNK2005: "void __cdecl aff_prod(class std::vector<class produit,class std::allocator<class produit> > &)" (?aff_prod@@YAXAAV?$vector@Vproduit@@V?$allocator@Vproduit@@@std@@@std@@@Z) already defined in main.obj
produit.obj : error LNK2005: "class std::vector<class produit,class std::allocator<class produit> > __cdecl Rechprod(class std::vector<class produit,class std::allocator<class produit> > &)" (?Rechprod@@YA?AV?$vector@Vproduit@@V?$allocator@Vproduit@
@@std@@@std@@AAV12@@Z) already defined in main.obj
produit.obj : error LNK2005: "class std::vector<class produit,class std::allocator<class produit> > __cdecl efface_prod(class std::vector<class produit,class std::allocator<class produit> > &)" (?efface_prod@@YA?AV?$vector@Vproduit@@V?$allocator@Vpr
oduit@@@std@@@std@@AAV12@@Z) already defined in main.obj
produit.obj : error LNK2005: "void __cdecl gest_prod(class std::vector<class produit,class std::allocator<class produit> > &)" (?gest_prod@@YAXAAV?$vector@Vproduit@@V?$allocator@Vproduit@@@std@@@std@@@Z) already defined in main.obj
Debug/mini.exe : fatal error LNK1169: one or more multiply defined symbols found

que quelqu'un m'aide et merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
D3L_Man Messages postés 1 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 10 novembre 2008
10 nov. 2008 à 12:39
supprime tout les " .obj " que ta compilation a du générer , puis re compile
je pense que va résoudre le probleme
:)
tiens nous au courant du résultat 

#### issamux.blogspot.com #####
0
Rejoignez-nous