Hallo Ich habe mir (als wir in der schule das Heron verfahren durchgenommen haben) gedacht ich schreibe dazu mal ein programm. so: jetzt habe ich den code eigentlich soweit fertig, aber jetzt, wenn ich das programm an mache gibt er mir als ergebnis etwas wie "0.0000000009" jedes mal aus... egal mit welcher Zahl ich ihn rechnen lasse... Hilfe!
Dev-C++ ist meines Wissens veraltet.
Als bessere Alternative wird hierzu oft die kostenlose Variante (Express Edition glaube ich) von Visual Studio empfohlen. (Womit ich selbst leider keine Erfahrung habe)
MfG
Chris_
_________________ Planet *Earth = new Planet(); //Schöpfung
Du deklarierst die variable "schleife" und vergleichst den Wert der Variable "schleife" ohne sie initialisiert zu haben bzw definiert. Deswegen halte deine Variablen so Lokal wie möglich und definiere sie so schnell wie möglich. Dann passiert so etwas nicht.
Wenn die Variable sofort einen Wert zugewiesen wird, brauchst du sie nicht zu definieren.
Überleg dir mal ob du nicht vllt lieber Assembler programmieren möchtest
Da kannset so viel goto benutzen wie du willst. Und das führt zum Spagetthi Code.
In C++ gibt es Schleifen dafür z.B for(); oder kopf, fußgesteuerte Schleifen z.B while();
Vermeide unnötigen Code! Du hast da ja größtenteils 3 mal das selber geschrieben. Das kannst du auch in eine Schleife mit ein paar Flags/Bool-Variablen packen.
Und goto kann man schon einmal verwenden (mach ich auchmal bei verschachtelten Schleifen) , aber bestenfalls vermeiden
_________________ A..a..aber ich hab doch nur was ganz kleines geändert.
Du deklarierst die variable "schleife" und vergleichst den Wert der Variable "schleife" ohne sie initialisiert zu haben bzw definiert. Deswegen halte deine Variablen so Lokal wie möglich und definiere sie so schnell wie möglich. Dann passiert so etwas nicht.
Wenn die Variable sofort einen Wert zugewiesen wird, brauchst du sie nicht zu definieren.
Z.B:
int a;
cin >> a;
Wenn er einen richtigen Compiler verwendet hätte wäre das auch angezeigt worden:
Code:
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
1>heron.cpp(18): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(26): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(42): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(106): warning C4244: 'return':
Konvertierung von 'double' in 'float', möglicher Datenverlust
1>heron.cpp(44): warning C4700: Die nicht initialisierte lokale Variable "schleife" wurde verwendet.
1>heron.cpp(62): warning C4700: Die nicht initialisierte lokale Variable "test" wurde verwendet.
1>heron.cpp(76): warning C4700: Die nicht initialisierte lokale Variable "men3" wurde verwendet.
Code:
1 2 3 4 5 6 7 8 9 10 11
1>heron.cpp(18): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(26): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(42): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(106): warning C4244: 'return':
Konvertierung von 'double' in 'float', möglicher Datenverlust
1>heron.cpp(44): warning C4700: Die nicht initialisierte lokale Variable "schleife" wurde verwendet.
1>heron.cpp(62): warning C4700: Die nicht initialisierte lokale Variable "test" wurde verwendet.
1>heron.cpp(76): warning C4700: Die nicht initialisierte lokale Variable "men3" wurde verwendet.
Code:
1 2 3 4 5 6 7 8 9 10 11
1>heron.cpp(18): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(26): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(42): warning C4996: 'scanf':
This function or variable may be unsafe. Consider using scanf_s instead.
1>heron.cpp(106): warning C4244: 'return':
Konvertierung von 'double' in 'float', möglicher Datenverlust
1>heron.cpp(44): warning C4700: Die nicht initialisierte lokale Variable "schleife" wurde verwendet.
1>heron.cpp(62): warning C4700: Die nicht initialisierte lokale Variable "test" wurde verwendet.
1>heron.cpp(76): warning C4700: Die nicht initialisierte lokale Variable "men3" wurde verwendet.
Bem: Bei gcc lassen sich zumindest alle Warnings einschalten (-Wall -Wconversion -pedantic ...). Leider merkt der gcc vieles dann aber auch noch nicht ...
Zuletzt bearbeitet von merano am 21:38:36 27.11.2011, insgesamt 1-mal bearbeitet
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.