Hallo,
Ich hab ein Programm das Strichpunkte und Wortgruppen zaehlt, aber ich versteh das überhaupt nicht. Zumindest das Unterprogramm das die Zahlgruppen zaehlt.
Und funktionieren auch nicht so toll.
Aufgabe:
Schreiben Sie zwei Unterprogramme:
a) Ein Unterprogramm um die Leerzeichen in einem String zu zaehlen.
Uebergabe: String / Rueckgabe: Anzahl
b) Ein Unterprogramm um die Buchstaben am Wortanfang in einem String in
Grossbuchstaben zu wandeln. Leerzeichen trennen die Woerter. Ebenso ist am
Anfang des Strings ein Wortanfang.
Uebergabe: String / Rueckgabe: Anzahl der Woerter
Das Hauptprogramm soll den String anlegen, die Unterprogramme aufrufen und
das Ergebnis ausgeben. Die Unterprogramme dürfen keine Ausgabe machen.
Hier das Programm:
LG
Ich hab ein Programm das Strichpunkte und Wortgruppen zaehlt, aber ich versteh das überhaupt nicht. Zumindest das Unterprogramm das die Zahlgruppen zaehlt.
Und funktionieren auch nicht so toll.
Aufgabe:
Schreiben Sie zwei Unterprogramme:
a) Ein Unterprogramm um die Leerzeichen in einem String zu zaehlen.
Uebergabe: String / Rueckgabe: Anzahl
b) Ein Unterprogramm um die Buchstaben am Wortanfang in einem String in
Grossbuchstaben zu wandeln. Leerzeichen trennen die Woerter. Ebenso ist am
Anfang des Strings ein Wortanfang.
Uebergabe: String / Rueckgabe: Anzahl der Woerter
Das Hauptprogramm soll den String anlegen, die Unterprogramme aufrufen und
das Ergebnis ausgeben. Die Unterprogramme dürfen keine Ausgabe machen.
Hier das Programm:
Code:
#include <stdio.h>
#define MAXLEN 50
int strichpunkte(char a[]);
int string_umwandeln(char a[]);
int strichpunkte(char a[])
{
int i=0;
int anzahl=0;
while(a[i] != '\0')
{
if(a[i] == ';')
{
anzahl++;
}
i++;
}
return anzahl;
}
int string_umwandeln(char a[])
{
int i=0;
int anzahl=0;
while(a[i] != '\0')
{
if(a[i] >= 'A' && a[i] <= 'Z')
{
a[i] = a[i]+32;
}
if(a[i] >= '1' && a[i] <= '9' && a[i-1] == ';' )
{
anzahl++;
}
if(a[i] >= '1' && a[i] <= '9' && a[i+1] == ';' )
{
anzahl++;
}
i++;
}
return anzahl;
}
int main (void)
{
char a[MAXLEN];
printf("Geben Sie bitte Woerter und Zahlen ein die mit Strichpunkten getrennt sind.\n");
gets(a);
printf("\nDie Anzahl der Strichpunkte betraegt %d.\n",strichpunkte(a));
printf("Die Anzahl der Zahlen betraegt %d.\n\n",string_umwandeln(a));
printf("Neuer string: %s\n\n",a);
}
LG
Zuletzt bearbeitet: