Ich wollte einen Countdown programmieren, der Rückwärts läuft. Man soll den Startwert eingeben ,der aktuelle Stand des Countdown soll ausgegeben werden und nach der Hälfte der Zeit soll noch ein Hinweis kommen. Da es bei geraden Zahlen keine Hälfte der Zeit gibt, wollte ich mit einer while - Schleife solange nach einem Startwert fragen, bis der "Programmnutzer" eine ungerade Zahl eingibt. Aber wenn jetzt eine ungerade Zahl eingegeben wird, beendet sich das Programm und der ganze else -Block wird nicht mehr ausgeführt. Ist das nach einer while - Schleife immer so?
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
...
// Variable
unsigned int Start;
// Variable Wert afragen
cout << "Gib den Startwert ein: ";
cin >> Start;
// Gerader Startwert? - solange bis ungerader startwert ist
if (Start%2 ==0)
{
while (Start%2 == 0)
{
cout << "Bitte einen neuen Startwert eingeben: ";
cin >> Start;
}
}
//ungerader Startwert - Countdown
else
{
for ( int i = Start; i>=0; i--)
{
cout << "Countdownstand: " << i << endl;
// Hinweis nach Halbzeit
if ( i== Start/2 +1)
cout << "Halbzeit:" << endl;
}
}
...
|
ich weiß dass das in der Aufgabe eigentlich noch gar nicht gefordert war, aber ich wollts mal ausprobieren.