Problème C++11 : deux getline à la suite
Joker
-
Joker -
Joker -
Bonjour,
J'essaie d'écrire un programme qui gère un tableau de vol pour un aéroport.
LE début du programme consiste à laisser l'utilisateur entrer les infos du vol :
Son code, le lieu de départ, le lieu d'arrivée, le jour et l heure de départ et le jour et l heur d'arrivée. Le problème arrive quand il entre le jour et l heure de départ (genre lundi 11:15) et ensuite pareil pour l'arrivée, voila mon problème :
avec deux cin ça marche pas puisqu'il y a un espace, alors je pensais utiliser le getline.
dans mon code ça donne :
cout << "Jour et heure de départ : "; cin>>ws; getline(cin, str1); //cin.ignore();
cout << "Jour et heure d'arrivée : "; cin>>ws; getline(cin, str2); //cin.ignore();
Ceci ne fonctionne pas, meme avec les cin.ignore()...
Merci déjà de m'aidé,
Flo
J'essaie d'écrire un programme qui gère un tableau de vol pour un aéroport.
LE début du programme consiste à laisser l'utilisateur entrer les infos du vol :
Son code, le lieu de départ, le lieu d'arrivée, le jour et l heure de départ et le jour et l heur d'arrivée. Le problème arrive quand il entre le jour et l heure de départ (genre lundi 11:15) et ensuite pareil pour l'arrivée, voila mon problème :
avec deux cin ça marche pas puisqu'il y a un espace, alors je pensais utiliser le getline.
dans mon code ça donne :
cout << "Jour et heure de départ : "; cin>>ws; getline(cin, str1); //cin.ignore();
cout << "Jour et heure d'arrivée : "; cin>>ws; getline(cin, str2); //cin.ignore();
Ceci ne fonctionne pas, meme avec les cin.ignore()...
Merci déjà de m'aidé,
Flo
A voir également:
- Problème C++11 : deux getline à la suite
- Windows 11 - Guide
- Logiciel montage vidéo gratuit windows 11 - Guide
- Mise à jour KB5077241 pour Windows 11 : à boire, à manger, et à jeter - Guide
- KB5077181 pour Windows 11 : n'installez pas cette mise à jour de février, elle fait planter des PC - Guide
- Logiciel optimisation pc windows 11 gratuit - Accueil - Utilitaires
4 réponses
Tu devrais essayer de demander d'abord le jour avec un type string puis l'heure et les minutes dans 2 int différent. Sauf si tu maîtrise la POO. Dans ce cas tu fais une classe qui prends en paramètres heures, minutes et jour.
Je fais peut être faux vu que j'ai que 14ans
Je fais peut être faux vu que j'ai que 14ans
Bonjour,
cin>>ws; getline(cin, str1);
Après cin>>ws; il va rester un '\n' dans le buffer qui sera lu dans getline(cin,str1); Dis autrement, t'auras l'impression que le getline(cin, str1) ne fait rien.
Ce qu'il faut faire, c'est de supprimer le '\n' du buffer juste après cin>>ws;. Par exemple en faisant : cin.ignore(numeric_limits<streamsize>::max(), '\n');
N'oublie pas de le faire pour str1 et str2.
Cdlt,
Google is your friend
cin>>ws; getline(cin, str1);
Après cin>>ws; il va rester un '\n' dans le buffer qui sera lu dans getline(cin,str1); Dis autrement, t'auras l'impression que le getline(cin, str1) ne fait rien.
Ce qu'il faut faire, c'est de supprimer le '\n' du buffer juste après cin>>ws;. Par exemple en faisant : cin.ignore(numeric_limits<streamsize>::max(), '\n');
N'oublie pas de le faire pour str1 et str2.
Cdlt,
Google is your friend