Probleme programme
Résoluvoila mon pgm :
#include <iostream>
#include <string.h>
#include <conio.h>
#define MAX_TB 200
#define NBR_CHAMP_MAX 8
using namespace std;
class tPageweb
{
private :
char TableParams[MAX_TB];
int TableLongNom[NBR_CHAMP_MAX];
int TableDebutNom[NBR_CHAMP_MAX];
int TableDebutValeur[NBR_CHAMP_MAX];
int TableLongValeur[NBR_CHAMP_MAX];
int NombreChamp;
public :
void Initialize(char* chaine);
void Afficher();
bool DecomposerChaine();
char* LireNom(int Numnom,char* Nom);
char* LireValeur(int Numchamp, char* Valeur);
int LireNbrChamp();
}
/*********************************************************************************
*
* Initialize
*
**********************************************************************************/
void tPageweb::Initialize(char* chaine)
{
int b = strlen(*chaine);
if (b <= MAX_TB)
strcpy(TableParams,*chaine);
}
/*********************************************************************************
*
* Affichage
*
**********************************************************************************/
void tPageweb::Afficher()
{
int i = 0;
char chaine1;
char chaine2;
while(i < NombreChamp)
{
cout<<LireNom(i,&chaine1)<<"a pour valeur : "<<
LireValeur(i, &chaine2)<<endl;
cout<<"___________________________________________________________"<<endl;
}
getch ();
}
/*********************************************************************************
*
* Decomposition
*
**********************************************************************************/
bool tPageweb::DecomposerChaine()
{
/*************************************************************************
* Nombre de champs, debut nom et valeur
**************************************************************************/
int i = 0;
int j = 1;
int k = 0;
TableDebutNom[0] = 0;
NombreChamp = 1;
while (TableParams[i] != '\0')
{
if (TableParams[i] == '&')
{
TableDebutNom[j] = i;
j++;
}
if (TableParams[i] == '=')
{
NombreChamp++;
TableDebutValeur[i] = k;
k++;
}
i++;
}
}
int main()
{
char Machaine[MAX_TB] = "Nom=MonNom&Prenom=Moprenom&Age=MonAge";
tPageweb MaPage;
printf("<html><body>%s</body></hmtl>\n",Machaine);
MaPage.DecomposerChaine();
MaPage.Afficher();
getch();
return 0;
}
voila, il est assez simple, mais bon...je comprends pas :'(
merci d avance pour l aide
Configuration: Windows XP Firefox 2.0.0.8
17 réponses
Une étudiante utilisant Anjuta et souhaitant réécrire un programme C++ sous Dev C++ sur Windows XP se heurte à des échecs de compilation liés au code fourni. Plusieurs réponses évoquent des erreurs de syntaxe et de portage : point-virgule manquant, usage incorrect de strlen/strcpy sur des char*, et incohérences entre les signatures des méthodes. D'autres intervenants proposent des pistes pratiques, comme corriger les prototypes, ajuster les appels à LireNom et LireValeur, et tester le code dans un environnement compatible afin d'isoler les fautes. Des essais sur Code::Blocks et des vérifications d'erreurs soulignent des difficultés récurrentes liées à la portabilité et à la cohérence entre la définition et l'implémentation.
-
Salut,
C'est le genre de probléme qui semble extrêment complexe à s'en arracher les cheveux (je connais ;) )
mais la solution est simple : mettre un point-virgule à la fin d'une déclaration de classe :)
TSalm -
Salut !
Messages d'erreur ? -
34 C:\Dev-Cpp\pgm1\pgm.cpp new types may not be defined in a return type
34 C:\Dev-Cpp\pgm1\pgm.cpp two or more data types in declaration of `Initialize'
34 C:\Dev-Cpp\pgm1\pgm.cpp prototype for `tPageweb tPageweb::Initialize(char*)' does not match any in class `tPageweb'
19 C:\Dev-Cpp\pgm1\pgm.cpp void tPageweb::Initialize(char*)
34 C:\Dev-Cpp\pgm1\pgm.cpp `tPageweb tPageweb::Initialize(char*)' and `void tPageweb::Initialize(char*)' cannot be overloaded
C:\Dev-Cpp\pgm1\pgm.cpp In member function `tPageweb tPageweb::Initialize(char*)':
35 C:\Dev-Cpp\pgm1\pgm.cpp invalid conversion from `char' to `const char*'
35 C:\Dev-Cpp\pgm1\pgm.cpp initializing argument 1 of `size_t strlen(const char*)'
37 C:\Dev-Cpp\pgm1\pgm.cpp invalid conversion from `char' to `const char*'
37 C:\Dev-Cpp\pgm1\pgm.cpp initializing argument 2 of `char* strcpy(char*, const char*)'
voila, y en avais plus avant, mais j ai reussi (la haut, tu as le pgm que j ai pour le moment ;) ) -
Salut !
J'ai essayé chez moi avec Code:Blocks, sous Vista et j'ai comme l'impression que ça plante autant ;D
Je n'ai jamais fait ça de ma vie mais comme personne ne t'aidait... Je m'y suis peut être pris comme un pied ;D:: === verifieurDeCodeSitesOuForumCpp, Debug === :: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:35: error: new types may not be defined in a return type C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:35: error: two or more data types in declaration of `Initialize' C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:35: error: prototype for `tPageweb tPageweb::Initialize(char*)' does not match any in class `tPageweb' C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:19: error: candidate is: void tPageweb::Initialize(char*) C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:35: error: `tPageweb tPageweb::Initialize(char*)' and `void tPageweb::Initialize(char*)' cannot be overloaded C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:: In member function `tPageweb tPageweb::Initialize(char*)': C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:36: error: invalid conversion from `char' to `const char*' C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:36: error: initializing argument 1 of `size_t strlen(const char*)' C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:38: error: invalid conversion from `char' to `const char*' C:\Users\Documents\Projets Programation\verifieurDeCodeSitesOuForumCpp\main.cpp:38: error: initializing argument 2 of `char* strcpy(char*, const char*)' :: === Build finished: 9 errors, 1 warnings ===
Je ne connais pas le langage C++, désolé j'aurais bien aimé t'aider.
Bonne chance ! -
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
• « Poussin » de 6 à 7 ans
• « Pupille » de 8 à 9 ans
• « Minime » de 10 à 11 ans
• « Cadet » après 12 ans je vx savoir la repense c obligé -
ta dja essayé au moins ?
-
oui bien sur
-
fais un cc de ton programme pour voir
-
alors tu as a réponse toi?
-
je ne demande pas que l on me mache le taff mais seulement que l on m expliquepourqu oi sa passe sous anjuta et pas sous devcpp
-
Salut !
Désolé nagashima je ne m'adressais pas à toi mais à loulou0, qui semble avoir compris. ^^
Je suis passé pour l'agressif là, encore dsl... ;) -
lol c est moi qui m excuse, j avais mal compris. as de probleme . a bientot
-
je veux savoir comment optimiser un algrithme?
-
pour ton probleme avec l age : ' je le fais en direct ^^'
#include <conio.h>
#include <string.h>
#include <iostream>
using namespace std;
int age;
while (1) //boucle infini, tu peux mettre getch() != 'q' dedans, et q pour quitter
{
cout << "quel age as - il?"<< endl;
cin >> age;
if (age==6 || age == 7)
cout << "poussin" << endl;
.
.
. -
calculer la factorielle N!=1.2.3........d un entier naturel N on respectant que 0!=1
-
-
@myperenvoie le ici stp
-
@loulou0Salut !
Si tu ne comprend pas ce qu'on te dit, pourquoi continuer à poster ?????
C'est toi qui devrais te faire renvoyer ouais.
Donc si tu comprend toujours pas :
"BONJOUR" tu connais ? -
@SmallFitzok et merci d'avance
-
-
-
http://www6.syntaxerrors.info/?tdfs=1&searchbox=1&showDomain=1
Tu dois ajouter un ";" après la "}" de ta classe.
Bon codage :o) -
Salut !
Réponse ou pas ton topic n'a absolument rien à faire là.
Crée un nouveau topic, avec un titre bien spécifique et avec la question que tu te poses TOI.
Ensuite quand quelqu'un te demandes si tu as déjà essayé, montre que c'est bien le cas.
On veut t'aider pas te mâcher le travail. Si tu as la flemme tant pis...