Voici mon code:Dans C++, mon programme va automatiquement à l'invite suivante CIN sans laisser l'utilisateur d'ajouter l'entrée
#include <iostream>
using namespace std;
const int SENIOR_PRICE = 9;
const int ADULT_PRICE = 12;
const float CHILD_PRICE = 6.95;
const float TAX_RATE = .06;
int main()
{
string name;
string address;
int numSeniorTickets;
int numAdultTickets;
int numChildTickets;
cout << "Enter customer name:" << endl;
cin >> name;
cout << "Enter customer address:" << endl;
cin >> address;
cout << "How many senior season tickets?" << endl;
cin >> numSeniorTickets;
cout << "How many adult tickets?" << endl;
cin >> numAdultTickets;
cout << "How many child tickets?" << endl;
cin >> numChildTickets;
return 0;
}
Après que l'utilisateur entre son nom, ils sont ensuite invités à entrer leur adresse. Mais avant qu'ils peuvent entrer leur adresse, il demande également le nombre de billets de saison senior. Pourquoi saute-t-il une ligne d'entrée? Voici ce qui se passe:
Enter customer name:
Daniel Benson
Enter customer address:
How many senior season tickets?
5
How many adult tickets?
5
How many child tickets?
5
Ceci est dû au fait que le \ n 'est sorti de l'entrée du nom. Dans le cas d'une chaîne, cin cède le caractère de retour à la ligne dans le tampon d'entrée et lorsque le cin suivant est appelé, il prend le retour à la ligne du tampon et n'attend pas l'entrée de l'utilisateur. Essayez de vider le tampon avant de passer à la chaîne suivante. –
Je suis assez nouveau pour la programmation C++. Que voulez-vous dire par rinçage du tampon? – DanielBenson
C'est vraiment un problème que vous pourriez facilement résoudre vous-même en utilisant votre débogueur. – MrEricSir