Problème de code...

MrTrickxy Messages postés 15 Statut Membre -  
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je débute à peine l'apprentissage du langage C++ et je ne comprends pas ce qui est faux :

#include <iostream>
int const nombreMeilleursScores(5);
int meilleursScores[nombreMeilleursScores];

meilleursScores[0] = 118218;
meilleursScores[1] = 100432;
meilleursScores[2] = 87347;
meilleursScores[3] = 64523;
meilleursScores[4] = 31415;

for(int i(0); int i<nombreMeilleursScores; ++i)
{
cout << meilleursScores[i] << endl;
}

S'affiche alors,
meilleursScores
n'est pas un type, alors que je l'ai déclaré précédemment. Que dois-je faire ?

Je vous remercie d'avance.

4 réponses

  1. buyaman Messages postés 722 Statut Membre 211
     
    bonjour,

    essaye avec ça

    #include <iostream>
    int const nombreMeilleursScores[5];
    int meilleursScores[nombreMeilleursScores];

    meilleursScores[0] = 118218;
    meilleursScores[1] = 100432;
    meilleursScores[2] = 87347;
    meilleursScores[3] = 64523;
    meilleursScores[4] = 31415;

    for(int i = 0; int i<nombreMeilleursScores; ++i)
    {
    cout << meilleursScores[i] << endl;
    }

    cordialement
    0
    1. Utilisateur anonyme
       
      nombreMeilleursScores n'est pas un tableau mais un entier ...
      0
  2. Utilisateur anonyme
     
    salut,

    le problème est que tu assigne tes valeurs en deho d'un espace de traitement je pense.

    Ecris nous tout ca dans main plutot :

    
    
    #include <iostream>
    int const nombreMeilleursScores(5);         
    int meilleursScores[nombreMeilleursScores];   
    
    
    int main
    {
    meilleursScores[0] = 118218;  
    meilleursScores[1] = 100432;  
    meilleursScores[2] = 87347;   
    meilleursScores[3] = 64523; 
    meilleursScores[4] = 31415;   
    
    for(int i(0); int i<nombreMeilleursScores; ++i)
    {
        cout << meilleursScores[i] << endl;
    }
    
    system("PAUSE");
    }
    


    naga
    0
  3. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    naga, je peux te massacrer pour avoir osé mettre
    system("PAUSE");
    ?
    Surtout que ça se fait aussi facilement de manière standard:
    std::getchar();

    Et t'as oublié les parenthèses du
    main
    .

    Et on ne met pas
    int
    devant le i de la 2e partie du
    for
    .

    #include <iostream>
    #include <cstdio>
    const int nombreMeilleursScores(5);         
    int meilleursScores[nombreMeilleursScores];   
    
    int main() {
        meilleursScores[0] = 118218;  
        meilleursScores[1] = 100432;  
        meilleursScores[2] = 87347;   
        meilleursScores[3] = 64523; 
        meilleursScores[4] = 31415;   
    
        for(int i = 0; i<nombreMeilleursScores; ++i) {
            std::cout << meilleursScores[i] << std::endl;
        }
    
        std::getchar();
        return 0;
    }
    
    

    from human import idiocy
    del idiocy
    0
    1. Utilisateur anonyme
       
      pour ce qui est du system, c'est plutot une vieille habitude pour le débug car je m'en f*** mais c'est vrai que c'est à éviter en cas de réponse =p

      bon sinon c'est surtout des copies trop rapides ... au moins ton code est plus propre et indenté ^^ (j'avais pas le temps de tester une compil -_-')
      0
  4. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
     
    Bonjour
    Une petite remarque, la commande
    système("PAUSE")
    est tout à fait correcte, pour afficher le résultat d'une portion de code, ou en mode débogage, Elle fait appel au système d'exploitation pour mettre notre système en pause, et demande par la suite l'intervention de l'utilisateur pour continuer. Sur certains systèmes le résultat de l'affichage n'est pas forcément évident à voir, car la fenêtre se ferme automatiquement dès la fin de l'instruction, exemple Windows, donc il y a aucune raison de ne pas utiliser
    system(" PAUSE ")
    , contrairement à
    std::getchar()
    qui attend une entrée de la part de l'utilisateur, celui-ci utilise le flux d'entrée du clavier, ce qui force le programmeur à vider à chaque fois le buffer pour une saisie correcte, pour la suite d'une instruction.

    Et cette ligne
     int const nombreMeilleursScores(5);
    je ne sais grand chose sur ton code mais sert à quoi ?

    #include <iostream>
    
    const int iMScore=5;		/* constante */
    
    int main(void){
    	
    	int meilleursScores[iMScore]={0};  	/* initialisation */ 
    	meilleursScores[0] = 118218;  
    	meilleursScores[1] = 100432;  
    	meilleursScores[2] = 87347;   
    	meilleursScores[3] = 64523; 
    	meilleursScores[4] = 31415;   
    
    	/* affichage */
    	for(int i=0;i<iMScore;i++)
        	   std::cout<<meilleursScores[i]<<std::endl;
        
    	return 0;
    }
    
    
    0
    1. d3rf
       
      ça sert a afficher des nombre en entier.
      0
    2. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
       
      Ok mais elle est fausse ta fonction, car si tu veux afficher que des valeurs ou autre msg par exemple, tu doit utiliser une fonction qui renvoie rien ? hors dans le cas de ton prototype elle renvoie un entier pourquoi ??, Sachant que, bien plus loin la boucle affichage les éléments de ton tableau, Perso je vois pas l'utilité de cette fonction explique moi.
      0