main #8
@ -1,136 +1,142 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
// Funktion, um einen String in Kleinbuchstaben umzuwandeln
 | 
			
		||||
void zuKleinbuchstaben(char* str) {
 | 
			
		||||
    for (int i = 0; str[i]; i++) {
 | 
			
		||||
        str[i] = tolower(str[i]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Funktion, um die Wellenlänge einer Farbe auszugeben
 | 
			
		||||
int value = 0;
 | 
			
		||||
int failcount = 0;
 | 
			
		||||
int returncode = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int Wellenlaenge(const char* color) {
 | 
			
		||||
    if (strcmp(color, "rot") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Rot liegt bei etwa 650-780 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "orange") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Orange liegt bei etwa 585-650 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "gelb") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Gelb liegt bei etwa 575-585 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "grün") == 0 || strcmp(color, "gruen") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Grün liegt bei etwa 490-575 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "blau") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Blau liegt bei etwa 450-490 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "violett") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von Violett liegt bei etwa 380-420 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "q") == 0) {
 | 
			
		||||
        return 10;
 | 
			
		||||
    } else if (failcount >= 5) {
 | 
			
		||||
        return 20;
 | 
			
		||||
    } else {
 | 
			
		||||
        printf("Unbekannte Farbe oder keine Wellenlängeninformation verfügbar.\n");
 | 
			
		||||
    }
 | 
			
		||||
    failcount++;
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Funktion, um die Farbe einer Wellenlänge auszugeben
 | 
			
		||||
int wavelenght = 0;
 | 
			
		||||
 | 
			
		||||
