Menu
Coddy logo textTech

Finale Ausgabe

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

challenge icon

Aufgabe

Einfach

Vervollständigen Sie Ihr Text-Utility-Programm, indem Sie alle Funktionen, die Sie in den vorangegangenen Lektionen erstellt haben, in einer einzigen, umfassenden Ausgabe integrieren. Ihr Programm sollte:

  1. Den Benutzer auffordern, einen kurzen Satz einzugeben, indem es Folgendes ausgibt: Enter a sentence: (kein Zeilenumbruch am Ende — verwenden Sie printf("Enter a sentence: "), nicht printf("Enter a sentence: \n"))
  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 einzulesen
  4. Das ursprüngliche Wort in einem separaten Zeichen-Array für Anzeigezwecke speichern
  5. Die Gesamtzahl der Zeichen mit strlen() berechnen
  6. Die Vokale zählen, indem Sie jedes Zeichen durchlaufen und prüfen, ob es mit einem Vokal (a, e, i, o, u) in Klein- oder Großschreibung übereinstimmt
  7. Das Wort mithilfe der Funktion toupper() in einer Schleife in Großbuchstaben umwandeln
  8. Alle Ergebnisse in einem sauberen, organisierten Format anzeigen, wobei jede Information in einer separaten Zeile steht

Denken Sie daran, den Header <string.h> für String-Funktionen und den Header <ctype.h> für Zeichenumwandlungsfunktionen einzubinden.

Ihre Ausgabe sollte alle Ergebnisse im folgenden exakten Format anzeigen:

Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]

Wichtig: Nach der Aufforderung Enter a sentence: darf kein Zeilenumbruch folgen. Das Wort Original: erscheint in derselben Zeile unmittelbar nachdem die Eingabe gelesen wurde.

Wenn die Eingabe zum Beispiel wie folgt lautet:

Hello

Sollte Ihre Ausgabe so aussehen:

Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLO

Diese abschließende Herausforderung führt alle Textverarbeitungsfunktionen zusammen, die Sie im Laufe des Projekts entwickelt haben: Eingabeverarbeitung, Zeichenzählung mit strlen(), Vokalzählung mit Schleifen und bedingten Anweisungen sowie die Umwandlung in Großbuchstaben mit toupper(). Das Programm soll eine saubere, organisierte Zusammenfassung der Ergebnisse der Textanalyse präsentieren.

Probier es selbst

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

int main() {
    char sentence[200];
    
    printf("Enter a sentence: ");
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int length = strlen(sentence);
    printf("Character count: %d\n", length);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < length; 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);
    
    printf("Uppercase: ");
    for (int i = 0; i < length; i++) {
        printf("%c", toupper(sentence[i]));
    }
    printf("\n");
    
    return 0;
}

Alle Lektionen in Logic & Flow