Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

1

06.11.2008, 15:21

[Erledigt] else if

Für was benötigt man eigentlich else if? wenn ich zum beispiel schreibe

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (Eingabe == "Hallo")
{
cout >> "Hallo";
}

else if (Eingabe == "Tschau")
{
cout >> ""Tschau";
}

else
{
cout >> "Weder Hallo noch Tschau";
}


man könnte doch genausogut das else vor dem if weglassen, dann kommt das raus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (Eingabe == "Hallo")
{
cout >> "Hallo";
}

if (Eingabe == "Tschau")
{
cout >> ""Tschau";
}

else
{
cout >> "Weder Hallo noch Tschau";
}


das bringt doch haargenau das selbe und ist sogar noch kürzer.
für was braucht man dann else if?


mfg Gon

2

06.11.2008, 15:24

nein, es ist nicht haargenau das selbe. mit else wird das zweite if nur aufgerufen wenn das erste if nicht zutrifft....

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

06.11.2008, 15:32

Re: else if

Zitat von »"Gon"«

das bringt doch haargenau das selbe und ist sogar noch kürzer.
für was braucht man dann else if?


Das ist ganz und garnicht das Selbe:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i = 5;

if ( i < 10 )
{
    printf( "i < 10\n" );
}

if ( i > 10 )
{
    printf( "i > 10\n" );
}
else
{
    printf( "i ist immer noch kleiner 10\n" );
}


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int i = 5;

if ( i < 10 )
{
    printf( "i < 10\n" );
}
else if ( i > 10 )
{
    printf( "i > 10\n" );
}
else
{
    printf( "i ist immer noch kleiner 10\n" );
}
@D13_Dreinig

4

06.11.2008, 15:36

else if kann doch auch rechenzeit sparen, da ja idR nicht alle Bedinungen geprüft werden müssen,
wenn man nur mit if arbeitet muss man aber alle bedingungen prüfen

oder ? xD

5

06.11.2008, 15:47

Re: else if

Wenn du dir das genau anschaust sieht man den unterschied.

In deinem Beispiel prüft er erst ob Eingabe "Hallo" entspricht.
Danach überprüft er, ob Eingabe "Tschau" entspricht und wenn dies nicht zutrifft, dann gibt er "Weder Hallo noch Tschau" aus. Für die Eingabe Hallo wäre die Ausgabe also:

C-/C++-Quelltext

1
2
Hallo
Weder Hallo noch Tschau



Im anderen Beispiel prüft er erstmal ob Eingabe "Hallo" entspricht. Und nur wenn dies nicht so ist, dann überprüft er ob Eingabe "Tschau" entspricht und gibt wenn dies nicht so ist "Weder Hallo noch Tschau" aus. Es wird also die zweite if-Bedingung nur geprüft, wenn die erste nicht zutrifft und somit werden die Befehle im else nur aufgerufen, wenn beide If-Bedingungen nicht zutreffen.

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

6

06.11.2008, 15:53

ok, danke, jetzt hab ichs verstanden ;)

mfg Gon

Werbeanzeige