Page 42 - Gartenbahn
P. 42
41
char und strintf
Mit char und strintf können wir unsere Ausgaben besser verwalten. Wir brauchen nicht für jede eine
eigene Variable, sondern wir könne das ganze einfach zusammensetzen und in der entsprechenden
Form darstellen. Wir schauen uns drei Variablen hum1, dew1 und temp1 an. Diese werden im
durchlauf von -9000 bis +9000 in 11-schritten durchlaufen. Hum1 und dew1 sind statisch. Über
sprintf werden die drei Variablen zusammengesetzt und in einer definierten Zeichenfolge oder
Rundung dargestellt.
%3d.%02d, 3-stellig und dezimal, %2d.%01d, 2-stellig und dezimal aber mit Führungsnull.
abs(temp1%100) temp1 auf 1/100 runden also 2 Stellen nach dem Komma!
Wenn wir jetzt in die rechte Anzeige schauen, sehen wir das der
Wert nicht auf 1 Stelle gerundet ist, das kommt davon, dass ich den
Wert abs(dew1%10) einfach gelöscht habe.
Also mit den ersten Werten wird die Art der Darstellung vorbereitet
und mit der zweiten der Inhalt und die Größe.
%3d.%02d, %2d.%01d, %2d.%01d temp1/100,abs(temp1%100),hum1/10,abs(hum1%10),dew1/10,abs(dew1%10)
Darstellungsbeispiel:
Das sind die Variablen mit Wert int:
hum1 = 415 hum1/100 = 41,5 abs(hum1%10) = 5
dew1 = -51 dev1/10 =- 5,1 abs(dew1%10) = 1
temp1 = -5203 temp1/100 = -52,03 abs(temp1%100) = 03
%3d . .%02d , %2d . .%01d , %3d . .%01d
-52 . 03 , 41 . 5 , -5 . 1