002
06.11.2009, 22:37 Uhr
Hans
Library Walker (Operator)
|
Hi,
ist ein bisschen viel Code, nicht!? - Aber egal. Fangen wir mal mit Frage 2 an: Ja, es geht übersichtlicher, zumindest ein bisschen. Indem Du die Abfrage nach der Einheit, also mm, cm, usw. auch an den Anfang des Programms setzt, und erst danach anfängst, die Eingaben auszuwerten. Man kann sich auch die vielen Ausgaben einsparen, die sich nur darin unterscheiden, das sie für eine andere Einheit benutzt werden, also beispielsweise cm² statt mm². Das könnte dann etwa so aussehen:
C++: |
cout<<" \\\\\\\\-Willkommen beim Fl"<<Umlaut::ae<<"cheninhaltrechner 2009!-//////// \n"; cout<<"\n\n\n"; cout<<"Bitte w"<<Umlaut::ae<<"hlen Sie die Art der Fl"<<Umlaut::ae<<"che aus: 1 = Quadrat, 2 = Rechteck,\n3 = gleichseitige Dreieck oder 4 = Kreis\n\n"; cin>>strart;
cout<<"\nBitte w"<<Umlaut::ae<<"hlen Sie die Einheit aus: 1 = mm, 2 = cm, 3 = m oder 4 = km"; cin>>streinheit; cout<<"\nBitte geben Sie Seitenl"<<Umlaut::ae<<"nge von a: ein"; cin>>a;
if (strart == 1) // Kurzfassung von Hans { inhalt=a*a; cout<<"\nDer Fl"<<Umlaut::ae<<"cheninhalt betr"<<Umlaut::ae<<"gt: --> "<<inhalt;
if (streinheit == 1) cout << " Quadratmillimeter\n"; else if (streinheit == 2) cout << " Quadratzentimeter\n"; else if (streinheit == 3) cout << " Quadratmeter\n"; else if (streinheit == 4) cout << " Quadratkilometer\n"; }
|
Wobei ich mich jetzt auf den wesentlichen Teil beschränkt habe.
Ansonsten hast du noch diesen Ausdruck in Deinem Code, den mein Compiler als Sinnlos angemeckert hat:
Abgesehen davon, das es wahrscheinlich auf Tippfehler beruht, sind da gleich zwei Fehler in der Zeile: der Erste ist das Komma, das durch einen Punkt ersetzt werden muss. Und da das ja eine Zuweisung sein soll, reicht auch ein Gleichheitszeichen aus. Übrigens ist es eine gute Idee, solche Konstanten gleich am Anfang des Programms einmal zu definieren, und danach nie wieder. Denn wenn man mehrmals die gleiche Konstante an verschiedenen Stellen definiert, kann es leicht vorkommen, das man sich einmal vertippt, und das Programm deshalb irgendwo falsch rechnet. Das sind solche Fehler, die nicht unbedingt sofort auffallen, nach denen man später aber u.U. stundenlang sucht. Speziell zu pi wäre auch noch zu sagen, das man es bei einigen Compilern bereits als vordefinierte Konstante in der Mathebibliothek math mitgeliefert bekommt. Wenn nicht, es aber auf Genauigkeit ankommt, kann man es auch am Programmanfang kurz ausrechnen:
Dann hat man es in der höchsten Genauigkeit, die mit double möglich ist. Den mathematischen Hintergrund spar ich mir jetzt mal, weil das etwas lang würde, aber wer schon mal mit Winkelfunktionen und Bogenmaße zu tun hatte, kann auch von alleine drauf kommen.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 07.11.2009 um 03:41 Uhr von Hans editiert. |