Forum: Mikrocontroller und Digitale Elektronik C++ Monate als Array


von Fridolin (Gast)


Lesenswert?

Guten Abend,
zur Zeit versuche ich mich an einer Zeitschaltuhr mittels ATMega 32. 
Soweit klappt auch alles, aber zwecks Optik hätte ich gerne, das ich auf 
dem Display auch den Monat in Textform ausgeben kann, z.B. "31. Februar 
2851".
Da ich ja für den Monat eh eine Variable habe (mit Werten von 1-12, 
Sinnigerweise) dachte ich an ein Array:
1
string month_long[12] = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"};
Naja, so in etwa. ;) Ich habe zwar etwas ähnliches bereits gefunden, 
aber das frisst AVRStudio nicht, und schien mir auch nicht ganz das 
richtige zu sein, meine Werte sind statisch, ich will ja die Namen der 
Monate nicht ändern. ;)

Wäre nett wenn da jemand ne praktikable Idee hätte. :)

von Thomas E. (thomase)


Lesenswert?


von Peter (Gast)


Lesenswert?

string month_long[12][11] = {"Januar", "Februar", "März", "April", 
"Mai", "Juni", "Juli", "August", "September", "Oktober", "November", 
"Dezember"};

von Klaus W. (mfgkw)


Lesenswert?

1. Das ist etwas Platzverschendung, weil die 11 nicht genutzt werden
1
   const char * month_long[12] = { "Januar", "Februar", ... "Dezember" };


2. Nicht vergessen, daß man bei einer Monatsnummer von 1 bis 12 den 
Index um 1 verringern muß, um in das Feld zu greifen (das Werte von 0 
für Januar bis 11 für Februar hat).

3. Was heißt "das frisst AVRStudio nicht"?

von Klaus W. (mfgkw)


Lesenswert?

PS: Wenn man mit RAM geizen möchte, kann man auch ins Tutorial schauen 
und die Strings im Flash halten.

von (prx) A. K. (prx)


Lesenswert?

Klaus Wachtler schrieb:

> 3. Was heißt "das frisst AVRStudio nicht"?

Der Compiler kann zwar C++, aber hat er die üblichen C++ Libraries an 
Bord? Gibts also einen "string"?

von Tjaja (Gast)


Lesenswert?

Eine String-Ende-Kennung wäre auch nicht verkehrt...macht die Ausgabe um 
einiges leichter ;-)

von C-Kritiker (Gast)


Lesenswert?

Tjaja schrieb:
> Eine String-Ende-Kennung wäre auch nicht verkehrt...macht die Ausgabe
> um einiges leichter ;-)

Stimmt. Das ist das tolle C mit dem beschränktem Zeichenvorrat in 
Strings, um per Flickschusterei mit in der Sprache eigentlich nicht 
vorgesehenen Zeichenketten umgehen zu können.

von Klaus W. (mfgkw)


Lesenswert?

Du hast verstanden, worum es geht?

Bleib doch bei deinem VisualBasic für AVR, wenn du mit C nicht klar 
kommst.

von Klaus W. (mfgkw)


Lesenswert?

A. K. schrieb:
> Klaus Wachtler schrieb:
>
>> 3. Was heißt "das frisst AVRStudio nicht"?
>
> Der Compiler kann zwar C++, aber hat er die üblichen C++ Libraries an
> Bord? Gibts also einen "string"?

Das weiß ich wohl, aber ich wollte den Frager zu einer vernünftigen 
Beschreibung provozieren, nicht dich :-)

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.