diff --git a/farben.c b/farben.c new file mode 100644 index 0000000..93453e5 --- /dev/null +++ b/farben.c @@ -0,0 +1,59 @@ +#include +#include + +int farbeIndex(const char *farbe) { + if (strcmp(farbe, "gruen") == 0) return 0; + if (strcmp(farbe, "rot") == 0) return 1; + if (strcmp(farbe, "violett") == 0) return 2; + return -1; +} + +int main(){ + static const int farben[3][3] = { + {1, 2, 3}, + {2, 5, 6}, + {3, 6, 9}}; + char einlesen; + char ersteEingabe[20], zweiteEingabe[20]; + int ersteFarbe = -1,zweiteFarbe = -1; + + + do { + printf("Erste Grundfarbe (Gruen Rot Violett): "); + scanf("%s", ersteEingabe); + ersteFarbe = farbeIndex(ersteEingabe); + if (ersteFarbe == -1) { + printf("Unbekannte Grundfarbe %s (Neue Eingabe machen)\n", ersteEingabe); + } + } while (ersteFarbe == -1); + + do { + printf("Zweite Grundfarbe (Gruen Rot Violett): "); + scanf("%s", zweiteEingabe); + zweiteFarbe = farbeIndex(zweiteEingabe); + if (zweiteFarbe == -1) { + printf("Unbekannte Grundfarbe %s (Neue Eingabe machen)\n", zweiteEingabe); + } + } while (zweiteFarbe == -1); + + switch (farben[ersteFarbe][zweiteFarbe]) { + case 1: + printf("Gr\x81n"); + break; + case 2: + printf("Gelb"); + break; + case 3: + printf("Blau"); + break; + case 5: + printf("Rot"); + break; + case 6: + printf("Purpur"); + break; + case 9: + printf("Violett"); + break; + } +} \ No newline at end of file