Maison  >  Article  >  développement back-end  >  Comment puis-je stocker plusieurs entrées utilisateur dans un vecteur en utilisant cin en C ?

Comment puis-je stocker plusieurs entrées utilisateur dans un vecteur en utilisant cin en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 18:02:02747parcourir

How can I store multiple user inputs in a vector using cin in C  ?

Stockage des entrées utilisateur dans un vecteur à l'aide de cin

En C , un vecteur est un tableau dynamique qui peut stocker des éléments du même type. Pour stocker les entrées de l'utilisateur dans un vecteur, vous pouvez utiliser l'objet cin stream. Cependant, il est important de prendre en compte les limitations du code fourni.

Comprendre le code fourni

Le code donné tente de lire les chiffres de l'utilisateur et de les stocker dans un vecteur. Cependant, il ne capture que le premier numéro saisi. Pour résoudre ce problème, une boucle est nécessaire pour accepter en continu plusieurs entiers.

Solution

La version modifiée du code ci-dessous :

<code class="cpp">int main() {
  int input;
  vector<int> V;
  cout << "Enter your numbers to be evaluated: " << endl;

  // Use a loop to read multiple integers from cin
  while (cin >> input)
    V.push_back(input);

  write_vector(V);
  return 0;
}</code>

En utilisant la boucle, ce code mis à jour lit les nombres jusqu'à ce que l'utilisateur appuie sur Ctrl D (Linux/Mac) ou Ctrl Z (Windows). Chaque nombre saisi est ajouté au vecteur.

Considérations supplémentaires

Une approche alternative consiste à utiliser une valeur sentinelle. Cela permet à une valeur spécifique de signaler la fin de la saisie, comme indiqué ci-dessous :

<code class="cpp">int main() {
  int input;
  vector<int> V;
  cout << "Enter numbers (enter -1 to stop): " << endl;

  // Use a sentinel value to terminate input
  while (cin >> input && input != -1)
    V.push_back(input);

  write_vector(V);
  return 0;
}</code>

Dans ce scénario, la saisie de "-1" arrêtera la saisie de l'utilisateur et mettra fin à la boucle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn