C-Konstruktion zur Variablenüberwachung gesucht.

25/11/2007 - 01:49 von Paul Rosen | Report spam
Hallo, ich benötige eine "Konstruktion" sagen wir mit dem Namen
"test", die diverse Variablen auf Verànderungen überwacht.

Ein Programm liest beliebig viele Meßergebnisse ein. Ich greife einmal
drei davon heraus:
test(temperatur) wird 1, wenn sich seit dem letzten Aufruf
"temperatur" geàndert hat, sonst wird sie "0".
test(luftfeuchtigkeit) wird 1, wenn sich seit dem letzten Aufruf
"luftfeuchtigkeit" geàndert hat, sonst wird sie "0".
test(luftdruck) wird 1, wenn sich seit dem letzten Aufruf "luftdruck"
geàndert hat, sonst wird sie "0".
und so weiter.

Diese Konstruktion als Funktion zu realisieren, ist mir nicht
gelungen. Alle meine Ideen hatten den Mangel, dass beispielsweise bei
einem aufeinanderfolgenden Aufruf von test(temperatur) und
test(luftfeuchtigkeit) die letztere Funktion den Wert "1" annahm, wenn
temperatur und luftfeuchtigkeit unterschiedlich waren.

Gibt es eine Lösung als Funktion? Wenn nicht, welche C-Konstruktion
müßte man da verwenden? Ein Makro, was allerdings den Nachteil hàtte,
dass fast die gleiche Befehlabfolge vielfach im Programm vorkàme,
sollte nur die die letzte Option sein.
 

Lesen sie die antworten

#1 Leonard Orb
25/11/2007 - 03:18 | Warnen spam
Paul Rosen:

Hallo, ich benötige eine "Konstruktion" sagen wir mit dem Namen
"test", die diverse Variablen auf Verànderungen überwacht.
...
test(temperatur) wird 1, wenn sich seit dem letzten Aufruf
"temperatur" geàndert hat, sonst wird sie "0".



Das wird mit "test (&temperatur)" besser gehen.

test() müsste also zu jeder übergebenen Adresse sie selbst und den
referenzierten Wert speichern. Unübersichtlich wird es freilich, wenn die
überwachten Variablen nicht alle vom gleichen Typ sind, dann wird
"test (&temperatur, 'i')" oder àhnlich nötig, inkl. Fallunterscheidung und Casting.

Leo

Ähnliche fragen