Frage zu Fließkommazahlen und zum Rechnen
-
Hi,
ich habe mal eine Frage zu dem folgenden Beispiel:
[cpp]
int main (void) {float wkursF = 1.4906;
float betragF = 100100.12;double wkursD = 1.4906;
double betragD = 100100.12;printf("[float] : %f Dollar = %f Euro\n";
betragF, betragF/wkursF );
printf("[double] : %f Dollar = %lf Euro\n";
betragD, betragD/wkursD );
return 0;
}
[/cpp]Warum benötigen wir die Zeile hier?
Diese eine Sache hab ich nicht verstanden. Hoffe mir kann das einer kurz erklären, wofür man die Zeilen brauch.Dann hab ich noch kurz eine Frage. Wofür benötigt man das float? Ich kenn nur das floaten von html, das hat mich deswegen jetzt etwas verwirrt.
Und wie gesagt, ich hab ja auch noch eine Frage zum folgenden Mathe Beispiel:
int main(void) double r, pi=3.14... double AKreis; printf("Kreisflächenberechnung\n"); printf("----------------------\n"); printf("Radius eingeben : "); scanf("%lf", %r); AKreis = r * r * pi; printf("Kreisflaeche bei Radius %lf betraegt %lf\n", r, AKreis); return 0; }
Meine Frage jetzt: Das kleingeschrieben r in der 1. Zeile, steht für Radius? Ist das richtig, oder irre ich mich da? Und was bedeutet das AKreis?
Warum schreiben wir wieder in die vorletzte Zeile r, AKreis? Hoffe, dass Ihr mir nochmal bei der Beantwortung der Fragen helfen könnt. Ich lese gerade ein Buch über C (Grundkurs), und mein Wissensstandard ist noch nicht sehr hoch. (Bin gerade auf Seite 54:))
-
Du solltest schon richtig abschreiben. Am Ende der Zeile mit dem printf ist ein , (kein
Und da Befehle in C mit dem ; abgeschlossen werden, ist der Befehl printf auch erst in der nächsten Zeile zu Ende. Darin stehen die Variablen (Werte) die mit printf auagegeben werden sollen.
Das geschieht an den Stellen wo das %f steht.printf("[float] : %f Dollar = %f Euro\n", betragF, betragF/wkursF );
Mach dich über printf und Formatstrings schlau. z.B. hier: http://www.cplusplus.com/reference/clibrary/cstdio/printf/
r
undAKreis
sind Variablennamen. Du hättest sie auchf1
undf2
oderx
undy
nennen könen. Sinnvoller wäre evtl. auchradius
undKreisflaeche
.
Aberr
undAKreis
sind für einen Mathematiker ganz aussagekräftig.
Das daraus Radius und Fläche werden liegt auch an der BerechnungAKreis = r * r * pi;
(Die Flächenformel für den Kreis)
-
Ahh okay
Deswegen sagt man immer, dass das viel mit Mathematik zu tun hat
Und wegen dem
betragF, betragF/wkursF );
soll ich mich über Formatstrings informieren?
Sonst danke ich erstmal für deine Antwort
-
Kleine Nachhilfe Geometrie:
r = radius
A = Fläche daraus folgt AKreis = Flächekreis in D dann KreisflächeZum 2.
Warum schreibst du folgendes so:
printf("[float] : %f Dollar = %f Euro\n"; betragF, betragF/wkursF );
und nicht so:
printf("[float] : %f Dollar = %f Euro\n",betragF, betragF/wkursF );
Letzteres ist für Anfänger leichter zu lesen. Denn da ist alles was zu printf gehört in einer Zeile. Dein Compiler schluckt beide Varianten, wenn sonst kein Fehler drin ist.
Hier noch mal etwas was eigentlich aus deinen Unterlagen schon klar sein sollte:
printf("[float] : %f Dollar = %f Euro\n"
Die Zeile ist unvollständig und bedeutet bis hier:
drucke formatiert("[Beispiel: float] : Platzhalter für formatierten Wert Dollar = Platzhalter für formatierten Wert Euro Zeilenvorschub"Da du ja für die formatierten Werte noch Daten brauchst der Rest der Zeile:
,betragF, betragF/wkursF );
,betrag Dollar, berechnung = betrag Dollar/ wechselkurs);
das f in den Bezeichnern steht für das float-Beispiel,
das d für double.Ich hoffe du begreifst diese kompakte Langversion
-
Das könnte noch ein wenig missverständlich sein:
A = Fläche daraus folgt AKreis = Fläche Kreis
Da Compiler oft etwas gegen Leerzeichen in Bezeichnern haben also:
Fläche des Kreis = AKreis
-
Windassel schrieb:
Ahh okay
Deswegen sagt man immer, dass das viel mit Mathematik zu tun hat
Nein, aber man kann mit Computern halt gut rechnen. Wie du die Variablen benennst ist deine Sache.
Windassel schrieb:
Und wegen dem
betragF, betragF/wkursF );
soll ich mich über Formatstrings informieren?
Sonst danke ich erstmal für deine Antwort
Du sollst dich wegen printf über Formatstrings informieren.
Dann klärt sich auch die Sache warum dabetragF, betragF/wkursF
steht.