Ich schreibe ein Programm, welches dezimalzahlen in römische umwandelt.
Habe aber Probleme mit dem Enum-Datentyp.
Und zwar möchte ich der reihe nach die Werte der enums von der dezimalzahl abziehen, was kein Problem darstellt.
Jedoch müssen ja dann auch die zugehörigen Römischen Werte ausgegeben werden (also die "Namen" der enum-Werte).
Gibt es eine Möglichkeit an die Bezeichnungen der Enums dranzukommen und diese auszugeben?
Hier der zugehörige code bis jetzt:
Alles anzeigen
Der code gibt in dieser Form die Zahlenwerte der enums (1000, 900, ...) aus, ich möchte jedoch auch an die Bezeichnung (M, CM, ...) rankommen...
Habe aber Probleme mit dem Enum-Datentyp.
Und zwar möchte ich der reihe nach die Werte der enums von der dezimalzahl abziehen, was kein Problem darstellt.
Jedoch müssen ja dann auch die zugehörigen Römischen Werte ausgegeben werden (also die "Namen" der enum-Werte).
Gibt es eine Möglichkeit an die Bezeichnungen der Enums dranzukommen und diese auszugeben?
Hier der zugehörige code bis jetzt:
Quellcode
- #include<stdio.h>
- #include<stdlib.h>
- enum rzahl {M=1000,CM=900,D=500,CD=400,C=100,XC=900,L=50,XL=40,X=10,IX=9,V=5,IV=4,I=1};
- enum rzahl values[] = {M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I};
- int main(int argc, char *argv[]){
- enum rzahl z;
- int eingabe;
- if(argc > 1)
- eingabe = atoi(argv[1]);
- int i;
- for(i = 0 ; i < sizeof(values)/sizeof(enum rzahl) ; i++){
- z = values[i];
- printf("%d\n",values[i]);
- }
- return 0;
- }
Der code gibt in dieser Form die Zahlenwerte der enums (1000, 900, ...) aus, ich möchte jedoch auch an die Bezeichnung (M, CM, ...) rankommen...
>: 4 8 15 16 23 42