[c++] parse error before string content
Fermé
edonist
Messages postés
1
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
6 mars 2005
-
6 mars 2005 à 22:24
SKZ81 - 16 mars 2005 à 22:06
SKZ81 - 16 mars 2005 à 22:06
A voir également:
- [c++] parse error before string content
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Cannot access offset of type string on string - Forum PHP
- Error 0x80070643 - Accueil - Windows
- Cpu over temperature error - Forum Matériel & Système
- Error 10 pioneer ✓ - Forum Autoradio
9 réponses
Ravachol
Messages postés
566
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
30 octobre 2005
120
7 mars 2005 à 18:11
7 mars 2005 à 18:11
Salut,
Ne le prend surtout pas mal, mais as tu jeté un oeil dans un bouquin ou un tutoriel avant de te lancer ? ;-)
Car ton code source semble être un mélange de mot clé de Pascal et de C++ avec une syntaxe qui ne fonctionnerait sur aucun compilateur.
Perso, je te conseillerais de commencer par suivre un tutoriel.
En voici 2:
http://www.ann.jussieu.fr/courscpp/Sommaire.html
http://www-ipst.u-strasbg.fr/pat/program/cpp/
Mais rien ne t'empêches d'en rechercher d'autres, sur le net, qui seraient plus adaptés à ton compilateur.
Bon programmation.
A++
Ne le prend surtout pas mal, mais as tu jeté un oeil dans un bouquin ou un tutoriel avant de te lancer ? ;-)
Car ton code source semble être un mélange de mot clé de Pascal et de C++ avec une syntaxe qui ne fonctionnerait sur aucun compilateur.
Perso, je te conseillerais de commencer par suivre un tutoriel.
En voici 2:
http://www.ann.jussieu.fr/courscpp/Sommaire.html
http://www-ipst.u-strasbg.fr/pat/program/cpp/
Mais rien ne t'empêches d'en rechercher d'autres, sur le net, qui seraient plus adaptés à ton compilateur.
Bon programmation.
A++
tu as oublé un';' sur cette ligne : int c (22);
pour le reste, ta syntaxe est un peu bizare quand meme ! t es sur que tu fais du C++ la ?
pour le reste, ta syntaxe est un peu bizare quand meme ! t es sur que tu fais du C++ la ?
en fait, je debute donc je sais pas trop comment faire. c'est pas tout a fait le programme que j'avais fais au debut, mais a force de corriger, j'ai reussi a n'avoir plus qu'une seule erreur avec ce programme là.
en gros voilà ce que c'est sensé faire:
saisir un entier a et un entier b. si a est egal à b, l'afficher et calculer c=a+b. sinon, voir si a est < à b est l'afficher, et calculer c=a+b. puis afficher "a+b est égal à" C.
et ils disent: on affichera la valeur de C, c'est pour ca que j'ai mis 22, en pensant que ce serait toujours ce resultat, et que donc a et b peuvent avoir une valeur de 11 si ils sont egaux, sinon, 10 et 12 ou 2 et 20, etc...
est ce que vous pensez que ce que j'ai fait pourrait me donner a peu pres ce que je recherche?
merci d'avance
en gros voilà ce que c'est sensé faire:
saisir un entier a et un entier b. si a est egal à b, l'afficher et calculer c=a+b. sinon, voir si a est < à b est l'afficher, et calculer c=a+b. puis afficher "a+b est égal à" C.
et ils disent: on affichera la valeur de C, c'est pour ca que j'ai mis 22, en pensant que ce serait toujours ce resultat, et que donc a et b peuvent avoir une valeur de 11 si ils sont egaux, sinon, 10 et 12 ou 2 et 20, etc...
est ce que vous pensez que ce que j'ai fait pourrait me donner a peu pres ce que je recherche?
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bon ben j'ai lu le tutorial, j'ai lu mon cours au moins 5 ou 6 fois, j'ai toujours l'impression d'avoir tout compris, j'ai changé mon programme au moins une vingtaine de fois, j'ai reussi assez souvent a ce qu'il me donne zero erreur, jusque là tout va bien.
par contre meme avec zero erreur il fait pas ce que je veux qu'il fasse. j'en ai marre, un petit probleme comme ca j'arrive pas le faire, je suis vraiment nul.
et j'en ai un encore pire a faire apres, je sais comment je vais faire pour m'en sortir.
#include <iostream>
int a=1,b=1 ;
int c(void)
{
return a+b;
}
main()
{
cout<<"entrez un nombre a\n";
cin>>"a";
cout<<"entrez 1 nombre b\n";
cin>>"b";
cout<<"a+b est égal à"<<"a+b"<<endl;
#if(a == b)
cout<<"a est égal à b"<<endl;
#elif(a < b)
cout<<"a est inférieur à b"<<endl;
#else
cout<<"a est superieur à b"<<endl;
#endif
cin>>"c==a+b";
cout<<"a+b est égal à"<<endl;
return 0;
}
voilà où j'en suis arrivé après maintes modifications.
le programme me met zero erreur.
je l'execute
il me demande un nombre a
je met au hasard un nombre, genre 2 par exemple.
j'appuie sur entrée
et là au lieu de me demander un 2e nombre , il m'envoie le message, comme quoi mon programme a rencontré une erreur, et que microsoft peut m'envoyer un rapport d'erreur ou je ne sais quoi...
:-(
s'il vous plait aidez moi...
par contre meme avec zero erreur il fait pas ce que je veux qu'il fasse. j'en ai marre, un petit probleme comme ca j'arrive pas le faire, je suis vraiment nul.
et j'en ai un encore pire a faire apres, je sais comment je vais faire pour m'en sortir.
#include <iostream>
int a=1,b=1 ;
int c(void)
{
return a+b;
}
main()
{
cout<<"entrez un nombre a\n";
cin>>"a";
cout<<"entrez 1 nombre b\n";
cin>>"b";
cout<<"a+b est égal à"<<"a+b"<<endl;
#if(a == b)
cout<<"a est égal à b"<<endl;
#elif(a < b)
cout<<"a est inférieur à b"<<endl;
#else
cout<<"a est superieur à b"<<endl;
#endif
cin>>"c==a+b";
cout<<"a+b est égal à"<<endl;
return 0;
}
voilà où j'en suis arrivé après maintes modifications.
le programme me met zero erreur.
je l'execute
il me demande un nombre a
je met au hasard un nombre, genre 2 par exemple.
j'appuie sur entrée
et là au lieu de me demander un 2e nombre , il m'envoie le message, comme quoi mon programme a rencontré une erreur, et que microsoft peut m'envoyer un rapport d'erreur ou je ne sais quoi...
:-(
s'il vous plait aidez moi...
Salut, ton prgm me mets des milliards d'erreurs à moi !! Lle code ci-dessous marche.
#include <iostream>
using namespace std;
int a=1,b=1 ;
int c(void)
{
return a+b;
}
main()
{
cout<<"entrez un nombre a\n";
cin>>a;
cout<<"entrez 1 nombre b\n";
cin>>b;
cout<<"a+b est égal à"<<a+b<<endl;
#if(a == b)
cout<<"a est égal à b"<<endl;
#elif(a < b)
cout<<"a est inférieur à b"<<endl;
#else
cout<<"a est superieur à b"<<endl;
#endif
//cin>>c==a+b;
//cout<<"a+b est égal à"<<endl;
return 0;
}
Je t'ai mis les deux lignes en commentaires car je ne c'est pas ce que tu veux faire. Tu as déjà calculé plus haut la somme a+b.
A la rigueur tu peux faire : int c=a+b; cout<<c<<endl;
Mais je n'aime pas du tout les #if... #elif... #else
fait plutot des :
if(condition)
{
blabla
}
else if{condition}
{
blabla
}
else
{
blabla
}
Mais rassure toi, on s'est tous prix la tête sur des exos "très simples". Mais il faut passer par cette étape.
Bon courage... et les forums sont là pour ca !
#include <iostream>
using namespace std;
int a=1,b=1 ;
int c(void)
{
return a+b;
}
main()
{
cout<<"entrez un nombre a\n";
cin>>a;
cout<<"entrez 1 nombre b\n";
cin>>b;
cout<<"a+b est égal à"<<a+b<<endl;
#if(a == b)
cout<<"a est égal à b"<<endl;
#elif(a < b)
cout<<"a est inférieur à b"<<endl;
#else
cout<<"a est superieur à b"<<endl;
#endif
//cin>>c==a+b;
//cout<<"a+b est égal à"<<endl;
return 0;
}
Je t'ai mis les deux lignes en commentaires car je ne c'est pas ce que tu veux faire. Tu as déjà calculé plus haut la somme a+b.
A la rigueur tu peux faire : int c=a+b; cout<<c<<endl;
Mais je n'aime pas du tout les #if... #elif... #else
fait plutot des :
if(condition)
{
blabla
}
else if{condition}
{
blabla
}
else
{
blabla
}
Mais rassure toi, on s'est tous prix la tête sur des exos "très simples". Mais il faut passer par cette étape.
Bon courage... et les forums sont là pour ca !
en effet, ca marche... mieux!
dejà apres m'avoir demander un nombre il m'en demande un deuxieme, c'est deja ca.
en fait apres ca, le programme, est sensé dire si a est egal, superieur ou inferieur à b. puis calculer c qui est égal à a+b.
et c'est ecrit sur l'exercice "on affichera la valeur de c" donc je suis en train de me demander si je ne dois pas determiner a l'avance une valeur pour c qui ferait que c serait une constante...
à moins que cela veuille dire que c'est le programme qui doit afficher la valeur de c (?)
dejà apres m'avoir demander un nombre il m'en demande un deuxieme, c'est deja ca.
en fait apres ca, le programme, est sensé dire si a est egal, superieur ou inferieur à b. puis calculer c qui est égal à a+b.
et c'est ecrit sur l'exercice "on affichera la valeur de c" donc je suis en train de me demander si je ne dois pas determiner a l'avance une valeur pour c qui ferait que c serait une constante...
à moins que cela veuille dire que c'est le programme qui doit afficher la valeur de c (?)
Attention, il existe une énorme différence entre ''=='' et '='
Le premier est un test d'égalité. (a == b) est une expression boolénne qui vaut soit 'VRAI' soit 'FAUX' (true et false sont les mot-clefs consacré, en C++).
a=b est une affection, a prend la valeur de b.
<b>if ( a==b ) {
cout << "a est égal à b" << endl;
} else {
cout << "a est différent b" << endl;
}</b>
permet de faire le test (en remplaçant ensuite '==' par '>' et '<' )
Puis
<b>c = a + b;</b>
permet de calculer c.
Par contre, attention, tu peut aussi écrire
<b>if (a=b) {
// code A
} else {
// code B
}</b>
qui compilera (avec éventuellement un warning), et éxécutera le code A si b est différent de 0, et le code B si b égale 0.
Car en interne, une valeur booléenne c'est 0 pour faux et toute les autres valeurs signifie vrai.
Le premier est un test d'égalité. (a == b) est une expression boolénne qui vaut soit 'VRAI' soit 'FAUX' (true et false sont les mot-clefs consacré, en C++).
a=b est une affection, a prend la valeur de b.
<b>if ( a==b ) {
cout << "a est égal à b" << endl;
} else {
cout << "a est différent b" << endl;
}</b>
permet de faire le test (en remplaçant ensuite '==' par '>' et '<' )
Puis
<b>c = a + b;</b>
permet de calculer c.
Par contre, attention, tu peut aussi écrire
<b>if (a=b) {
// code A
} else {
// code B
}</b>
qui compilera (avec éventuellement un warning), et éxécutera le code A si b est différent de 0, et le code B si b égale 0.
Car en interne, une valeur booléenne c'est 0 pour faux et toute les autres valeurs signifie vrai.