Mc n1c1
Messages postés13Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention17 décembre 2005
-
26 nov. 2005 à 20:47
Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 2007
-
27 nov. 2005 à 12:23
Voici mon code :
#include
using namespace std;
int acceuil();
{
cout<<"Bienvenue sur VocaLatin 4eme-5eme";
cout<<"Ce logiciel vous permettra de tester vos connaissances de vocabulaire de 4eme et de 5eme";
cout<<"Voici le premier chiffre : "<<MonNombre = rand()%10<<endl;
}
int traduction();
{
1 == un
2 == deux
3 == trois
4 == quatre
5 == cinq
6 == six
7 == sept
8 == huit
9 == neuf
10 == dix
cout<<"Quelle est sa traduction francais ? :";cin>>traduction;
if traduction == MonNombre;
{
cout<<"Bien joué";
}
else
{
cout<<"Dommage!!";
}
return 0;
}
et voic les erreurs:
6 C:\Dev-Cpp\mes essais\voca latin\essai avec chiffre\main.cpp expected unqualified-id before '{' token
6 C:\Dev-Cpp\mes essais\voca latin\essai avec chiffre\main.cpp expected `,' or `;' before '{' token
13 C:\Dev-Cpp\mes essais\voca latin\essai avec chiffre\main.cpp expected unqualified-id before '{' token
13 C:\Dev-Cpp\mes essais\voca latin\essai avec chiffre\main.cpp expected `,' or `;' before '{' token
C:\Dev-Cpp\mes essais\voca latin\essai avec chiffre\Makefile.win [Build Error] [main.o] Error 1
shadow1779
Messages postés706Date d'inscriptionmercredi 17 novembre 2004StatutMembreDernière intervention29 septembre 2013 26 nov. 2005 à 21:17
j'ai peur de dire une betise car je ne prog qu'en C mais c'est pas
int tontruc() sans le ; et sinon "1 == un" ca me parrait bizarre en C
en tout cas tu peut pas
en C en gros ca donnerai
char buffer[10];
gets(buffer);
if(buffer == 1)
{
printf("la traduction en francais est un");
}
else if(buffer == 2)
{
....
}.
...
bref tu continue apres, j'pense en C++ ca doit etre pareil,
cs_neria
Messages postés319Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 février 2009 27 nov. 2005 à 09:29
Je veux pas faire le rabat joie, mais ce programme est ARCHI FAUX !!!! Ne le montre surtout pas à ton prof (si tu en as un) sinon il va avoir une crise cardiaque ! (Ou alors il n'y a pas tout le code ...)
1) int acceuil(); Mais tu es dingue ??? quand on met un point virgule après le nom d'une fonction c'est pour la déclarer or là tu dois la définir (définir son corps). Même remarque pour int traduction();
2) int acceuil() Tu ne retournes rien dans cette fonction.
3) MonNombre il est déclaré où est avec quel type ???? (je suppose que c'est un int vu son utilisation)
4) 1 == un ne veux rien dire en prog, je suppose que ce sont des commentaires donc à encadrer par /* */
5) traduction est déclaré où et avec quel type. (je suppose que c'est une chaîne)
6) if traduction == MonNombre; T'as fumé quoi ce jour là ??? il n'y a pas de parenthèses et ton if fini par un point virgule donc il n'y a pas d'action si la condition est réalisée.
7) MonNombre doit être déclaré en global ou encore mieux passé en paramètre.8) if traduction MonNombre En supposant que traduction est une chaîne et MonNombre un int. On ne peux PAS comparer une chaîne et un int avec un (sinon on compare les pointeurs). Si on suppose que traduction est un objet de type String perso (ou un truc qui lui ressemble) il faudrait que le == soit surchargé avec un int or je ne pense pas que ce soit le cas vu ton niveau de programmation. Dans tout les cas il faudrait les convertir dans le même type pour les comparer !
shadow tu a fait toi aussi des erreurs dans ton code, tu compares un char[] avec un int, c'est pas bien !!!
Voilà, je vais prendre des calmants :) Allez bonne journée à vous.
shadow1779
Messages postés706Date d'inscriptionmercredi 17 novembre 2004StatutMembreDernière intervention29 septembre 2013 27 nov. 2005 à 11:19
non tu peut tres bien avoir un chiffre , si quand y a le
gets(buffer) la personne met 1 buffer == "1" je sais j'aurai pu mettre
une int, mais j'me suis habitué a toujours faire un buffer qui sert a
tout, et sous vc++ si j'fais scanf("%d",une int); ca merdouille
cs_neria
Messages postés319Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 février 2009 27 nov. 2005 à 11:41
char buffer[256] ;
gets(buffer) ;
if (buffer == "1")
NE FONCTIONNE PAS !!! Le if va comparer les pointeurs et non le contenu de ceux ci, il faut faire un strcmp pour comparer deux chaines ! Et pour l'histoire du scanf il faut passer l'adresse de la variable int, mais c'est vrai que scanf s'arrête au premier espace ce qui est plus embêtant que le gets.
Vous n’avez pas trouvé la réponse que vous recherchez ?