IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

un cin qui coince !


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de moniroge
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Par défaut un cin qui coince !
    Bonjour.
    J'ai un exo sur tableau dynamique récalcitrant à cause d'un cin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #include <iostream>
    #include <vector>
    using namespace std;
     
    int main()
    {
     vector<double> notesSur20;  
     for(int i(0); i<notesSur20.size(); ++i)
        {
         cout<<"donne une note sur 20 : ";
         cin >> notesSur20.push_back[0];  // ERROR : invalid types ‘<unresolved overloaded function type>[int]’ for array subscript
        }
     double moyenne(0); 
          for(int i=0; i<notesSur20.size(); ++i)
             {
               moyenne += notesSur20 [i]; 
             }
          moyenne /= notesSur20.size();  
         cout << "La moyenne de toutes ces notes est :  "<< moyenne << endl;
     return 0;
    }

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    push_back est une fonction, donc push_back[20] est une erreur.
    tu ne peux qu'appeler cette fonction (push_back(20)).

    Qui plus est, l'opérateur >> n'est défini que pour cin et une référence modifiable vers certains types, dont double.

    Il faut donc procéder en deux temps:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double d;
    cin >> d;
    notesSur20.push_back(d);
    En fait, il y a deux sous parties à ta boucle.
    • lire une note, qui pourrait etre une fonction retournant la note
    • stocker la note lue dans une liste.

  3. #3
    Membre averti Avatar de moniroge
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Par défaut
    hiii, merci ternelll en plus que c'est clair: je pige!!!
    Oui mais... heu, le code fonctionne, pas d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     #include <iostream>
    #include <vector>
    using namespace std;
     
    // moyenneDesValeursEntrees2
    /* Calcul de la moyenne des valeurs contenues dans un tableau (dynamique)
     * tableau dynamique: vector<type>nom(taille); et en haut un include <vector> */
     
    int main()
    {
     vector<double> notesSur20; 
     double note ; // je déclare la variable note qui répondra au cout ci-dessous
     for(int i(0); i<notesSur20.size(); ++i)
        {
         cout<<"donne une note sur 20 : ";
         cin >> note;  // ici l'utilisateur tape sa note
         notesSur20.push_back(note);
        }
     double moyenne(0); 
          for(int i=0; i<notesSur20.size(); ++i)
             {
               moyenne += notesSur20 [i]; 
             }
          moyenne /= notesSur20.size(); 
     cout << "La moyenne de toutes ces notes est :  "<< moyenne << endl;
     return 0;
    }
    donc le job fonctionne mais ne me demande pas "donne une note sur 20 : " et m'envoie:
    "La moyenne de toutes ces notes est : -nan
    ... s'est terminé avec le code 0 "

  4. #4
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Quelle est la taille de ton vecteur au lancement du programme ?

  5. #5
    Membre averti Avatar de moniroge
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Par défaut
    heu, je ne comprends pas trop la question;
    la taille du tableau, au départ... nulle je suppose; c'est un tableau vide au départ.

  6. #6
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Et donc ?

    Qu'en déduis-tu en traçant l'exécution de ton code, à la main ?

    Un indice : une valeur NaN (Not-a-Number) résulte le plus souvent d'une division par zéro.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. requete supression qui coince
    Par jawed dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 20/03/2008, 23h47
  2. update qui coince
    Par Empty_body dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/03/2008, 17h38
  3. Réponses: 3
    Dernier message: 30/03/2007, 18h03
  4. Multiples Jointures qui coince...
    Par Zeprecheur dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/03/2006, 12h20
  5. Un double Select doublé d un "for each" qui coince
    Par Sparal dans le forum Access
    Réponses: 4
    Dernier message: 09/02/2006, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo