56 votes

Comment introduire des valeurs dans un vecteur

J'essaie de demander à l'utilisateur d'entrer des nombres qui seront poussés dans un vecteur, puis d'utiliser un appel de fonction pour compter ces nombres.

Pourquoi cela ne fonctionne-t-il pas ? Je ne peux compter que le premier nombre.

template <typename T>
void write_vector(const vector<T>& V)
{
   cout << "The numbers in the vector are: " << endl;
  for(int i=0; i < V.size(); i++)
    cout << V[i] << " ";
}

int main()
{
  int input;
  vector<int> V;
  cout << "Enter your numbers to be evaluated: " << endl;
  cin >> input;
  V.push_back(input);
  write_vector(V);
  return 0;
}

0 votes

D'après mon expérience, cin ne capture que le premier token d'une chaîne, donc tout ce qui se trouve après un espace est coupé. Si vous voulez vraiment utiliser cin, lisez chaque variable séparément, ou demandez à l'utilisateur de séparer les valeurs par une virgule et de les analyser. Ou vous pouvez utiliser le tableau argv dans la méthode principale.

3 votes

Avez-vous essayé d'utiliser une variable supplémentaire ? Au lieu d'utiliser n pour la taille et l'entrée temporaire.

3 votes

Vous devriez expliquer ce qui ne fonctionne pas ici.

0voto

Rivendharan Points 21
cout << "do you like to enter the sem 2 score "<<endl;
cin >> sem2;

if (sem2 == 'Y' || sem2 == 'y')
{
    cout << "enter your subject count ";
    cin >> subjectcount;
    cout << " enter your scores :";
    for (int i = 0; i < subjectcount; i++)
    {
        double  ip;
        cout << (i+1) << " st score ";
        cin >> ip;
        sem2score.push_back(ip);
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X