- Registriert
- 03.09.13
- Beiträge
- 78
Hallo erstmal,
Ich hoffe ich bin nicht im falschen Themengebiet wenn ja, SORRY!
Also wir Programmieren in der Schule nun bisschen nichts großes.
C programmieren mir Feldern Strangs Funktionen usw.
Nun versuche ich halt soviel wie möglich mit MacOSX zu machen für die Schule
und so wenig wie möglich mit Windows. Was sich leider mit MathCAD EPlan Step7 und TIA nicht ganz ausgeht :-c
Nun da ich CodeRunner und Xcode am MacBook drauf habe, programmiere ich da währen die anderen
auf ******* mit Visual Studio arbeiten.
Seit kurzem hatten wir eine HÜ nicht besonders und ziemlich leicht wir sollten ein Programm schreiben, bei dem wir einen Text ein geben und als Ausgabe die Anzahl der Großbuchstaben, Kleinbuchstaben, Ziffern und Leerzeichen bekommen.
Und am ende kommt eine Abfrage ob wir das Programm noch einmal durchführen wollen( habe mit einer while Schleife gemacht)
Nun das Problem: Wenn ich die Abfrage am Ende mache(Sie wollen noch einen Durchgang? Dann druecken sie 0, zum Beenden 1:) und ich 0 drücke wird das Programm ganz gleich mit den vorherig einsgegeben Text Analysiert und ich somit keinen neuen Text eingeben kann, dies sieht so aus:

Das komische ist bei Visual Studio Funktioniert alles tadellos(das ärgert mich)
Hier der Programmcode:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char string[100] = {0};
int laenge;
int iG=0;
int iK=0;
int iZ=0;
int iL=0;
int w=0;
int i,j;
while (w==0)
{
printf("Bitte eine Zeichenkette eingeben:");
fgets (string, 99 ,stdin);
fflush(stdin);
string[strlen(string)-1] = '\0';
// Laenge
laenge = strlen(string);
// Großbuchstaben
for (i=0; i< strlen(string); i++)
{
for (j='A'; j <='Z'; j++)
{
if (string == j)
{
iG++;
}
}
}
// Kleinbuchstaben
for (i=0; i< strlen(string); i++)
{
for (j='a'; j <='z'; j++)
{
if (string == j)
{
iK++;
}
}
}
// Ziffern
for (i=0; i< strlen(string); i++)
{
for (j='0'; j <='9'; j++)
{
if (string == j)
{
iZ++;
}
}
}
// Leerzeichen
for (i=0; i< strlen(string); i++)
{
for (j=' '; j <=' '; j++)
{
if (string == j)
{
iL++;
}
}
}
printf("\n\nLaenge: %d\n", laenge);
printf("Anzahl der Großbuchstaben:%d\n", iG);
printf("Anzahl der Kleinbuchstaben:%d\n", iK);
printf("Anzahl der Ziffern:%d\n", iZ);
printf("Anzahl der Leerzeichen:%d\n", iL);
printf("\n\nSie wollen noch einen Durchgang? Dann druecken sie 0, zum Beenden 1:");
scanf("%d", &w);
fflush(stdin);
}
return0;
}
Tut mir Leid für das so lange hin und her schreiben, ich hoffe ich hab das gut erklärt und ich hoffe jemand hat eine Antwort drauf :-D
Ich hoffe ich bin nicht im falschen Themengebiet wenn ja, SORRY!
Also wir Programmieren in der Schule nun bisschen nichts großes.
C programmieren mir Feldern Strangs Funktionen usw.
Nun versuche ich halt soviel wie möglich mit MacOSX zu machen für die Schule
und so wenig wie möglich mit Windows. Was sich leider mit MathCAD EPlan Step7 und TIA nicht ganz ausgeht :-c
Nun da ich CodeRunner und Xcode am MacBook drauf habe, programmiere ich da währen die anderen
auf ******* mit Visual Studio arbeiten.
Seit kurzem hatten wir eine HÜ nicht besonders und ziemlich leicht wir sollten ein Programm schreiben, bei dem wir einen Text ein geben und als Ausgabe die Anzahl der Großbuchstaben, Kleinbuchstaben, Ziffern und Leerzeichen bekommen.
Und am ende kommt eine Abfrage ob wir das Programm noch einmal durchführen wollen( habe mit einer while Schleife gemacht)
Nun das Problem: Wenn ich die Abfrage am Ende mache(Sie wollen noch einen Durchgang? Dann druecken sie 0, zum Beenden 1:) und ich 0 drücke wird das Programm ganz gleich mit den vorherig einsgegeben Text Analysiert und ich somit keinen neuen Text eingeben kann, dies sieht so aus:

Das komische ist bei Visual Studio Funktioniert alles tadellos(das ärgert mich)
Hier der Programmcode:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char string[100] = {0};
int laenge;
int iG=0;
int iK=0;
int iZ=0;
int iL=0;
int w=0;
int i,j;
while (w==0)
{
printf("Bitte eine Zeichenkette eingeben:");
fgets (string, 99 ,stdin);
fflush(stdin);
string[strlen(string)-1] = '\0';
// Laenge
laenge = strlen(string);
// Großbuchstaben
for (i=0; i< strlen(string); i++)
{
for (j='A'; j <='Z'; j++)
{
if (string == j)
{
iG++;
}
}
}
// Kleinbuchstaben
for (i=0; i< strlen(string); i++)
{
for (j='a'; j <='z'; j++)
{
if (string == j)
{
iK++;
}
}
}
// Ziffern
for (i=0; i< strlen(string); i++)
{
for (j='0'; j <='9'; j++)
{
if (string == j)
{
iZ++;
}
}
}
// Leerzeichen
for (i=0; i< strlen(string); i++)
{
for (j=' '; j <=' '; j++)
{
if (string == j)
{
iL++;
}
}
}
printf("\n\nLaenge: %d\n", laenge);
printf("Anzahl der Großbuchstaben:%d\n", iG);
printf("Anzahl der Kleinbuchstaben:%d\n", iK);
printf("Anzahl der Ziffern:%d\n", iZ);
printf("Anzahl der Leerzeichen:%d\n", iL);
printf("\n\nSie wollen noch einen Durchgang? Dann druecken sie 0, zum Beenden 1:");
scanf("%d", &w);
fflush(stdin);
}
return0;
}
Tut mir Leid für das so lange hin und her schreiben, ich hoffe ich hab das gut erklärt und ich hoffe jemand hat eine Antwort drauf :-D