PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ if, else



Tyc0rc 4 SwizZ
23.12.2008, 14:12
hmm ich hab vor ner weile angefangen mir die C++ Syntax antuschauen...
ich hab ma eben folgenes kleines programm geschrieben



#include<iostream>
using namespace std;

int main()
{
int a;
int b;

cout<<"Bitte wertA definieren \n";
cin>>a;

cout<<"Bitte WertB definieren \n";
cin>>b;

if(a != b)
{
cout<<"WertA ist nicht gleich WertB \n";

if(a < b)
{
cout<<"WertB ist grösser als WertA \n";
}

if(a > b)
{
cout<<"WertA ist grösser als WertB \n";
}
}
else
{
if(a == b)
{
cout<<"WertA ist gleich WertB \n";
}
}
}


doch die ausgabe sagt immer
"WertA ist gleich WertB"

aber ich kann nirgends ein fehler im Programm entdecken?

auch beim Kompilieren wird keine fehlermeldung angezeigt?

was mach ich falsch

ich arbeite mit
Dev-C++

mfg

Darkmiller
23.12.2008, 14:16
welche werte haste denn eingegeben?^^

aus ersten blick ich kein Fehler entdeckt ich hau das ding nochmal durch den compiler warte...

Assassina
23.12.2008, 14:20
Hmm, also das hier verstehe ich nicht so ganz:

else
{
if(a == b)
{
cout<<"WertA ist gleich WertB \n";
}
}

Es reicht doch:

else
{
cout<<"WertA ist gleich WertB \n";
}

Hab das jetzt nicht getestet, aber könnte mir vorstellen, dass da der Fehler ist.

Darkmiller
23.12.2008, 14:22
so geht es auf jeden Fall:


#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
int a;
int b;
cout << "Gib bitte A an: ";
cin>>a;
cout << endl << "Gib bitte B an: ";
cin>>b;

if(a==b){
cout << a << " = " << b << endl;
}else if(a > b){
cout << a << " ist groesser als " << b << endl;
}else if(b > a){
cout << b << "ist groesser als " << a << endl;
}
system("PAUSE");
return 0;
}

Tyc0rc 4 SwizZ
23.12.2008, 14:22
hmm ich hab immer den werte zwischen 1 - 10 gebraucht...
also nich im bereich von integer
...

hmm habs schon mehrmals kompiliert...

die codepassage die du da rausgeschnitten hast ist meiner meinung nach korrekt :S

löl spinnt etwa mein compiler xD ?

Darkmiller
23.12.2008, 14:26
Installiere ihn einfach neu vielleicht geht es dann ;)

PS: Der Code ganz oben funktioniert bei mir und ich benutze auch Dev-C++

blackberry
23.12.2008, 14:42
blackberry@system:~$ cd Desktop
blackberry@system:~/Desktop$ cat a.cpp
#include<iostream>
using namespace std;

int main()
{
int a;
int b;

cout<<"Bitte wertA definieren \n";
cin>>a;

cout<<"Bitte WertB definieren \n";
cin>>b;

if(a != b)
{
cout<<"WertA ist nicht gleich WertB \n";

if(a < b)
{
cout<<"WertB ist grösser als WertA \n";
}

if(a > b)
{
cout<<"WertA ist grösser als WertB \n";
}
}
else
{
if(a == b)
{
cout<<"WertA ist gleich WertB \n";
}
}
}
blackberry@system:~/Desktop$ g++ a.cpp -o a
blackberry@system:~/Desktop$ ./a
Bitte wertA definieren
2
Bitte WertB definieren
3
WertA ist nicht gleich WertB
WertB ist grösser als WertA
blackberry@system:~/Desktop$


Also bei mir klappt alles wunderbar.

Assassina
23.12.2008, 14:48
Stimmt, habs jetzt auch mal probiert.