Je suis nouveau à C ++ alors je suis désolé pour mon manque de connaissances. Quoi qu'il en soit, j'essaie de retourner au menu après que je sache avec un cas.
Utilisation actuellement en utilisant un do-en attendant le "redémarrage" de BOOL pour changer de faux. P>
do { switch (wahl) { case 1: std::cout << "Bitte geben Sie den Grundwert ein: "; std::cin.clear(); std::cin >> grund_eingabe; std::cout << "\nBitte geben Sie den Prozentsatz (%) ein: "; std::cin.clear(); std::cin >> przsatz_eingabe; std::cout << "Der Prozentwert lautet: " + std::to_string(prozentwert_berechnen(grund_eingabe, przsatz_eingabe)) + "\n"; break; case 2: std::cout << "Bitte geben Sie den Grundwert (Gesamtanzahl) ein: "; std::cin.clear(); std::cin >> grund_eingabe; std::cout << "\nBitte geben Sie den Prozentwert ein: "; std::cin.clear(); std::cin >> przwert_eingabe; std::cout << "Der Prozentsatz lautet: " + std::to_string(prozentsatz_berechnen(grund_eingabe, przwert_eingabe)) + "\n"; case 3: std::cout << "Bitte geben Sie den Prozentsatz (%) ein: "; std::cin.clear(); std::cin >> przsatz_eingabe; std::cout << "\nBitte geben Sie den Prozentwert ein: "; std::cin.clear(); std::cin >> przwert_eingabe; std::cout << "Der Grundwert lautet: " + std::to_string(grundwert_berechnen(przsatz_eingabe, przwert_eingabe)) + "\n"; case 4: neustart = false; return 0; default: break; } } while (neustart != false);
4 Réponses :
Lorsque vous avez terminé avec le boîtier 1, il se réchauffe dans le boîtier 1 et pas le menu. P> blockQuote>
Oui, c'est exactement ce que vous avez écrit. Lorsque le commutateur
code> est terminé et
Neustart! = False code>, le programme se réchauffe sur le commutateur code> code> sans changer
wahl code>. Si vous souhaitez revenir au menu, vous devez inclure le menu de la boucle DO-While. P>
Fonctionne comme un charme, j'étais sur le point de commencer à faire des boucles, etc. Mais c'est vraiment plus simple, merci!
@Clark je suis heureux d'avoir aidé! Si moi, ou quelqu'un d'autre, pourrait résoudre votre problème, ce serait bien si vous accepté la réponse correspondante (✓ ). Voir aussi Que dois-je faire quand quelqu'un répond à ma question?
Vous passez la valeur Vous pouvez essayer: < / p> wahl code> dans l'instruction de commutation, mais vous n'avez jamais essayé de demander à l'utilisateur d'obtenir une entrée, de sorte que ne jamais être changée et bouclée pour toujours.
Modification la plus simple:
Parce que vous n'avez jamais demandé à l'utilisateur d'entrer une nouvelle valeur une fois que la boucle a démarré, chaque fois que la boucle redémarre la valeur de la WAH1 est toujours la dernière que vous avez entrée avant de démarrer la boucle.
do{ std::cout<<"Enter another option:"; std::cin>>wah1; switch(wah1){
Si
wahl code> ne change pas, alors
commutateur (wahl) code> va toujours sur le même cas code>.
Quelle est la valeur de la variable wahl avant la boucle? La variable wahl n'est jamais changée, au moins avoir une STD :: CIN pour la variable WAHL au début ou à la fin de la boucle afin que le commutateur ait du sens.
Dans
Case 4 Code>, Puis-je effacer la console et afficher à nouveau le menu et demander une entrée
wahl code>? Ne devrait-il pas travailler
Vous devriez demander à chaque itération de la boucle sinon vous ne pouvez jamais sortir de la boucle
D'ailleurs. Si vous revenez 0, vous n'avez même pas besoin de définir le Neustart sur TRUE ... Le retour quittera la boucle ainsi que la fonction où il est dans
Ah a du sens maintenant, je viens de prolonger la part du menu, merci!