Hallo,
ich bekomme bei diesem Code
1 | void write_number(uint8_t zahl)
|
2 | {
|
3 | switch(zahl) {
|
4 |
|
5 | case (zahl >= 100):
|
6 | { PORTD = 0b00000001;
|
7 | write_ziffer((zahl - 100)/100);
|
8 | PORTB |= 0b11001111;
|
9 | PORTD = 0b00000010;
|
10 | write_ziffer(fmod(zahl,10));
|
11 | }
|
12 | break;
|
13 |
|
14 | case (zahl >=10 && zahl < 100):
|
15 | { PORTD = 0b00000001;
|
16 | write_ziffer(zahl/10);
|
17 | PORTD = 0b00000010;
|
18 | write_ziffer(fmod(zahl,10));
|
19 | }
|
20 | break;
|
21 |
|
22 | case (zahl < 10):
|
23 | { PORTD = 0b00000010;
|
24 | write_ziffer(zahl);
|
25 | }
|
26 | break;
|
27 | }
|
28 | }
|
folgende Fehlermeldung:
neu.c:156: error: case label does not reduce to an integer constant
Habt ihr einen Tip, wie ich den Fehler wegbekomme, ohne großartige
if-Konstrukte einsetzen zu müssen?
Gruß
Martin