d_lcd
ist eine Funktion die ein einzelnes Zeichen an das
LCD ausgibt.
Bei Dir mag diese Funktion anders heissen. Dann musst Du
halt Deinen Funktionsnamen dafuer einsetzen.
Wie gesagt: Die Funktion muss nur ein einzelnes Zeichen
(wie 'a', 'b' oder aber auch '1', '2' ...) ausgeben koennen.
Zur Funktion selbst:
Ist im Grunde ganz einfach.
Wenn Du eine Zahl hast, sagen wir mal 5873. Wie kriegst Du
dann die einzelnen Ziffern dieser Zahl (also 5, 8, 7 und 3).
Hmm. Wenn Du die Zahl durch 10 teilst (so wie in der Grundschule),
dann wird das
5873 durch 10 ergibt 587 und 3 Rest.
Hmm. Noch mal
587 durch 10 ergibt 58 und 7 Rest
Noch mal
58 durch 10 ergibt 5 und 8 Rest
5 durch 10 ergibt 0 und 5 Rest
Und jetzt schau Dir mal die Reste genauer an. Das waren
3 7 8 5.
Wie waren noch mal die einzelnen Ziffern der Zahl?
5 8 7 3
Aha. Die Reste sind also genau die Ziffern, nur halt in
umgekehrter Reihenfolge.
Tja. Jetzt musst Du nur noch rausfinden, wie man den Rest
einer Ganzzahldivision in C berechnet. Genau das mach %.
% funktioniert wie /, nur wird halt der Rest geliefert und
nicht der Quotient.
Bis jetzt sind alles noch Zahlen. Schoen. Nur moechte das
Display Character haben. Wenn Du haben moechtest, dass das
Display ein 'a' anzeigt, dann musst Du ihm den Code fuer 'a'
schicken. Wenn es 'b' anzeigen soll, dann eben den Code fuer 'b'
und wenn es '0' anzeigen soll, dann musst Du ihm den Code fuer '0'
schicken.
Nun ist der Code fuer '0' aber nicht 0. Das waer zu einfach.
Der Code fuer '0' ist 48. Daher hat mischa zum Ergebnis der
Restbildung ganz einfach 48 dazugezaehlt. Kommt bei der Restbildung
eine 0 heraus, so wird im Array eine 48 gespeichert. Kommt 1 heraus
dann wird 49 gespeichert (welches 'zufaellig' der Code fuer '1'
ist),
bei 2 eine 50 ( Code fuer '2'), ... etc.
Das war die erste Schleife.
In der 2.ten Schleife werden dann ganz einfach die ermittelten
Codes in der richtigen Reihenfolge (von hinten nach vorne) ans
Display ausgegeben.