Forum: Offtopic C++ Programmieraufgabe


von Wul G. (Gast)


Lesenswert?

Hallo ich habe mir ein C++ Programmierbuch zugelegt und bin gerade dabei 
die Aufgaben darin zu programmieren. Bei dieser Aufgabenstellung bin ich 
nicht weitergekommen:
1
Schreiben Sie ein Programm, das aus einer while-Schleife besteht,
1
die bei jedem Schleifendurchlauf zwei int-Werte einliest und diese dann ausgibt.
1
Verlassen Sie das Programm wenn zum Beenden ein '|' eingegeben wurde.

Die Schleife so zu programmieren, dass sie zwei int-Werte einliest ist 
nun wirklich nicht das Problem, aber wie soll ich denn in 
integer-Variablen, Zeichen einlesen? Geht doch gar nicht.

von Gregor O. (zappes)


Lesenswert?

Kleiner Tipp: Char einlesen, mit atoi oder sowas nach int konvertieren. 
Das verhindert auch gleich, dass Dein Programm bei einer Fehleingabe 
sofort abraucht und Kerne wirft.

von Klaus W. (mfgkw)


Lesenswert?

Noch ein Nach-Tip:

Gregor Ottmann schrieb:
> Char einlesen

Damit ist nicht ein einzelnes char gemeint.

von Max H. (hartl192)


Lesenswert?

Du könntest wenn du die Eingabe noch als String hast mit
1
if(eingabe[0]=='|')
abfragen.

von P. M. (o-o)


Lesenswert?

Wul Ga schrieb:
> Die Schleife so zu programmieren, dass sie zwei int-Werte einliest ist
> nun wirklich nicht das Problem, aber wie soll ich denn in
> integer-Variablen, Zeichen einlesen? Geht doch gar nicht.

Geht zunächst mal nicht, ja. Aber dafür gibt es Funktionen, die dir das 
Buch eigentlich erklären sollte.

von Wul G. (Gast)


Lesenswert?

Danke für die Antworten. Muss ich die Aufgabe also auf indirektem Wege 
lösen?

Wenn man die Aufgabenstellung genau nimmt, darf ich aber nur 2 
int-Variablen deklarieren und muss dennoch abfangen können wenn ein 
Zeichen eingegeben wird. Das erscheint mir aber irgendwie unmöglich.

Wenn ich von vornherein zwei string-variablen deklariere, und diese dann 
später in int umwandeln will, bekomme ich eine Fehlermeldung, dass das 
nicht möglich ist.

von Tex A. (tex)


Lesenswert?

>> Schreiben Sie ein Programm, das aus einer while-Schleife besteht,

also z.B   while(1)


oder z.B. while(getch()!= '|')

??

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Wul Ga schrieb:
> Schreiben Sie ein Programm, das aus einer while-Schleife besteht,

while (...)

> die bei jedem Schleifendurchlauf zwei int-Werte einliest und diese
> dann ausgibt.

fgets()
sscanf()
printf()

> Verlassen Sie das Programm wenn zum Beenden ein '|' eingegeben
> wurde.

if (buf[0] == '|') ...

: Bearbeitet durch Moderator
von Εrnst B. (ernst)


Lesenswert?

Frank M. schrieb:
> fgets()
> sscanf()
> printf()

Hmm... ob das nicht als Schummeln gewertet wird, wenn die 
Aufgabestellung "C++ Programmieraufgabe" lautet?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Εrnst B✶ schrieb:
> Hmm... ob das nicht als Schummeln gewertet wird, wenn die
> Aufgabestellung "C++ Programmieraufgabe" lautet?

Upps, das ++ im Titel hatte ich überlesen.

Dann halt:

std::getline
std::string

;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.