Hilfe was mach ich falsch

Also ich bin Anfänger in C++ und hab mal ein bisschen geübt und zwar macht der Compiler keine Fehler oder so sondern bei if muss ich irgendwelche Fehler machen denn wenn ich dieses Programm ausführen will und die frage wie geht es dir erscheint und ich schlecht hinschreibe erscheint „Ja dass ist tollAber warum denn?“
jetzt will ich wissen wie ich es schaffe das nur "Ach warum denn?"erscheint Danke schon mal im vorraus

#include
#include
#include
using namespace std;

int main()
{
string Name;
string Gefuehl;
string hm;

cout>Name;
cout>Gefuehl;

if(Gefuehl == „G“ || „g“ && „U“ || „u“ && „T“ || „t“)
{
cout>hm;
}
getch();
}

Hallo

bei if muss ich irgendwelche Fehler machen denn wenn ich
dieses Programm ausführen will und die frage wie geht es dir
erscheint und ich schlecht hinschreibe erscheint „Ja dass ist
tollAber warum denn?“
if(Gefuehl == „G“ || „g“ && „U“ || „u“ && „T“ || „t“)

if( (Gefuehl[0] == 'G' || Gefuehl[0] == 'g')
 && (Gefuehl[1] == 'U' || Gefuehl[1] == 'u')
 && (Gefuehl[2] == 'T' || Gefuehl[2] == 't') ) {

 ...

}

Aber trotzdem halte ich das nicht für optimal.
Besser leicht abändern:

#include // transform
#include // cout, cin
#include // string
#include // toupper
#include // getchar

using namespace std;

 int main()
{
 string Name;
 string Gefuehl;
 string hm;

 cout \> Name;

 cout \> Gefuehl;
 
 // Alle Schreibweisen "kanonisieren", also "GROSS" (toupper)
 transform(Gefuehl.begin(), Gefuehl.end(), Gefuehl.begin(), toupper);
 
 if(Gefuehl == "GUT") {
 cout \> hm;
 }
 else {
 cout \> hm;
 }

 getchar();
}

Grüße

CMБ

Hallo,

if(Gefuehl == „G“ || „g“ && „U“ || „u“ && „T“ || „t“)

|| ist logisches oder, d.h. du fragst unter anderem ab ob „t“ True ist - ist es.

Wenn du Strings vergleichen willst:
http://www.google.com/search?q=c%2B%2B+strings+vergl…

Gruesse,
Moritz

Hallo
Sehen wir uns mal diese Zeile an

if(Gefuehl == „Schlecht“ || „schlecht“)

Der == Operator hat eine höhere Präzedenz als die logischen Operatoren.
Also wird vorher das == durchgeführt, und dessen Ergebnis mit dem „schlecht“ geodert.
Angenommen du hast „solala“ eingegeben. Dann ergibt „solala“==„Schlecht“ false. „schlecht“ ist jedoch ungleich 0 und somit true. false || true -> true, das heißt was immer du eingibst dieses if ist immer wahr.
Richtig gehört:

if(Gefuehl=="Schlecht"||Gefuehl=="schlecht")

Dein erstes if kannst du äquivalent umschreiben:

if(Gefuehl=="Gut"||Gefuehl=="gut")

Liebe Grüße
Alex