void printColor(int wavelength) {
 | 
			
		||||
    switch (wavelength) {
 | 
			
		||||
        case 620 ... 750: // Range for red
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Rot\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 590 ... 619: // Range for orange
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Orange\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 570 ... 581: // Range for yellow
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Gelb\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 495 ... 569: // Range for green
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Grün\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 450 ... 494: // Range for blue
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Blau\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 380 ... 449: // Range for violet
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Violett\n");
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Main Programm
 | 
			
		||||
int Wellenlaengen_rechner_main() {
 | 
			
		||||
 | 
			
		||||
    printf("Guten Tag.\nSie mögen Farben? Dann sind Sie hier genau richtig. Dieses Programm zeigt Ihnen nähmlich den Zusammenhang zwischen der Wellenlänge und der Farbe von Licht.\n");
 | 
			
		||||
    int modus = 0;
 | 
			
		||||
    int failcount = 0;
 | 
			
		||||
    int returncode = 0;
 | 
			
		||||
 | 
			
		||||
    char auswahl[21] = {0};
 | 
			
		||||
    long wavelength = 0;
 | 
			
		||||
    char *endptr;
 | 
			
		||||
 | 
			
		||||
    while (1) {
 | 
			
		||||
        printf("\nFalls Sie die Lichtfarbe des emittierten Lichtes erfahren wollen, drücken Sie die Taste 1. Wenn Sie die Wellenlänge einer bestimmten Lichtfarbe interessiert, drücken Sie die Taste 2.\n");
 | 
			
		||||
 | 
			
		||||
        scanf("%20s", auswahl);
 | 
			
		||||
        modus = strtol((const char*)auswahl, &endptr, 10);
 | 
			
		||||
 | 
			
		||||
        if (*endptr != 0){
 | 
			
		||||
            modus = -1;
 | 
			
		||||
        }
 | 
			
		||||
        if (*endptr == 'q'){
 | 
			
		||||
            return 10;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Ausgabe der Farbe
 | 
			
		||||
        if (modus==1) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            printf("Bitte geben Sie eine Wellenlänge ein (in nm): ");
 | 
			
		||||
            scanf("%20s", auswahl);
 | 
			
		||||
            wavelength = strtol((const char*)auswahl, &endptr, 10);
 | 
			
		||||
 | 
			
		||||
            if (*endptr != 0){
 | 
			
		||||
                wavelength = -1;
 | 
			
		||||
            }
 | 
			
		||||
            if (*endptr == 'q'){
 | 
			
		||||
                return 10;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            printColor(wavelength);
 | 
			
		||||
        } 
 | 
			
		||||
 | 
			
		||||
        //Ausgabe der Wellenlänge
 | 
			
		||||
        else if (modus==2) {
 | 
			
		||||
 | 
			
		||||
            char color[50];
 | 
			
		||||
 | 
			
		||||
            printf("Bitte geben Sie eine Farbe ein (z. B. Rot, Orange, Gelb, Grün, Blau, Violett): ");
 | 
			
		||||
            scanf("%49s", color);
 | 
			
		||||
 | 
			
		||||
            // Funktion für Eingabe in Kleinbuchstaben umwandeln abrufen
 | 
			
		||||
            zuKleinbuchstaben(color);
 | 
			
		||||
 | 
			
		||||
            // Funktion für Ausgabe der Wellenlänge abrufen
 | 
			
		||||
            returncode = Wellenlaenge(color);
 | 
			
		||||
            if (returncode == 10){
 | 
			
		||||
                return 10;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Ungültige Eingabe
 | 
			
		||||
        else {
 | 
			
		||||
            printf("Bitte geben Sie die Nummer eins (1) oder zwei (2) ein. Nichts anderes!!!");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
// Funktion, um einen String in Kleinbuchstaben umzuwandeln
 | 
			
		||||
void zuKleinbuchstaben(char* str) {
 | 
			
		||||
    for (int i = 0; str[i]; i++) {
 | 
			
		||||
        str[i] = tolower(str[i]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Funktion, um die Wellenlänge einer Farbe auszugeben
 | 
			
		||||
int value = 0;
 | 
			
		||||
int failcount = 0;
 | 
			
		||||
int returncode = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int Wellenlaenge(const char* color) {
 | 
			
		||||
    if (strcmp(color, "rot") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von rotem Licht liegt bei etwa 650-780 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "orange") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von orangem Licht liegt bei etwa 585-650 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "gelb") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von gelbem Licht liegt bei etwa 575-585 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "grün") == 0 || strcmp(color, "gruen") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von grünem Licht liegt bei etwa 490-575 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "blau") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von blauem Licht liegt bei etwa 450-490 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "violett") == 0) {
 | 
			
		||||
        printf("Die Wellenlänge von violettem Licht liegt bei etwa 380-420 nm.\n");
 | 
			
		||||
    } else if (strcmp(color, "q") == 0) {
 | 
			
		||||
        return 10;
 | 
			
		||||
    } else if (failcount >= 5) {
 | 
			
		||||
        return 20;
 | 
			
		||||
    } else {
 | 
			
		||||
        printf("Oh nein! Diese Farbe kenne ich nicht. Bitte geben sie eine der 6 Grund- oder Komplementärfarben ein.\n");
 | 
			
		||||
    }
 | 
			
		||||
    failcount++;
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Funktion, um die Farbe einer Wellenlänge auszugeben
 | 
			
		||||
int wavelenght = 0;
 | 
			
		||||
 | 
			
		||||
void printColor(int wavelength) {
 | 
			
		||||
    switch (wavelength) {
 | 
			
		||||
        case 620 ... 750: // Bereich von rotem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Rot\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 590 ... 619: // Bereich von orangem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Orange\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 570 ... 581: // Bereich von gelbem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Gelb\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 495 ... 569: // Bereich von grünem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Grün\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 450 ... 494: // Bereich von blauem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Blau\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 380 ... 449: // Bereich von violettem Licht
 | 
			
		||||
            printf("Das Licht dieser Wellenlänge ist Violett\n");
 | 
			
		||||
            break;
 | 
			
		||||
        case 0 ... 379: // nicht sichtbarer Ultraviolettbereich
 | 
			
		||||
            printf("Diese Wellenlänge liegt im nicht-sichtbaren Ultraviolettbereich\n");
 | 
			
		||||
            break;
 | 
			
		||||
        default: // nicht sichtbarer Infrarotbereich
 | 
			
		||||
            printf("Diese Wellenlänge liegt im nicht-sichtbaren Infrarotbereich\n");
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Main Programm
 | 
			
		||||
int Wellenlaengen_rechner_main() {
 | 
			
		||||
 | 
			
		||||
    printf("Guten Tag.\nSie mögen Farben? Dann sind Sie hier genau richtig, denn ich zeige Ihnen den Zusammenhang zwischen der Wellenlänge und der Farbe von Licht.\n");
 | 
			
		||||
    int modus = 0;
 | 
			
		||||
    int failcount = 0;
 | 
			
		||||
    int returncode = 0;
 | 
			
		||||
 | 
			
		||||
    char auswahl[21] = {0};
 | 
			
		||||
    long wavelength = 0;
 | 
			
		||||
    char *endptr;
 | 
			
		||||
 | 
			
		||||
    while (1) {
 | 
			
		||||
        printf("\nFalls Sie die Lichtfarbe des emittierten Lichtes erfahren wollen, drücken Sie die Taste 1. Wenn Sie die Wellenlänge einer bestimmten Lichtfarbe interessiert, drücken Sie die Taste 2.\n");
 | 
			
		||||
 | 
			
		||||
        scanf("%20s", auswahl);
 | 
			
		||||
        modus = strtol((const char*)auswahl, &endptr, 10);
 | 
			
		||||
 | 
			
		||||
        if (*endptr != 0){
 | 
			
		||||
            modus = -1;
 | 
			
		||||
        }
 | 
			
		||||
        if (*endptr == 'q'){
 | 
			
		||||
            return 10;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Ausgabe der Farbe
 | 
			
		||||
        if (modus==1) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            printf("Bitte geben Sie eine Wellenlänge ein (in nm): ");
 | 
			
		||||
            scanf("%20s", auswahl);
 | 
			
		||||
            wavelength = strtol((const char*)auswahl, &endptr, 10);
 | 
			
		||||
 | 
			
		||||
            if (*endptr != 0){
 | 
			
		||||
                wavelength = -1;
 | 
			
		||||
            }
 | 
			
		||||
            if (*endptr == 'q'){
 | 
			
		||||
                return 10;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            printColor(wavelength);
 | 
			
		||||
        } 
 | 
			
		||||
 | 
			
		||||
        //Ausgabe der Wellenlänge
 | 
			
		||||
        else if (modus==2) {
 | 
			
		||||
 | 
			
		||||
            char color[50];
 | 
			
		||||
 | 
			
		||||
            printf("Bitte geben Sie eine Farbe ein (z. B. Rot, Orange, Gelb, Grün, Blau, Violett): ");
 | 
			
		||||
            scanf("%49s", color);
 | 
			
		||||
 | 
			
		||||
            // Funktion für Eingabe in Kleinbuchstaben umwandeln abrufen
 | 
			
		||||
            zuKleinbuchstaben(color);
 | 
			
		||||
 | 
			
		||||
            // Funktion für Ausgabe der Wellenlänge abrufen
 | 
			
		||||
            returncode = Wellenlaenge(color);
 | 
			
		||||
            if (returncode == 10){
 | 
			
		||||
                return 10;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Ungültige Eingabe
 | 
			
		||||
        else {
 | 
			
		||||
            printf("Bitte geben Sie die Nummer eins (1) oder zwei (2) ein. Nichts anderes!!!");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user