Finale Ausgabe
Teil des Abschnitts Logik & Ablauf der C-Journey von Coddy. Lektion 24 von 63.
Aufgabe
EinfachVervollständige dein Textverarbeitungsprogramm, indem du alle in den vorherigen Lektionen entwickelten Funktionen zu einer einzigen, umfassenden Ausgabe zusammenführst. Dein Programm sollte:
- Den Benutzer auffordern, einen kurzen Satz einzugeben, indem es Folgendes ausgibt:
Enter a sentence:(ohne Zeilenumbruch am Ende: Verwendeprintf("Enter a sentence: "), nichtprintf("Enter a sentence: \n")) - Ein Zeichenarray namens
sentencemit 200 Elementen deklarieren, um die Eingabe zu speichern scanfmit dem Formatbezeichner%sverwenden, um ein einzelnes Wort vom Benutzer einzulesen- Das ursprüngliche Wort zu Anzeigezwecken in einem separaten Zeichenarray speichern
- Die Gesamtanzahl der Zeichen mithilfe von
strlen()berechnen - Die Vokale zählen, indem jedes Zeichen durchlaufen und geprüft wird, ob es einem Vokal (a, e, i, o, u) in Klein- oder Großschreibung entspricht
- Das Wort mithilfe der Funktion
toupper()in einer Schleife in Großbuchstaben umwandeln - Alle Ergebnisse in einem übersichtlichen, geordneten Format anzeigen, wobei jede Information in einer eigenen Zeile steht
Denke daran, den Header <string.h> für String-Funktionen und den Header <ctype.h> für Funktionen zur Zeichenumwandlung einzubinden.
Deine Ausgabe sollte alle Ergebnisse im folgenden exakten Format anzeigen:
Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]Wichtig: Auf die Eingabeaufforderung Enter a sentence: darf kein Zeilenumbruch folgen. Das Wort Original: erscheint unmittelbar nach dem Einlesen der Eingabe in derselben Zeile.
Wenn die Eingabe beispielsweise lautet:
HelloDeine Ausgabe sollte folgendermaßen aussehen:
Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLODiese abschließende Herausforderung führt alle Textverarbeitungsfunktionen zusammen, die du im gesamten Projekt entwickelt hast: Eingabeverarbeitung, Zeichenzählung mit strlen(), Vokalzählung mit Schleifen und bedingten Anweisungen sowie die Umwandlung in Großbuchstaben mit toupper(). Das Programm sollte eine übersichtliche, geordnete Zusammenfassung der Ergebnisse der Textanalyse anzeigen.
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 Logik & Ablauf
1Zeiger-Grundlagen
Was ist ein Zeiger?Zeiger deklarierenDer Adressoperator (&)Der Dereferenzierungsoperator (*)NULL-ZeigerZusammenfassung: Zeiger-Grundlagen4Projekt: Einfaches Text-Tool
ProjektübersichtZeichen zählen2Pointer und Arrays
Array-Namen als PointerArray-Elemente - PointerPointer-ArithmetikPointer vergleichenWiederholung: Array-Durchlauf mit Pointern5Zeiger und Funktionen
Wertübergabe (Pass-by-Value)Zeiger an Funktionen übergebenVariablen über Zeiger ändernEin klassisches Beispiel: SwapArrays an Funktionen übergebenZusammenfassung: Zeiger als Funktionsargumente8Structs und Zeiger
Zeiger auf StructsDer Pfeiloperator (->)Structs per Wert übergebenÜbergabe von Struct-ZeigernDynamische Allokation von StructsZusammenfassung: Struct ändern - Ptr11Finale Wiederholungsaufgaben
Wiederholung: Dynamische String-KonkatenationWiederholung: Array von StructsWiederholung: Wortfrequenz-Zähler3Character-Arrays und Strings
Strings als char-ArraysDer Null-TerminatorString-Eingabe mit scanfVerwendung von strlen()Verwendung von strcpy()Verwendung von strcat()Verwendung von strcmp()Zusammenfassung: Grundlegende String-FunktionenÜbe selbstständig: Online-C-Compiler