J
junger Mac
Aktives Mitglied
Thread Starter
- Dabei seit
- 19.11.2005
- Beiträge
- 137
- Reaktionspunkte
- 6
Hallo zusammen!
Ich soll ein C- Programm schreiben, das wie folgt beschrieben ist:
Eine Zeichenkette die per Tastatur eingegeben wird soll mittels getchar -Aufrufen die Zeichen nacheinander einlesen und zählen:
-wieviele Kleinbuchstaben
-wieviele Grossbuchstaben
-wieoft jede einzelne Dezimalziffer (0,1,.. , 9) und
- wieviele Wörter (durch ein oder mehrere Leerzeichen bzw Tabs )
in der Zeichenkette enthalten sind.
Anschließend soll am Bildschirm ausgegeben werden was enthalten ist.
Dann eine Abfage ob das ganze wiederholt werden soll!
Mein bisheriger Quellcode sieht wie unten eingefügt aus.
Das Programm macht alles bis auf das zählen der Zahlen!!!
Ich werde noch ganz gaga, weis echt nicht mehr weiter!!
Ich bekomme nur wirre Zahlen als Ausgabe!
# include <stdio.h>
# include <ctype.h>
# include <stdlib.h>
int main (int argc)
{
char eingabe, janein;
int gb, kb, zahl[10], leer, wort, i;
do
{
gb =0; //Variable fuer Grossbuchstabe
kb =0; //Variable fuer Kleinbuchstabe
//zahl =0;
leer =0; //Variable fuer Leerzeichen
wort =0; //Variable fuer Woerter
rewind(stdin);
printf("Zeichekette eingeben: ");
do
{
eingabe =getchar();
//***************************ueberpruefung GROSSBUCHSTABE*******
if( isupper(eingabe))
{
gb =gb+1;
leer=0;
}
// ***************************ueberpruefung kleinbuchstabe*************
if( islower(eingabe))
{
kb =kb+1;
leer=0;
}
//**************************ueberpruefung wort***************************
if( isspace(eingabe) && leer !=1)
{
leer =1;
wort =wort+1;
}
//************************ueberpruefung Ziffer***************************
if( isdigit(eingabe))
{
//zahl[eingabe-47]++;
zahl[eingabe] = zahl[eingabe]+1;
}
}
while(eingabe !='\n');
//************************ausgabe*****************************************
printf("Grossbuchstaben: %d \n",gb);
printf("Kleinbuchstaben: %d \n",kb);
for(i =0; i<10; i =i+1)
{
printf("Die Zahl %i kommt %i mal vor.\n",i,zahl);
}
printf("Woerter: %d \n",wort);
printf("Neue Zeichenkette (j/n)?");
janein = getchar();
}
while(janein !='n');
return 0;
}
Ich soll ein C- Programm schreiben, das wie folgt beschrieben ist:
Eine Zeichenkette die per Tastatur eingegeben wird soll mittels getchar -Aufrufen die Zeichen nacheinander einlesen und zählen:
-wieviele Kleinbuchstaben
-wieviele Grossbuchstaben
-wieoft jede einzelne Dezimalziffer (0,1,.. , 9) und
- wieviele Wörter (durch ein oder mehrere Leerzeichen bzw Tabs )
in der Zeichenkette enthalten sind.
Anschließend soll am Bildschirm ausgegeben werden was enthalten ist.
Dann eine Abfage ob das ganze wiederholt werden soll!
Mein bisheriger Quellcode sieht wie unten eingefügt aus.
Das Programm macht alles bis auf das zählen der Zahlen!!!
Ich werde noch ganz gaga, weis echt nicht mehr weiter!!
Ich bekomme nur wirre Zahlen als Ausgabe!
# include <stdio.h>
# include <ctype.h>
# include <stdlib.h>
int main (int argc)
{
char eingabe, janein;
int gb, kb, zahl[10], leer, wort, i;
do
{
gb =0; //Variable fuer Grossbuchstabe
kb =0; //Variable fuer Kleinbuchstabe
//zahl =0;
leer =0; //Variable fuer Leerzeichen
wort =0; //Variable fuer Woerter
rewind(stdin);
printf("Zeichekette eingeben: ");
do
{
eingabe =getchar();
//***************************ueberpruefung GROSSBUCHSTABE*******
if( isupper(eingabe))
{
gb =gb+1;
leer=0;
}
// ***************************ueberpruefung kleinbuchstabe*************
if( islower(eingabe))
{
kb =kb+1;
leer=0;
}
//**************************ueberpruefung wort***************************
if( isspace(eingabe) && leer !=1)
{
leer =1;
wort =wort+1;
}
//************************ueberpruefung Ziffer***************************
if( isdigit(eingabe))
{
//zahl[eingabe-47]++;
zahl[eingabe] = zahl[eingabe]+1;
}
}
while(eingabe !='\n');
//************************ausgabe*****************************************
printf("Grossbuchstaben: %d \n",gb);
printf("Kleinbuchstaben: %d \n",kb);
for(i =0; i<10; i =i+1)
{
printf("Die Zahl %i kommt %i mal vor.\n",i,zahl);
}
printf("Woerter: %d \n",wort);
printf("Neue Zeichenkette (j/n)?");
janein = getchar();
}
while(janein !='n');
return 0;
}