/* Aufgabe aus Ü1/T4 (27Oct21) * * Programm schreiben, welches Eingabe zeichenweise * nach Groß-/Kleinschreibung konvertiert ausgibt: * * - Eingaben werden vonstdineingelesen * - Eingabeformat:’u’/’l’ * - Ausgabe: alle Zeichen der Eingabe als Groß(’u’) * bzw. Kleinbuchstaben(’l’) * */ #include #include #include int main() { int c = getchar(); if (c == EOF) { perror("getchar"); exit(EXIT_FAILURE); } bool uppercase = false; switch (c) { case 'l': uppercase = false; break; case 'u': uppercase = true; break; default: fprintf(stderr, "wrong usage\n"); exit(EXIT_FAILURE); } while ((c = getchar()) != EOF) { /* Alternativ hätten tolower(3) und toupper(3) benutzt * werden könnnen. */ if (uppercase) { if (c >= 'a' && c <= 'z') { c = c - ('a' - 'A'); } } else { if (c >= 'A' && c <= 'Z') { c = c + ('a' - 'A'); } } /* Hier wurde die Fehlerbehandlung vernachlässigt.*/ putchar(c); } if (ferror(stdin)) { perror("getchar"); exit(EXIT_FAILURE); } return EXIT_SUCCESS; }