Int Zahlen werden falsch wiedergegeben
-
Hallo,
ich programmiere erst seit ca. einer Woche mit C++ und habe folgende Aufgabe bekommen:
Lese 3 Zahlen ein.
Gebe die Summe, das Produkt, den Durchschnitt und die größte/kleinste Zahl der drei Eingaben wieder aus.Soweit bin ich gekommen:
#include <iostream.h> int main() { int a,b,c, minn, maxx; //Ganz Zahlen deklarieren float summe, average, produkt; //Rechenoptionen deklarieren cout<<" Bitte gebe drei Ganzzahlen, ohne Punkt ein: "<<endl; cin>>a>>b>>c ; // Zahlen a,b und c einlesen summe=a+b+c ; //Summe bilden average=(a+b+c)/3 ; //Den Durchschnitt bilden produkt= a*b*c ; // Das Produkt bilden if (a>b>c) // Die Extremwerte prüfen { maxx=a; minn=c; } else if (a>c>b) { maxx=a; minn=b; } else if (b>c>a) { maxx=b; minn=a; } else if (b>a>c) { maxx=b; minn=c; } else if (c>b>a) { maxx=c; minn=a; } else if (c>a>b) { maxx=c; minn=b; } else { cout<<"\nMehrere Zahlen sind gleich, bitte drei verschiedene eingeben." ; } cout<<"\nSumme aus den drei Zahlen: "<<summe<<endl; cout<<"\nDurchschnitt aus den Zahlen: "<<average<<endl; cout<<"\nDas Produkt der Zahlen: "<<produkt<<endl; cout<<"\nDie groesste Zahl: "<<maxx<<endl; cout<<"\nDie kleinste Zahl: "<<minn<<endl; return 0; }
Meine Probleme:
// Eingabe der Zahlen 1 2 3 //
Die Else funktion (bitte drei verschiedene Zahlen eingeben) wird wiedergegeben.
Die größte Zahl laut PC: 4332
Die kleinste Zahl laut PC: 4272Wo ist der Fehler? Da die Zahlen komisch sind, könnte es an der Formatierung liegen. Liegt es am int ?
Und wo ist der if Fehler ?Vielen Dank im Vorraus
phJ
-
Deine Bedingungen sind unsinnig - C++ unterstützt keine verketteten Vergleiche. Richtig sollte es
if(a>b && b>c)...
heißen.
-
if(a>b && a>c) { ... }
http://tutorial.schornboeck.net/if.htm
Du darfst immer nur eine Bedingung schreiben, oder mehrere mit "&&" (UND) oder "||" (ODER) verknüpfen. Sonst prüfst du etwas völlig falsches...
-
Danke, es hat geklappt