Menu
Coddy logo textTech

In Großbuchstaben umwandeln

Teil des Abschnitts Logic & Flow der C-Journey von Coddy — Lektion 23 von 63.

challenge icon

Aufgabe

Einfach

Erweitern Sie Ihr Text-Utility-Programm aus der vorherigen Lektion um eine Funktionalität zur Umwandlung in Großbuchstaben. Ihr Programm sollte:

  1. Den Benutzer auffordern, einen kurzen Satz einzugeben, indem es Folgendes ausgibt: Enter a sentence: (kein Zeilenumbruch am Ende)
  2. Ein Zeichen-Array namens sentence mit 200 Elementen deklarieren, um die Eingabe zu speichern
  3. scanf mit dem Formatbezeichner %s verwenden, um ein einzelnes Wort vom Benutzer zu lesen
  4. Das gespeicherte Wort im Format You entered: [word] ausgeben
  5. strlen() verwenden, um die Gesamtzahl der Zeichen im Wort zu berechnen
  6. Die Zeichenanzahl im Format Character count: [count] ausgeben
  7. Die Länge unter Verwendung von strlen() im Format Length: [length] ausgeben
  8. Jedes Zeichen im Wort mithilfe einer Schleife durchlaufen, um die Vokale zu zählen
  9. Für jedes Zeichen prüfen, ob es ein Vokal (a, e, i, o, u) ist, sowohl in Kleinschreibung als auch in Großschreibung
  10. Eine laufende Zählung der gefundenen Vokale führen
  11. Die Vokalanzahl im Format Vowel count: [count] ausgeben
  12. Uppercase: ausgeben und dann eine Schleife verwenden, um jedes Zeichen im Wort mithilfe der Funktion toupper() in Großbuchstaben umzuwandeln und auszugeben

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

Über toupper():
Die Funktion toupper() aus <ctype.h> wandelt ein einzelnes Zeichen in sein Äquivalent in Großbuchstaben 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.
Sie können sie innerhalb einer Schleife verwenden, um jedes Zeichen einzeln umzuwandeln: printf("%c", toupper(sentence[i]));

Wichtig: Nach der Aufforderung Enter a sentence: sollte kein Zeilenumbruch folgen. Verwenden Sie printf("Enter a sentence: "); ohne \n.

Ihre Ausgabe sollte die Ergebnisse im folgenden Format anzeigen:

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

Wenn die Eingabe zum Beispiel wie folgt lautet:

Programming

Sollte Ihre Ausgabe so 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 eine Funktionalität zur Umwandlung in Großbuchstaben unter Verwendung der Funktion toupper() aus der Bibliothek <ctype.h> hinzufügt. Sie müssen eine Schleife verwenden, um jedes Zeichen in der Zeichenkette zu durchlaufen, es in einen Großbuchstaben umzuwandeln und dann das transformierte Ergebnis auszugeben.

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 Logic & Flow