Ich versuche, in 2 Stapeln einzufügen, aber aus irgendeinem Grund, wenn ich das Programm ausführen, wird die erste Schleife ausgeführt und überspringt dann die zweite Schleife.Wie Schleife zweimal, um verschiedene Werte in 2 verschiedene Stapel einzufügen
do
{
cout<<"enter data: ";
cin>>data;
cout<<data<<endl;
if (cin.fail()){
cin.clear();
break;
}
else{
stack1.push(data);
}
}while(cin.good());
//stack 2
do
{
cout<<"enter data: ";
cin>>data;
cout<<data<<endl;
if (cin.fail()){
cin.clear();
break;
}
else{
stack2.push(data);
}
}while(cin.good());
Wenn 'cin.good()' falsch wird, startet es nie die zweite Schleife. Sie können nach einer bestimmten Eingabe suchen und zur zweiten Schleife gehen, wenn Sie dies lesen –
Am Ende der ersten Schleife ist cin.good() false. Versuchen Sie vielleicht, cin.good() false vor der zweiten Schleife erneut zu machen. –
Warum würde es nie in die zweite Schleife kommen ?, es ist ein Do-While, es macht immer die erste Schleife. –