This commit is contained in:
Daniel Zwanzig 2025-05-01 15:23:08 +02:00
parent 27dabccef1
commit 87e8a1d428

View File

@ -2,33 +2,34 @@
#include <string.h> #include <string.h>
int farbeIndex(const char *farbe) { int farbeIndex(const char *farbe) {
if (strcmp(farbe, "gruen") == 0) return 0; 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, "Rot") == 0) return 1;
if (strcmp(farbe, "violett") == 0) return 2; if (strcmp(farbe, "Violett") == 0) return 2;
return -1; return -1; //Wenn keine gültige Eingabe dann wird -1 ausgegeben
} }
int main(){ int main(){
// Hier wird ist hinterlegt welche Mischfarbe rauskommt
static const int farben[3][3] = { static const int farben[3][3] = {
{1, 2, 3}, {1, 2, 3},
{2, 5, 6}, {2, 5, 6},
{3, 6, 9}}; {3, 6, 9}};
char einlesen;
char ersteEingabe[20], zweiteEingabe[20]; char ersteEingabe[20], zweiteEingabe[20];
int ersteFarbe = -1,zweiteFarbe = -1; int ersteFarbe, zweiteFarbe;
do { do {
printf("Erste Grundfarbe (Gruen Rot Violett): "); printf("Erste Grundfarbe (Gruen Rot Violett):");
scanf("%s", ersteEingabe); scanf("%s", ersteEingabe);
ersteFarbe = farbeIndex(ersteEingabe); ersteFarbe = farbeIndex(ersteEingabe);
if (ersteFarbe == -1) { if (ersteFarbe == -1) {
printf("Unbekannte Grundfarbe %s (Neue Eingabe machen)\n", ersteEingabe); printf("Unbekannte Grundfarbe %s (Neue Eingabe machen)\n", ersteEingabe);
} }
} while (ersteFarbe == -1); } while (ersteFarbe == -1); //Wenn die Eingabe keine gültige Farbe war wird die Eingabe wiederholt
do { do {
printf("Zweite Grundfarbe (Gruen Rot Violett): "); printf("Zweite Grundfarbe (Gruen Rot Violett):");
scanf("%s", zweiteEingabe); scanf("%s", zweiteEingabe);
zweiteFarbe = farbeIndex(zweiteEingabe); zweiteFarbe = farbeIndex(zweiteEingabe);
if (zweiteFarbe == -1) { if (zweiteFarbe == -1) {
@ -36,6 +37,7 @@ int main(){
} }
} while (zweiteFarbe == -1); } while (zweiteFarbe == -1);
// Hier wird dem Wert in der Tabelle eine Farbe zugeteilt
switch (farben[ersteFarbe][zweiteFarbe]) { switch (farben[ersteFarbe][zweiteFarbe]) {
case 1: case 1:
printf("Gr\x81n"); printf("Gr\x81n");