Forum: PC-Programmierung C++ Buchstaben in Variable einlesen


von nvidia (Gast)


Lesenswert?

Hallo zusammen,

ich habe eine Frage.
Ich möchte gerne eine Folge von Bustaben in eine Variable ein lesen und 
dann abfragen.

Brauchen tue ich das für mein Programm.
In diesem Programm gibt es eine bestimmte Anzahl von Fragen mit jeweils 
drei Antwortmöglichkeiten (A,B,C)

Die antworten werden dann in die Variable eingelesen und am ende mit 
einem Schlüssel verglichen.

Z.B.:
ABCCA = ABCAA <-- Falsch!
ABCCA = ABCCA <-- Richtig!

Die Frage ist nur wie stelle ich das an? Also ich will dafür den Typ 
"Char" verwenden.

von Daniel F. (df311)


Lesenswert?

cin

mehr darüber verrät das lehrbuch oder tutorial des vertrauens...

von Klaus W. (mfgkw)


Lesenswert?

Wie bekommt man vier Buchstaben in ein char?
Mit ZIP?

von Klaus W. (mfgkw)


Lesenswert?

Vielleicht ist Char ja ein Typ für Strings, char wäre ja nur für ein 
Zeichen. :-)

von Michael R. (dj_motionx)


Lesenswert?

Hy !

Stichwort String !
C++ hat dafür einen eigenen schönen Datentyp.
http://www.cplusplus.com/reference/iostream/stringstream/

Ich verwende ganz gern
http://www.cplusplus.com/reference/
(ohne jetzt hier Werbung zu machen)
Hier kannst du alles gut erklärt mit Beispielen nachlesen.

NICHT AUFGEBEN Du kriegst das alleine mit etwas nachlesen locker hin.

Have fun

von Karl H. (kbuchegg)


Lesenswert?

Meine Interpretation der Frage

Er liest die Antworten sukzessive ein. Eine nach der anderen.
Wobei er jedesmal nur 1 char benutzen will um dann die Antworten 
irgendwo zu sammeln.

Allerdings hat er das Problem aller Newbies - nach der Eingabe des 
Benutzers muss der Benutzer noch Return drücken, was den TO stört. Nur 
leider hat C++ dafür kein Rezept. C++ weiß noch nicht einmal, dass es 
sowas wie eine Tastatur überhaupt gibt. Daher in deinem eigenen 
Interesse: Leb erst mal damit, bis du dann lernst, wie man sowas auf 
deinem konkreten System machen kann.

Und für den Rest: Michael hat recht. Das ist nicht wirklich Hexenwerk. 
Wenn du jemals eine Eingabe in ein Programm programmiert hast, dann 
musst du das hinkriegen. Das hat jetzt nicht viel Sinn, dir das hier 
vorzubeten.

von nvidia (Gast)


Lesenswert?

Danke für den Tipp.
Ich habe es jetzt einen kleinen Versuch mit String geschrieben.

#include "iostream"
#include <conio.h>
#include <string>

using namespace std;

int main ()
{

 string Antwort;



 cout << "1: ";
 cin >> Antwort;
 cout << endl;
 cout << "2: ";
 cin >> Antwort;
 cout << endl;
 cout << "3: ";
 cin >> Antwort;
 cout << endl;
 cout << "4: ";
 cin >> Antwort;
 cout << endl;
 cout << "5: ";
 cin >> Antwort;
 cout << endl;

 cout << "Die Antwort ist: ";
 cout << Antwort;
 getch ();


}

Allerdings schreibt er die Bustaben nich nacheinander in den String. 
Denn wenn ich am ende den String ausgeben lasse dann kommt nur der 
letzte Bustabe.
Leider komme ich nicht darauf was ich falsch mache.

von Salewski, Stefan (Gast)


Lesenswert?

>Allerdings schreibt er die Bustaben nich

Du hattest oben schon "Bustaben" getippt! Einmal kann man sich ja 
vertippen, aber dann reicht es auch. Und "nich" gibt es auch nicht, da 
verliert villeicht selbst Herr Buchegger die Geduld.

von Salewski, Stefan (Gast)


Lesenswert?

