Je n'arrive pas à éxecuter mon programme
Fermé
NiuSky
Messages postés
34
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
13 août 2019
-
Modifié le 9 août 2018 à 23:16
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 15 août 2018 à 16:25
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 15 août 2018 à 16:25
A voir également:
- Je n'arrive pas à éxecuter mon programme
- Programme demarrage windows 10 - Guide
- Lg non programmé ✓ - Forum TV & Vidéo
- Programme démarrage windows 10 - Guide
- Ce message d'erreur apparaît sur l'ordinateur d'elena. que peut-on dire du programme gwxux ? - Forum logiciel systeme
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
10 août 2018 à 14:27
10 août 2018 à 14:27
Bonjour NiuSky,
En fait ton problème n'est pas que ton programme ne s'exécute pas, mais qu'il ne compile pas en raison de ses erreurs de syntaxe.
Le compilateur doit t'indiquer au moins la première erreur qu'il trouve....
chez moi, le compilateur g++ se plaint de :
Compte tenu du reste de ton code, tu sembles vouloir utiliser un tableau de
Si c'est bien le cas, tu dois, avant de l'utiilser, déclarer ce tableau de
Donc insérer quelque part avant toute utilisation quelque chose comme :
Une fois que tu as corrigé ce premier problème, recompile ton code, et le compilateur t'en signalera d'autres. Et ainsi de suite. Cela s'appelle déboguer, et cela fait partie de ce que fait un programmeur. Essaye de comprendre les messages d'erreur et corriger par toi même avec leur aide et ton manuel / cours de C++.
Autres indications :
- les indices d'un tableau s'utilisent entre crochets, donc, comme tu fais avec le tableau de
- l'affectation d'une
Essaye de déboguer par toi même, cela fait partie de l'apprentissage,et dis nous si tu es bloqué.
Dal
En fait ton problème n'est pas que ton programme ne s'exécute pas, mais qu'il ne compile pas en raison de ses erreurs de syntaxe.
Le compilateur doit t'indiquer au moins la première erreur qu'il trouve....
chez moi, le compilateur g++ se plaint de :
$ g++ -Wall 35517065.cpp
35517065.cpp: In function ‘int main()’:
35517065.cpp:14:29: error: ‘nomMeilleurJoueur’ was not declared in this scope
nomMeilleurJoueur("nothing");
Compte tenu du reste de ton code, tu sembles vouloir utiliser un tableau de
stringpour y stocker 5 chaînes.
Si c'est bien le cas, tu dois, avant de l'utiilser, déclarer ce tableau de
string, tout comme tu déclares ton tableau de
const int.
Donc insérer quelque part avant toute utilisation quelque chose comme :
string nomMeilleurJoueur[nombreMeilleursScores];//Déclaration du tableau de string
Une fois que tu as corrigé ce premier problème, recompile ton code, et le compilateur t'en signalera d'autres. Et ainsi de suite. Cela s'appelle déboguer, et cela fait partie de ce que fait un programmeur. Essaye de comprendre les messages d'erreur et corriger par toi même avec leur aide et ton manuel / cours de C++.
nomMeilleurJoueur("nothing");donnera une erreur, car ce ne sera pas une fonction. A vrai dire, je ne vois pas ce que tu veux faire là, et je pense qu'il faut juste retirer cette ligne.
Autres indications :
- les indices d'un tableau s'utilisent entre crochets, donc, comme tu fais avec le tableau de
int, tu dois aussi utiliser des crochets avec le tableau de
string...
- l'affectation d'une
stringdéclarée au préalable se fait simplement
st = "une chaîne";et pas comme tu le fais.
Essaye de déboguer par toi même, cela fait partie de l'apprentissage,et dis nous si tu es bloqué.
Dal
Pinzou76
Messages postés
609
Date d'inscription
dimanche 17 septembre 2017
Statut
Membre
Dernière intervention
25 février 2019
190
13 août 2018 à 09:58
13 août 2018 à 09:58
Bonjour,
Autre problème: la fonction
Ajoutez un
Autre problème: la fonction
mainest déclarée en
int main()mais ne retourne aucune valeur en sortie.
Ajoutez un
return 0;à la fin ou déclarez-la en
void main()
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
13 août 2018 à 10:08
13 août 2018 à 10:08
Pinzou76
Messages postés
609
Date d'inscription
dimanche 17 septembre 2017
Statut
Membre
Dernière intervention
25 février 2019
190
13 août 2018 à 10:47
13 août 2018 à 10:47
Autant pour moi,
Tout ce que j'ai dit est faux.
Merci de m'avoir éclairé
Tout ce que j'ai dit est faux.
Merci de m'avoir éclairé
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié le 13 août 2018 à 12:14
Modifié le 13 août 2018 à 12:14
pas de problème, il y a des subtilités :-)
En C++, selon le standard, les prototypes valides sont
En ce qui concerne le
En C, les prototypes valides sont
Dal
En C++, selon le standard, les prototypes valides sont
int main()ou
int main(int argc, char* argv[]).
En ce qui concerne le
returrn 0;en fin de programme, avant la dernière accolade fermante de main, il est facultatif en C++, le compilateur devant faire en sorte que le programme retourne 0 au système d'exploitation si l'exécution arrive à ce stade.
En C, les prototypes valides sont
int main(void)ou
int main(int argc, char* argv[])et
return 0;est obligatoire jusqu'à C99. A partir de C99, un compilateur conforme à cette norme retournera 0 de façon implicite de la même façon qu'en C++.
Dal
11 août 2018 à 19:30
Modifié le 13 août 2018 à 09:54
Si tu as corrigé les problèmes signalés, tu as forcément de nouveaux messages d'erreur, pas les mêmes. Donc tu n'as pas "Toujours le même problème".
Poste ton code modifié sur le forum entre balises de code (pour utiliser les fonctionnalités de coloration syntaxique du forum), comme cela :
<code cpp>ton code ici</code>
ou en cliquant sur le bouton de ta fenêtre d'édition et en choisissant le langage cpp pour t'éviter de taper les balises
Poste aussi un copier coller de tes nouveaux messages d'erreur et dis nous ce que tu ne comprends pas.
essaye de m'envoyer le code intégralement
Je peux le faire,... en fait j'ai déjà écrit un code qui compile, sur la base du tien, en compilant et en corrigeant les erreurs ou avertissements, selon la méthode suivant : je traite le premier message d'erreur ou d'avertissement qui se manifeste, je recompile, je traite de nouveau le premier qui se manifeste, etc. Jusqu'à ce qu'il n'en reste plus et que le code compile proprement sans erreurs ni avertissements et s'exécute comme attendu. Mais ne penses-tu pas qu'il serait mieux que tu apprennes à déboguer ton code à l'aide des messages du compilateur ?
Dal
14 août 2018 à 16:49
15 août 2018 à 15:51
Voilà un code corrigé possible aussi proche que possible de celui originellement posté. Je n'aurais pas fait comme cela personnellement, mais le but est de montrer au posteur originel comment faire les choses en correction de son code, ce qui peut aussi être une forme d'apprentissage pour clarifier les confusions.
Modifié le 15 août 2018 à 16:13
plutôt que :
(et pareil dans la boucle for, avec l'initialisation de i qui pourrait plutôt s'écrire ).
en C++ l'effet est le même, mais comme il s'agit de types fondamentaux hérités du C, il me paraît naturel de les initialiser comme en C... mais c'est une question de style j'imagine.