Zeichenkettenverarbeitung: Worte zählen
Schreiben Sie ein Programm wordcount.c, das Ihnen zu einer einzugebenden Zeichenkette ermittelt, aus wievielen
Worten der Text besteht.
Worte können dabei aus Buchstaben, Ziffern und Bindestrichen bestehen; alle anderen Zeichen fungieren als
Trennzeichen. Die Zeichenkette "Die User coolio23 und mueller-luedenscheid sind gerade im Chat-Room"
besteht somit aus neun Worten.
Anmerkung: Wie Sie sicherlich schon bemerkt haben, liest die Funktion scanf() nur bis zum ersten Leerzeichen bzw. allgemein dem ersten white space ein. Nachstehendes Code-Fragment zeigt die Funktion fgets() im Einsatz, mit der Sie - noch dazu überlaufgeschützt - eine Zeichenkette inklusive eventueller Leerzeichen einlesen können. Lediglich das abschließende Return ist ggf. mit in der Zeichenkette abgespeichert!
char text[2048]; puts("Bitte Text eingeben: "); fgets(text,2048,stdin); puts(text);
Zeichenkettenverarbeitung: Datum auswerten
Schreiben Sie ein Programm datum.c, das Ihnen folgendes ermöglicht.
Zeichenkettenverarbeitung: Numerische Auswertung
Schreiben Sie bitte eine Funktion value(), die zu einer übergebenen Zeichenkette (im Sinne von Anfangsadresse) den dargestellten numerischen int-Wert zurückliefert, sofern die Zeichenkette eine ganze Zahl darstellt, also nur aus Ziffern sowie einem optionalen Vorzeichen "+" oder "-" besteht. Beschreibt der Inhalt keine ganze Zahl, so soll die Funktion value() den Wert 0 zurückgeben.
Diese Funktion soll also insbesondere den Prototypen int Value(char *); besitzen.
Beispiele: Im oben beschriebenen Sinne sollen value("123") den Wert 123 und value("1010") den Wert 1010 ergeben. Ist char s[10] = "34"; deklariert, so soll value(s) natürlich den Wert 34 liefern. Dagegen sollen die Aufrufe value("Haus") oder value("1+1") jeweils den Wert 0 zurückliefern. Leerzeichen vor oder nach der eigentlichen Zahl sollen allerdings toleriert werden, d.h. der Aufruf value(" -17 ") soll erwartungsgemäß den numerischen Wert -17 ergeben.
Zeichenkettenverarbeitung: Mustererkennung / Syntaxprüfung
Implementieren Sie bitte eine Funktion pruefeKennung(), die eine Zeichenkette daraufhin überprüft,
ob sie das nachfolgende Format einhält. Ist dies der Fall, so soll die Funktion 1, andernfalls eine 0 zurückliefern.
Gültig sei eine Kennung genau dann, wenn Sie mit zwei oder drei Buchstaben
beginnt und anschließend drei oder vier Ziffern besitzt.
Gültig sind in diesem Sinne also die Sequenzen "AA123", "AB9876", "ABC123" oder "LEV2011". Ungültig sind beispielsweise "A90123", "ABC43A" oder "XY22".
printf("%d",pruefeKennung("OK1000")); /* Ausgabe 1 */ printf("%d",pruefeKennung("WRONG22")); /* Ausgabe 0 */
Zeichenkettenverarbeitung: Sortieren
Speichern Sie in einem geeigneten Array bitte (bis zu fünfzig) Zeichenketten (fachlich z.B. Namen) ab.
© 2000-2023 FHDW/Peter Baeumle-Courth