Angenommen ich habe 3 Textausgaben: Rot, Gelb, Grün und dazugehörig einen Zähler von 0..2 Je nach Zahlerstand soll eine Farbe ausgegeben werden. Mache ich dies nun mit einem mehrdimensionalen Array Farben[3][5]; oder über ein Enum? Wie funktioniert das am Besten?
Vielleicht so ähnlich:
1 | int main( int nargs, char **args ) |
2 | {
|
3 | char *Farben[] = |
4 | {
|
5 | "Rot", |
6 | "Gelb", |
7 | "Gruen"
|
8 | };
|
9 | const size_t nFarben = sizeof(Farben)/sizeof(Farben[0]); |
10 | |
11 | for( size_t i=0; i<20; ++i ) |
12 | {
|
13 | printf( "%s\n", Farben[i%nFarben] ); |
14 | }
|
15 | |
16 | return 0; |
17 | }
|
Danke für den Code! Warum geht der Zähler der for-Schleife bis 20? Gehts auch mit einem Enum?
Theo schrieb: > Danke für den Code! > > Warum geht der Zähler der for-Schleife bis 20? Warum nicht? Kann auch eine andere Länge haben? > Gehts auch mit einem Enum? Was versprichst du dir davon?
Theo schrieb: > Warum geht der Zähler der for-Schleife bis 20? Du hattest nichts davon gesagt, daß du 3071 haben willst. > > Gehts auch mit einem Enum? Ja. Wenn es in der Aufgabenstellung steht, geht es damit auch.
Enum und Strings sind 2 völlig verschiedenen Dinge. Man kann daher nicht das eine durch das andere ersetzen. Enum sind einfach nur Defines von Integer-Werten: http://home.fhtw-berlin.de/~junghans/cref/SYNTAX/enum.html Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.