Mehrfach Anweisung in Switch / Case
-
Hallo,
gibt es die Möglichkeit mit Switch / Case mehrfach die gleiche Anweisung bei unterschiedlichen Switch Inhalten zu programmieren?
Beispiel:
Counter wird von einem IRQ zu bestimmten Zeiten incremiert und soll mit einer Switch / Case Anweisung ausgewertet werden.
switch (Counter) { case 1: case 1001: // Bei 1 und 1001 // Anweisung 1 ... break; case 2: case 1002: // Bei 2 und 1002 // Anweisung 2 ... break; case 3: case 1003: // Bei 3 und 1003 // Anweisung 3 ... break; case 4: case 1004: // Bei 4 und 1004 // Anweisung 4 ... break; case 5: // Bei 5 // Anweisung 5 ... break; case 6: // Bei 6 // Anweisung 6 ... break; case 7 "bis" 207: // Von 7 bis 207 // jedesmal Anweisung 7 wiederholen... break; case 208: // Bei 208 // Anweisung 8 ... break; }
Hat jemand eine Lösung für das Problem?
Gruß
Jackson
-
ISO C hat so etwas nicht. GCC hat das jedoch als Erweiterung.
Wenn dein Compiler das nicht implementiert, musst du dir etwas anderes einfallen lassen, z.B.:
if (Counter >= 7 && Counter <= 207) Counter = 7; switch (Counter) { case 1: case 1001: // Bei 1 und 1001 // Anweisung 1 ... break; case 2: case 1002: // Bei 2 und 1002 // Anweisung 2 ... break; case 3: case 1003: // Bei 3 und 1003 // Anweisung 3 ... break; case 4: case 1004: // Bei 4 und 1004 // Anweisung 4 ... break; case 5: // Bei 5 // Anweisung 5 ... break; case 6: // Bei 6 // Anweisung 6 ... break; case 7: // Von 7 bis 207 // jedesmal Anweisung 7 wiederholen... break; case 208: // Bei 208 // Anweisung 8 ... break; }
-
Vielleicht hilft dir das :
http://www.c-plusplus.net/forum/104696-full