#1 4. Mai 2008 if else folgende aufgabe : wickeln Sie ein Programm, dass einen Zähler durch einen Nenner dividiert. Berücksichtigen Sie hierbei auch, dass der Nenner vom Benutzer gleich Null gesetzt werden kann. Meine frage, das programmt so wie ich es geschrieben habe funktioniert auch... warum benutzen die diese sachen überhaupt..(clrscr... oder return...) Und überhaupt die biliothek hab ich nur eine genommen ich hab alles versucht so kurz wie möglich zu halten.. damit ich es mir leichter merken kann habe morgen eine Programmier prüfung. Hier ist erstmal meine Lösung und weiter unten die von der seite wo ich die aufgabenstellung her habe: Code: #include <constrea.h> int main(void) { float zaehler, nenner; //Variablen deklarieren cout << "Geben sie den Zaehler ein" << endl; cin >> zaehler; cout << "Geben sie den Nenner ein" << endl; cin >> nenner; if(nenner==0) { cout << "Nenner darf nicht 0 sein" << endl; getch(); } else cout << zaehler / nenner << endl; getch(); } Lösungsvorschlag ORGINAL (AUFGABENSEITE ) #include<iostream.h> //Bibliotheken einbinden #include<conio.h> int main(void) { float zaehler, nenner; //Variablen deklarieren clrscr(); cout<<"Dieses Programm dividiert einen Zaehler durch einen Nenner:\n"; cout<<"Geben Sie den Zaehler ein: "; cin>>zaehler; cout<<"\nGeben Sie den Nenner ein: "; cin>>nenner; if (nenner==0) //Wenn der Nenner gleich Null, dann Programmende { cout<<"\nNenner darf nicht Null sein!"; getch(); return(1); } else //Nenner ist ungleich Null, dann Berechnung cout<<"\n"<<zaehler<<"/"<<nenner<<"="<<zaehler/nenner; //Ausgabe getch(); return(0); } BEIDES FUNKTIONIERT GLEICH EGAL WAS MAN EINGIBT ( ZUMINDEST BEI MIR ) + Multi-Zitat Zitieren
#2 4. Mai 2008 AW: if else return 1; sorgt dafür, dass dem betriebssystem mitgeteilt wird, dass das programm nicht ordnungsmäßig beendet wurde... außerdem will es der saubere stil, dass main einen integer zurückgibt clrscr sorgt imo dafür, dass der Screen gecleart wird, sprich der bildschirm gelöscht wird + Multi-Zitat Zitieren
#3 4. Mai 2008 AW: if else Jo clrscr löscht den Bildschirm; in diesem Fall also die Console. Return beendet die Funktion auch nachdem der Rückgabewert gesetzt wurde. + Multi-Zitat Zitieren
#4 4. Mai 2008 AW: if else wtf ist <constrea> also das in der aufgabenstellung macht mehr sinn <iostream> und <conio.h> //edit hm ist wohl ne combi include datei Du solltest vllt. net gucken das du den code gekürzt bekommst und auswendig lernst sondern in verstehst geht deutlich schneller... vieles was vllt. kurzer ist nicht die beste lösung. return wegzulassen ist im prinzip ein fehler da du int main deklariert hast. Dein Compiler macht zwar automatisch return 0 dran aber es ist eigentlich falsch. mfg tobZel + Multi-Zitat Zitieren
#5 4. Mai 2008 AW: if else dem stimm ich zu... aba wenn du <iostream> und nich <iostream.h> nimmst, musst du den namespace std benutzen + Multi-Zitat Zitieren
#6 4. Mai 2008 AW: if else wieso selbst beim lösungsvorschlag wurde kein namespace std benutzt ? + Multi-Zitat Zitieren
#7 6. Mai 2008 AW: if else der lösungsvorschlag bindetr auch die datei <iostream.h> und nicht die datei <iostream> ein... die datei iostream sieht wie folgt aus Code: namespace std { #include <iostream.h> } entspricht also iostream.h mit der ausnahme, dass man den namespace std usen muss + Multi-Zitat Zitieren
#8 7. Mai 2008 AW: if else Naja nich ganz, die iostream-Datei is die neuere Version von beiden (Neue Funktionen etc., Ansiedlung im std-Namensraum). Die alte Datei mit .h hat man nur aus Kompatibilitätsgründen erhalten. Also, es ist besser, iostream zu benutzen, anstatt aus Bequemlichkeit iostream.h. + Multi-Zitat Zitieren