>verliert villeicht

vielleicht!

Und dann vertippe ich mich auch gleich selber -- aber ich will ja auch 
keine Hilfe...

von Uwe (Gast)


Lesenswert?

Gugel mal strcat strcmp strcpy

von NurEinGast (Gast)


Lesenswert?

Mit
  cin >> Antwort;

wird die Variable "Antwort" jeweils neu befüllt.
Die Werte, die vorher drin standen, werden glöscht.

Wenn Du also die alten Werte in "Antwort" behalten willst, dann musst Du 
sie z.B. in einem anderen String speichern o.ä.

von nvidia (Gast)


Lesenswert?

Oh sorry,

ist mir gerade aufgefallen. Ich hoffe das wird mir noch mal verziehen. 
:D

von Karl H. (kbuchegg)


Lesenswert?

Uwe schrieb:
> Gugel mal strcat strcmp strcpy

bloss nicht.
Er benutzt std::string. Das ist schon in Ordnung.

von Karl H. (kbuchegg)


Lesenswert?

nvidia schrieb:

> Allerdings schreibt er die Bustaben nich nacheinander in den String.

Natürlich nicht.
Jede Eingabe ersetzt das was vorher im String stand.

Wenn du

   int i;

   cin >> i;
   cin >> i;

machst, würdest du dich auch schön bedanken, wenn die beiden Eingaben da 
irgendwie miteinander verknüpft werden würden.

von nvidia (Gast)


Lesenswert?

Ja das stimmt. Aber wie kriege ich es dann hin, dass ein weiterer Wert 
dem String hinzugefügt wird?

von Arc N. (arc)


Lesenswert?

nvidia schrieb:
> Ja das stimmt. Aber wie kriege ich es dann hin, dass ein weiterer Wert
> dem String hinzugefügt wird?

Nicht "den" String überschreiben, sondern...

von Karl H. (kbuchegg)


Lesenswert?

nvidia schrieb:
> Ja das stimmt. Aber wie kriege ich es dann hin, dass ein weiterer Wert
> dem String hinzugefügt wird?

Wie wärs mit einer weiteren Stringvariable, in der du selber die 
Einzelteile zusammenfügst?

Du liest einen String ein und hängst kopierst ihn in diese Hilfsvariable 
in der der komplette String entstehen soll.
Dann liest du den nächsten String ein und hängst ihn hinten an den 
"kompletten String" an. Und mit der nächsten Eingabe machst du dasselbe 
noch einmal. Und so weiter.

Es ist durchaus erlaubt mehrere Variablen zu benutzen.

von Udo S. (urschmitt)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Es ist durchaus erlaubt mehrere Variablen zu benutzen.

Ich spiel jetzt mal den Karl Heinz und sage zum TO:
Du brauchst ein C(++) Buch
Und musst es auch lesen. So richtig von vorne, jedes Kapitel...

von nvidia (Gast)


Lesenswert?

Danke für die Hilfe. Ich habe es hinbekommen.


Udo Schmitt schrieb:
> Ich spiel jetzt mal den Karl Heinz und sage zum TO:
> Du brauchst ein C(++) Buch
> Und musst es auch lesen. So richtig von vorne, jedes Kapitel...

Klare Ansage. Könnt ihr mir denn ein gutes Buch empfehlen? Denn es gibt 
einige Bücher und die Lesermeinungen sind zu den Büchern sehr 
unterschiedlich.

von Karl H. (kbuchegg)


Lesenswert?

nvidia schrieb:
> Danke für die Hilfe. Ich habe es hinbekommen.

Gut.

> Klare Ansage. Könnt ihr mir denn ein gutes Buch empfehlen? Denn es gibt
> einige Bücher und die Lesermeinungen sind zu den Büchern sehr
> unterschiedlich.

Das sind sie immer :-)

Ich hab den Stroustrup immer seh gemocht, kenn aber auch Meinungen von 
Leuten, die damit nicht zurecht gekommen sind.

Meine Empfehlung wäre: Geh an einem Nachmittag in eine Buchhandlung und 
schmökere einfach ein paar durch. Der mit dessen Stil du zurecht kommst, 
den nimmst du.

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.