cs_Elween
Messages postés2Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 mai 2004
-
29 mai 2004 à 13:10
cs_Elween
Messages postés2Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 mai 2004
-
29 mai 2004 à 15:25
Bonjour
J'ai un programme qui tournait parfaitement lorsque j'utisais les char. J'ai voulu remplacé ces derniers par des string en n'omettant pas #include<string> J'ai eu quelque soucis à la compilation et j'ai trouvé sur des forum qu'il fallait rajouté : using namespace std;
Tout fonctionne bien qd je compile et que je créé l'exécutable, j'ai 0 erreurs, 0 warning mais l'executable plante et me met deux messages d'erreurs à la suite comme quoi l'exe a planté. Lorsque je fais Débogage il me met dans le fichier OUTPUT.C
J'utilise Visual C++ version du pack Visual Studio 6
Est-ce que c'est déjà arrivé à quelqu'un ou quelqu'un connait-il la solution de mon problème ?
Elween
A voir également:
Warning: iso c++ forbids converting a string constant to 'char*' [-wwrite-strings]
cs_Elween
Messages postés2Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 mai 2004 29 mai 2004 à 15:25
Voivi le code complet en espérant ne rien avoir oublié
******************
// Fichier eleve.h definition de la classe Eleve
#ifndef _ELEV
#define _ELEV
#include<string>
using namespace std;
class Eleve
{
string nom; // nom de l'élève
float note; // note obtenue
public :
void init(string pnom, float pnote); // initialisation
string getNom(); // retourne le nom de l'élève
float getNote(); // retourne la note de l'élève
};
#endif
// Fichier Elevemethodes.cpp qui sert à obtenir le fichier Elevemethodes.obj décrivant les méthodes de la classe Eleve
// Fichier tabeleve.h définition de la classe TabEleves
#ifndef _TABELEV
#define _TABELEV
#include<vector>
#include"eleve.h"
using namespace std;
typedef vector<Eleve> Eleve_vector;
class TabEleves
{
Eleve_vector val; // les élèves mémorisés
public :
int getNb(); // retourne le nombre d'élèves mémorisés
void ajouter(Eleve ele); // ajoute un élève dans le tableau
Eleve valeur(int i); // retourne l'élève mémorisé à l'indice i
Eleve meilleur(); //retourne le meilleur élève mémorisé
Eleve moinsbon(); //retourne l'élève le moins bon mémorisé
float moyenne(); //retourne la moyenne des élèves mémorisés
int nbmoyenne(); //retourne le nombre d'élève ayant la moyenne ou plus
};
#endif
// Fichier tabelevemethode.cpp qui sert à obtenir le fichier tabelevemethode.obj décrivant les méthodes de la classe TabEleves
#include"eleve.h"
#include"tabeleve.h"
int TabEleves::getNb()
{
int nb;
nb = val.size();
return (nb);
}
void TabEleves::ajouter(Eleve ele)
{
int pos, i, nb;
val.resize(val.size()+1);
val[val.size()-1]=ele; // sentinelle
pos=0;
nb=val.size();
while (val[pos].getNote() < ele.getNote())
{
pos++;
}
if (pos = nb+1)
{
nb++; // ele est correctement placé
}
else
{
for (i=nb ; i=pos ;i=i-1)
{
val[i+1]=val[i];
}
val[pos]=ele;
nb++;
}
}
Eleve TabEleves::valeur(int i)
{
Eleve objele;
objele=val[i];
return(objele);
}
Eleve TabEleves::meilleur()
{
int nbeleve, indice, i;
float note;
float bnote;
nbeleve=val.size();
bnote=val[0].getNote();
indice=0;
for (i=1;i<=nbeleve;i++)
{
note=val[i].getNote();
if (note>bnote)
{
bnote=note;
indice=i;
}
}
return val[indice];
}
Eleve TabEleves::moinsbon()
{
int nbeleve, indice, i;
float note;
float mnote;
nbeleve=val.size();
mnote=val[0].getNote();
indice=0;
for (i=1;i<=nbeleve;i++)
{
note=val[i].getNote();
if (note<mnote)
{
mnote=note;
indice=i;
}
}
return val[indice];
}
float TabEleves::moyenne()
{
int i;
float totalnote, nbeleve;
float moy;
nbeleve=val.size();
totalnote=0;
for (i=0;i<=nbeleve;i++)
{
totalnote=totalnote + val[i].getNote();
}
moy = totalnote/nbeleve;
return moy;
}
int TabEleves::nbmoyenne()
{
Eleve objele;
int nbeleve, cpeleve, i;
nbeleve=val.size();
cpeleve=0;
for (i=0;i<=nbeleve;i++)
{
objele=val[i];
if (objele.getNote() >= moyenne())
{
cpeleve++;
}
}
return cpeleve;
}
//et enfin le fichier progeleve.cpp, progamme principal utilisant les objets des deux classes
// progelev.cpp : Defines the entry point for the application.
//