C++ Kreis |
15.04.2013, 18:03 | Auf diesen Beitrag antworten » | |||||
HAllo12 | C++ Kreis Meine Frage: Hallo ich komme gerade bei einer Aufgabe nicht weiter: Entwickeln Sie ein kleines Programm, das den Radius eines Kreises einliest und dann die Kreisfläche und Kreisumfang berechnet. Abschließend sollen alle berechneten Größen auf dem Bildschirm ausgegeben werden. Definieren Sie dabei für die Kreiszahl eine Konstante PI mit dem Wert 3,14159. Meine Ideen: #include <iostream> using namespace std; int main() { double Pi; int radius; int Fläche; cout << "Geben sie den radius ein !" << endl; cin >> radius; Pi = 3,12; Fläche = Pi*radius ; cout << Fläche <<endl; } Kann mir jemand sagen warum das progr. nicht funktioniert? |
|||||
|
||||||
15.04.2013, 18:57 | Auf diesen Beitrag antworten » | |||||
Airblader | Da sind einige Dinge nicht so ganz in Ordnung. Allen voran der vermutlich eigentliche Grund, warum das Programm nicht kompiliert: Dezimalzahlen werden mit einem Punkt als Dezimalzeichen eingegeben, nicht mit einem Komma. Mit was arbeitest du denn? Einen solchen Fehler sollte dir jede IDE anzeigen, eigentlich sollte sie dir das Kompilieren erst gar nicht erlauben. Noch ein paar Dinge und Hinweise:
Verwende außerdem bitte für Quelltexte im Forum die code-Tags, dass der Code lesbar und formatiert angezeigt wird. |
|||||
15.04.2013, 19:02 | Auf diesen Beitrag antworten » | |||||
Airblader | Noch etwas abseits der Programmierung: Die Anrede "Sie" wird großgeschrieben und vor dem Ausrufezeichen wird kein Leerzeichen gesetzt. |
|||||
15.04.2013, 19:15 | Auf diesen Beitrag antworten » | |||||
Karlito | Bei mir sind es tatsächlich die Umlaute, welche dafür sorgen, dass das Programm nicht kompiliert. Interssanterweise, wird Pi=3,12 akzeptiert! Deswegen unbedingt drei mal hinschauen! Weiterhin wird Radius mit großem "R" geschrieben und Pi ist 3,14 und nicht 3,12... VG, Karlito |
|||||
Anzeige | ||||||
|
||||||
15.04.2013, 19:18 | Auf diesen Beitrag antworten » | |||||
Airblader |
Und das, was den Mathematiker am meisten stören sollte, habe ich einfach mal glatt übersehen… ohje. Dass es mit einem Komma kompiliert finde ich merkwürdig. Das ist doch aber kein echtes C++, sondern irgendein Compiler-Feature, oder? |
|||||
15.04.2013, 19:20 | Auf diesen Beitrag antworten » | |||||
Airblader | Ich habe es eben mal überprüft. Er interpretiert es einfach als
Soll heißen: Pi wird nur 3 zugewiesen, das "12;" wird als eigener (mehr oder weniger sinnvoller) Befehl aufgefasst. |
|||||
15.04.2013, 22:41 | Auf diesen Beitrag antworten » | |||||
HAllo12 |
Mein code sieht jetzt so aus und funktioniert . Danke leute . Aber ich hätte noch ne frage: Man erweitere das Programm so, dass die Eingabe der benötigten Werte automatisch neu gestartet wird. Die Wiederholung der Eingabe, Berechnung und Ausgabe erreicht man durch eine so genannte „while-Schleife“ mit einer entsprechenden Abbruchbedingung, z.B. durch eine Abfrage an den Benutzer, ob er die Berechnung wiederholen möchte Wie würde ich das hinbekommen ? Was müsste ich da in die while Bedingung einbauen? |
|||||
15.04.2013, 22:58 | Auf diesen Beitrag antworten » | |||||
Karlito | Hallo, erstmal stimmt deine Flächenformel noch nicht! Und ansonsten, wäre die Bedingung der while-Schleife die Eingabe, dass abgebrochen werden soll. Wie die aussieht, musst du dir selbst überlegen. Mach mal einen Lösungsvorschlag, VG, Karlito |
|||||
15.04.2013, 23:31 | Auf diesen Beitrag antworten » | |||||
HAllo12 |
Wäre das Programm so in ordnung? |
|||||
16.04.2013, 00:08 | Auf diesen Beitrag antworten » | |||||
Karlito | Die Flächenformel stimmt jetzt. Mehr nicht. VG, Karlito |
|||||
16.04.2013, 10:39 | Auf diesen Beitrag antworten » | |||||
Hallo12 | Wieso? Was ist denn sonst falsch? |
|||||
16.04.2013, 10:41 | Auf diesen Beitrag antworten » | |||||
Karlito | Du hast eine Endlosschleife, die Abbruchbedingung für die while-Schleife fehlt. VG, Karlito |
|||||
16.04.2013, 10:59 | Auf diesen Beitrag antworten » | |||||
Hallo12 | Ja ich weiß nicht was ich für die abbruchbedingung eingeben soll. Ich komme nicht drauf. |
|||||
16.04.2013, 11:29 | Auf diesen Beitrag antworten » | |||||
Karlito | Am einfachsten ist es ein "y" oder ein "n" zu lesen und je nach Eingabe zu entscheiden, ob die Schleife fortgesetzt wird. Mach dir mal Gedanken wie das gehen könnte und wie Du dann entsprechend die Schleife anpassen musst. VG, Karlito |
|