Je n'arrive pas à éxecuter mon programme
NiuSky
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'essaye d'apprendre le C++ est dès que j'essaye de faire quelques chose de moi même rien ne marche.
Voici le code :
Donc voila si vous pourriez m'aider ça serait vraiment sympa
Voici le code :
#include <iostream> #include <string> using namespace std; int main() { int const nombreMeilleursScores(5); //La taille du tableau int meilleursScores[nombreMeilleursScores]; //Déclaration du tableau nomMeilleurJoueur("nothing"); meilleursScores[0] = 118218; //Remplissage de la première case meilleursScores[1] = 100432; //Remplissage de la deuxième case meilleursScores[2] = 87347; //Remplissage de la troisième case meilleursScores[3] = 64523; //Remplissage de la quatrième case meilleursScores[4] = 31415; //Remplissage de la cinquième case string nomMeilleurJoueur(0) = ("Nanoc"); string nomMeilleurJoueur(1) =("M@teo21"); string nomMeilleurJoueur(2) = ("Albert Einstein"); string nomMeilleurJoueur(3) = ("Isaac Newton"); string nomMeilleurJoueur(4) = ("Archimede"); for(int i(0); i<nombreMeilleursScores,nomMeilleurJoueur; ++i) { cout << i << ")" << nomMeilleurJoueur << " avec un score de " << meilleursScores[i] << endl; } }
Donc voila si vous pourriez m'aider ça serait vraiment sympa
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Je n'arrive pas à éxecuter mon programme
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
2 réponses
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
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()
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
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
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.
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.