Menu
Coddy logo textTech

In Großbuchstaben umwandeln

Teil des Abschnitts Logik & Ablauf der C-Journey von Coddy. Lektion 23 von 63.

challenge icon

Aufgabe

Einfach

Erweitere dein Textprogramm aus der vorherigen Lektion um eine Funktion zur Umwandlung in Großbuchstaben. Dein Programm sollte:

  1. Die Benutzerin oder den Benutzer auffordern, einen kurzen Satz einzugeben, indem es Folgendes ausgibt: Enter a sentence: (ohne Zeilenumbruch am Ende)
  2. Ein Zeichenarray namens sentence mit 200 Elementen deklarieren, um die Eingabe zu speichern
  3. scanf mit dem Formatspezifizierer %s verwenden, um ein einzelnes Wort von der Benutzerin oder dem Benutzer einzulesen
  4. Das gespeicherte Wort im folgenden Format ausgeben: You entered: [word]
  5. strlen() verwenden, um die Gesamtzahl der Zeichen im Wort zu berechnen
  6. Die Zeichenanzahl im folgenden Format ausgeben: Character count: [count]
  7. Die Länge mit strlen() im folgenden Format ausgeben: Length: [length]
  8. Mit einer Schleife jedes Zeichen im Wort durchlaufen, um die Vokale zu zählen
  9. Für jedes Zeichen prüfen, ob es ein Vokal (a, e, i, o, u) in Klein- oder Großschreibung ist
  10. Eine laufende Zählung der gefundenen Vokale führen
  11. Die Anzahl der Vokale im folgenden Format ausgeben: Vowel count: [count]
  12. Uppercase: ausgeben und anschließend mit einer Schleife jedes Zeichen im Wort mithilfe der Funktion toupper() in Großschreibung umwandeln und ausgeben

Denke daran, den Header <string.h> einzubinden, um die Funktion strlen() zu verwenden, sowie den Header <ctype.h>, um die Funktion toupper() zu verwenden.

Über toupper():
Die Funktion toupper() aus <ctype.h> wandelt ein einzelnes Zeichen in sein entsprechendes Großbuchstaben-Äquivalent um. Wenn das Zeichen bereits ein Großbuchstabe ist oder kein Buchstabe ist, wird es unverändert zurückgegeben.
Beispiel: toupper('a') gibt 'A' zurück, und toupper('Z') gibt 'Z' zurück.
Du kannst sie innerhalb einer Schleife verwenden, um jedes Zeichen einzeln umzuwandeln: printf("%c", toupper(sentence[i]));

Wichtig: Auf die Eingabeaufforderung Enter a sentence: darf kein Zeilenumbruch folgen. Verwende printf("Enter a sentence: "); ohne \n.

Deine Ausgabe sollte im folgenden Format angezeigt werden:

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

Wenn die Eingabe beispielsweise lautet:

Programming

sollte deine Ausgabe folgendermaßen aussehen:

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

Diese Herausforderung baut auf der vorherigen Lektion auf, indem sie mithilfe der Funktion toupper() aus der Bibliothek <ctype.h> eine Funktion zur Umwandlung in Großbuchstaben hinzufügt. Du musst eine Schleife verwenden, um jedes Zeichen im String zu durchlaufen und es in einen Großbuchstaben umzuwandeln. Anschließend gibst du das umgewandelte Ergebnis aus.

Probier es selbst

#include <stdio.h>
#include <string.h>

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    
    printf("Vowel count: %d\n", vowel_count);
    
    return 0;
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C-Compiler