Zustände, Bits und Logisches Problem ...
-
Hallo,
Ich hab mal wieder ein logisches Problem, und zwar möchte ich ein Programm welches
mir ein Menü mit 18 Punkten ausgibt.
Meine Überlegung ist das ganze mit BIT Zuständen zu codieren und dann je nachdem welcher Zustand gewählt ist, die Menüpunkte zusetzen.
Ich habe dafür 8 bit also 256 Zustände reserviert, jedoch besteht mein Problem darin, das ich nicht weiß wie ich das Programieren soll.Wäre nett wenn mir jemand helfen könnte.
Danke
-
Moin,
zuerst einmal denke ich, dass du einen kleinen Gedankenfehler machst.
Denn ich nehme an, du möchtest die Menuepunkte unabhängig voneinander setzen können, und nicht nur jeweils einen.
Also reichen 8Bit nicht aus, da du ja 2^18=262144 Möglichkeiten hast.Vorschlagen würde ich ein Bitfeld.
hier erklärt: http://www.uni-bayreuth.de/departments/math/~rbaier/lectures/c_ss2003/html/node152.htmlBsp für 3 Menupunkte:
#include "stdio.h" struct Menu { unsigned int nMenu1 : 1, nMenu2 : 1, nMenu3 : 1; }; int main() { Menu my_Menu; my_Menu.nMenu1 = 1; //Punkt 1 aktivieren my_Menu.nMenu2 = 0; //Punkt 2 deaktivieren if (my_Menu.nMenu1) printf("Punkt 1 ist aktiviert\n"); else printf("Punkt 1 ist nicht aktiviert\n"); return 0; }