#include #include int farbeIndex(const char *farbe) { if (strcmp(farbe, "Gruen") == 0) return 0; // Jede Farbe bekommt den Wert der Position in der Tabelle zugeteilt if (strcmp(farbe, "Rot") == 0) return 1; if (strcmp(farbe, "Violett") == 0) return 2; return -1; //Wenn keine gültige Eingabe dann wird -1 ausgegeben } int main(){ // Hier wird ist hinterlegt welche Mischfarbe rauskommt static const int farben[3][3] = { {1, 2, 3}, {2, 5, 6}, {3, 6, 9}}; char ersteEingabe[20], zweiteEingabe[20]; int ersteFarbe, zweiteFarbe; 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); //Wenn die Eingabe keine gültige Farbe war wird die Eingabe wiederholt 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); // Hier wird dem Wert in der Tabelle eine Farbe zugeteilt 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; } }