-- C++... Hilfe?

...komplette Frage anzeigen

2 Antworten

Das ist ja eine merkwürdige Aufgabe. Ich hoffe, dein Lehrer / Professor / Dozent hat euch eindringlich darauf hingewiesen, dass die Lösung a) nur kompilierbar ist, wenn man dem Compiler gesagt hat, dass er nicht so kleinlich sein soll, und dass es b) schlicht und ergreifend eine gefährliche Sicherheitslücke darstellt.

Trotzdem hier mal eine Beispiel-Lösung, die nur jedes zweite mal nach dem Alter fragt:

#include <iostream> // cout, endl

#include <cstddef> // size_t

int main(void) {
using namespace std;

for (size_t i = 0; ; ++i) {
int age;

cout << i << ": Enter your age [0 to exit]: ";

if (i & 1) {
cin >> age;

if (0 == age) {
break;
}
} else {
int dummy;
cin >> dummy;
}

cout << i << ": Your age is " << age << endl << endl;
}

cout << "Ende." << endl;
}

Falls du eine Warnung beim Kompilieren erhältst, ist das richtig so und der schrägen Aufgabenstellung geschuldet!

Eine Ausgabe sähe z. B. so aus:

0: Enter your age [0 to exit]: 123
0: Your age is 0

1: Enter your age [0 to exit]: 456
1: Your age is 456

2: Enter your age [0 to exit]: 0
2: Your age is 456

3: Enter your age [0 to exit]: 0
Ende.

Wie du siehst, wird der Stack wiederverwendet.

Fazit: Gewöhne dir so etwas nicht an! Ich hoffe, dein Lehrer / Professor / Dozent hat sich etwas tiefgründiges dabei gedacht! :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mizu17
05.10.2016, 20:35

Danke für die Antwort :)

0

Ein integer ist der Datentyp für ganzzahlige Werte, also z.B. für eine Variable 'Alter' in der du nur die Jahre einträgst, ist ein Integer genau das richtige.

Die Aufgabenstellung ist etwas kurios aber machbar, du brauchst zum einen eine Variable "Age" vom Typ integer und eine Nutzereingabe.
Dann bin ich nicht sicher von der Formulierung her ob du nur die Hälfte vom Alter Eintragen sollst oder nur jedes zweite Mal das Alter wirklich speichern.
Das ist je nachdem aber recht einfach machbar z.B. durch einen Zufallswert von 0-9, den du bestimmst und bei >=5 der Wert gespeichert wird und sonst nicht.

Zumindest sollst du zum Schluss den Wert von Age nutzen und in eine Textausgabe einbauen.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?