61 lines
1.8 KiB
C
61 lines
1.8 KiB
C
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
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;
|
|
}
|
|
} |