Forum: Mikrocontroller und Digitale Elektronik Parametrierung in Struct mit Bedingung


von Bastler (Gast)


Lesenswert?

Hallo,

ich versuche immer möglichst vieles über Structs zu parametrieren. Jetzt 
komme ich an die Situation, dass ich einen Wert an eine Bedingung 
knüpfen muss. Wie löst ihr sowas elegant? Wenn ich das hart in den 
Quellcode programmiere, so ist es ja keine Parametrierung mehr.

Das hier sind Uhrenwörter. Bei "Ein Uhr" soll aus "Eins" eben "Ein" 
werden. Das zerschießt mir meine schöne Parametrierung ;).

{2,5,4} -> {2,5,3} bei .Hours

Sprache ist C++.
1
const Clock Const::Clocks[COUNT_LANG] = {
2
    .MenuChars = {'D', 'E'},
3
    .Hours = { {5,4,5}, {2,5,4}, {0,5,4}, {1,6,4}, {7,7,4}, {7,6,4}, {1,9,5}, {5,5,6}, {1,8,4}, {3,7,4}, {5,8,4}, {0,7,3}},
4
    .Minutes = {
5
      {0},
6
      {2, {{0,2,4}, {2,3,4}}},
7
      {2, {{0,1,4}, {2,3,4}}},
8
      {2, {{4,2,7}, {2,3,4}}},
9
      {2, {{4,1,7}, {2,3,4}}},
10
      {3, {{0,2,4}, {6,3,3}, {0,4,4}}},
11
      {1, {{0,4,4}}},
12
      {3, {{0,2,4}, {2,3,4}, {0,4,4}}},
13
      {2, {{4,1,7}, {6,3,3}}},
14
      {2, {{4,2,7}, {6,3,3}}},
15
      {2, {{0,1,4}, {6,3,3}}},
16
      {2, {{0,2,4}, {6,3,3}}},
17
    }
18
  }

von Programmierer (Gast)


Lesenswert?

Sehr diffuse Frage. Bedingungen kann man allgemein mit 
Funktionszeigern/Lambdas definieren, oder traditionell mit Strategy 
Pattern (Polymorphie). Ansonsten halt eine Datenstruktur bauen in 
welcher die Bedingung repräsentiert werden kann.

von PittyJ (Gast)


Lesenswert?

Ich programmiere jetzt so, dass ich meinen Sourcecode auch nach 2 Jahren 
noch verstehe.
Bei dem obigen Beispiel würde ich das bezweifeln.

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
Noch kein Account? Hier anmelden.