String einfügen und überprüfen C++ 

Status
Für weitere Antworten geschlossen.

Yoda2003

Registered +
Registriert
Mai 2005
Beiträge
980
Hallo,

ich möchte in meinem Programm eine Abfrage machen, ob der Benutzer "h", "min" oder "s" eingegeben hat.

Das ganze sollte dann ungefähr so aussehen:
Code:
char eingabe;
cout cin eingabe;

if(eingabe='h'){
...
}
else if .......

so ungefähr siet das aus, nur dieserr Char speicher leider nur ein Zeichen, d.h. wenn ich das Wort "min" in dieser Anwendung eingebe, kommt es zu Fehlern. Ein Ausweg wäre bestimmt ein String, aber da kenne ich mich leider zu wenig aus und google konnte mir auch nicht viel helfen :(

Vielleicht kann mir jemand dieses kleine Problem lösen.
Danke im Vorraus!

mfg
Yoda2003

edit: google hat mir folgendes ausgespcutk, zum Problem
char eingabe[10], angeblich soll das den Char auf 10 Zeichen erhöhen, aber ich kann es dann icht mehr kompilieren und vermute dass es C ist und nicht C++ :(
 
Also, char hat so an sich das da nur ein Zeichen reingeht^^, den der Variablentyp heist ja auch "Character" was so viel bedeutet wie "Zeichen".

Mit char eingabe[10] würdest du ein Array anlegen.

C++ Array Tutorial

Um zu deinem eigentlichen Problem zurückzukommen: Schau mal nach "Regulären Ausdrücken" oder "Regular Expressions" oder "RegEx". Mit RegEX steht dir wirklich ein mächiges Werkzeug zur Stringverarbeitung zur Verfügung.

Bei Fragen zu RegEx schreib mir mal eine PN.

mfg
Tischler
 
Anstatt mit char würde ich eher anraten mit std::string arbeiten (da kannst wie gesagt auch "min" eingeben), das sähe dann so aus:
Code:
std::string str;
std::cout std::getline(std::cin, str);

if (str == "h") std::cout else std::cout
 
getline Ist kein Element von 'std'

das spuckt mein compiler aus. ich programmiere in visual, kann es sein das dort der befehl anders heißt? Da mir die Methode von janine (der ich hier sehr danken möchte!!!) gefällt, würde ich sie auch gerne verwenden.

mfg
Yoda2003
 
Code:
#include 
using namespace std;

int main()
{
char eingabe;
cout cin >> eingabe;
switch(eingabe)
{
case 'h':
case 'H':
cout //CODE
break;
case 'm':
case 'M':
cout //CODE
break;
case 's':
case 'S':
cout //CODE
break;
default:
cout //CODE WENN EINGABE ETWAS ANDERES WAR
}
return 0;
}

Das Programm erwartet eine Eingabe wenn sie h, m oder s entspricht wird der dazugehörende Code ausgeführt
 
das ist wohl das was du wolltest :D hätte mir deinen post besser durchlesen sollen
Code:
#include 
#include 
using namespace std;

int main()
{
string eingabe;
cout cin >> eingabe;
if(eingabe == "h" || eingabe == "H")
{
cout //CODE
}
else if(eingabe == "min" || eingabe == "MIN")
{
cout //CODE
}
else if(eingabe == "s" || eingabe == "S")
{
cout //CODE
}
else
{
cout //CODE WENN EINGABE ETWAS ANDERES WAR
}

system("PAUSE");
return 0;
}
 
Vielen Dank!

habs dank blackJos Lösung nun kompilieren können und es funzt :)

@mods, hier kann geclosed werden.

mfg
Yoda2003
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

P
  • Gesperrt
  • geschlossen 
Antworten
2
Aufrufe
1K
-=[P3ac]=-
P
Zurück
Oben Unten