KillaMarci
New member
Hi,
Ich poste erstmal den gesammten Programmcode und schildere dann unten meine Frage:
Aaalso:
Es geht um case 0: (rot markiert), welcher sich in case 4 (grün markiert) befindet.
Case 0 fordert den Benutzer ja zur erneuten Eingabe einer Zahl ein, falls die davor eingegebene Zahl eine 0 war. Wenn er jetzt aber bei der zweiten Frage wiederum eine 0 eingibt(obwohl er das ja eigentlich nicht soll, kann aber ja vorkommen) stürzt das Programm ab (ist ja auch klar warum)
Nun meine Frage: Wie kann ich es hinkriegen, dass der Benutzer immer und immer wieder aufgefordert wird eine neue Zahl einzugeben, wenn die vorherige eine 0 war, ohne dass ich das gleiche immer und immer wieder in Case 0 schreiben muss? 😕
Ich denke mal, dass ganze kann man mit irgendeiner Schleife lösen..kenne mich aber mit Schleifen nicht besonders gut aus, und bräuchte da mal ein wenig Hilfe.
Hoffe die Frage war soweit verständlich (ist ein wenig kompliziert auszudrücken)
Gruß,
KillaMarci
Ich poste erstmal den gesammten Programmcode und schildere dann unten meine Frage:
Code:
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main (int argc, char *argv[])
{
int rechart,zahla,zahlb;
printf("\nMenue zur Berechnung");
printf("\n1.Addition");
printf("\n2.Subtraktion");
printf("\n3.Multiplikation");
printf("\n4.Division");
printf("\n\n5.Programm Beenden");
printf("\n\n\nBitte waehlen Sie eine Rechenart: ");
cin >> rechart;
switch(rechart)
{
case 1:
printf("\n\nSie muessen nun 2 Zahlen eingeben");
printf("\nGeben Sie nun ihre erste Zahl ein: ");
cin >> zahla;
printf("\nGeben Sie nun ihre zweite Zahl ein: ");
cin >> zahlb;
printf("\nRechnung: %i + %i = %i",zahla,zahlb,zahla+zahlb);
break;
case 2:
printf("\n\nSie muessen nun 2 Zahlen eingeben");
printf("\nGeben Sie nun ihre erste Zahl ein: ");
cin >> zahla;
printf("\nGeben Sie nun ihre zweite Zahl ein: ");
cin >> zahlb;
printf("\nRechnung: %i - %i = %i",zahla,zahlb,zahla-zahlb);
break;
case 3:
printf("\n\nSie muessen nun 2 Zahlen eingeben");
printf("\nGeben Sie nun ihre erste Zahl ein: ");
cin >> zahla;
printf("\nGeben Sie nun ihre zweite Zahl ein: ");
cin >> zahlb;
printf("\nRechnung: %i * %i = %i",zahla,zahlb,zahla*zahlb);
break;
[COLOR="DarkGreen"][B]case 4:[/B][/COLOR]
printf("\n\nSie muessen nun 2 Zahlen eingeben");
printf("\nGeben Sie nun ihre erste Zahl ein: ");
cin >> zahla;
printf("\nGeben Sie nun ihre zweite Zahl ein: ");
cin >> zahlb;
switch(zahlb)
{
[COLOR="Red"][B]case 0:[/B][/COLOR]
printf("\nSie koennen nicht durch Null teilen!");
printf("\nBitte geben sie eine andere zweite Zahl ein(nicht 0): ");
cin >> zahlb;
printf("\nRechnung: %i : %i = %i",zahla,zahlb,zahla/zahlb);
break;
default:
printf("\nRechnung: %i : %i = %i",zahla,zahlb,zahla/zahlb);
break;
}
break;
case 5:
printf("Druecken Sie eine Taste um das Programm zu beenden");
break;
}
getch();
return 0;
}
Aaalso:
Es geht um case 0: (rot markiert), welcher sich in case 4 (grün markiert) befindet.
Case 0 fordert den Benutzer ja zur erneuten Eingabe einer Zahl ein, falls die davor eingegebene Zahl eine 0 war. Wenn er jetzt aber bei der zweiten Frage wiederum eine 0 eingibt(obwohl er das ja eigentlich nicht soll, kann aber ja vorkommen) stürzt das Programm ab (ist ja auch klar warum)
Nun meine Frage: Wie kann ich es hinkriegen, dass der Benutzer immer und immer wieder aufgefordert wird eine neue Zahl einzugeben, wenn die vorherige eine 0 war, ohne dass ich das gleiche immer und immer wieder in Case 0 schreiben muss? 😕
Ich denke mal, dass ganze kann man mit irgendeiner Schleife lösen..kenne mich aber mit Schleifen nicht besonders gut aus, und bräuchte da mal ein wenig Hilfe.
Hoffe die Frage war soweit verständlich (ist ein wenig kompliziert auszudrücken)
Gruß,
KillaMarci