Was ist da Falsch???
-
nene ein programm funktioniert nicht und zwar folgendes:
#include <stdio.h> #include <stdlib.h> #include <string.h> main(){ int i,Satz; int e = 0; char str[100] = ""; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] = 'e')e++; } printf("%d mal e\n", e); getchar(); return 0; }
Das Programm muss sagen wieviel mal ein e in einem string vorkommt.
-
if(str[i] == 'e')
-
if(str[i] = 'e')e++; muss if(str[i] == 'e')e++; sein!
zeigt dir dein Compiler keine Fehler mit Zeilen Angabe?@elise mist eine sekunde schneller
-
nein der meldet nichts wegen dem =.
das programm sieht jetzt im moment so aus läuft aber leide rnoch nicht. da muss noch irgendwo ein fehler stecken der der compiler nicht erkennt:
#include <stdio.h> #include <stdlib.h> #include <string.h> main(){ int i,Satz; int e = 0; char str[100] = ""; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e')e++; } printf("%d mal e\n", e); getchar(); return 0; }
-
versuch mal
int main()
bei mir läufts!
-
beim kollegen der linux hat läuft es auch nur unter dem scheiss windows läuft es nicht.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int i,Satz; int e = 0; char str[100] = ""; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e')e++; } printf("%d mal e\n", e); getchar(); return 0; }
-
Ich lasse es auch auf Windows laufen! unds tut auch!!!
mach mal
char str[100];
anstatt:
char str[100] = "";
Vielleicht hat dein Compiler mit irgendwas Probleme!
-
also unter cmd funktionierts. der e-zähler kommt aber nicht über die 1 herüber.
-
wenn ich die "" weglasse gibt der compiler eine fehlermeldung aus
-
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int i,Satz; int e = 0; char str[100]; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e') { e++; } } printf("%i mal e\n", e); getchar(); return 0; }
Vielleicht so?
-
hi,
hab jetzt nicht den ganzen thread gelesen, aber:
- welchen compiler verwendest du UND
- welche fehlermeldung wird ausgegeben?ciao
-
funktioniert leider nur in der cmd konsole sonst läufts überhaupt nicht mehr. man kackt mich das an.
-
hephaistos6 schrieb:
hi,
hab jetzt nicht den ganzen thread gelesen, aber:
- welchen compiler verwendest du UND
- welche fehlermeldung wird ausgegeben?ciao
compiler= devc++
fehlermeldung= gar keine das programm wird einfach geschlossen
-
Dann lad dir nen anderen Compiler runter?!
-
ich habs ja schon mit dem borland builder 5 und 6 versucht aber die kommen auch nicht weiter.
-
naja die melden wenigstens:
[C++ Warnung] Unit1.c(14): W8012 Vergleich von signed- und unsigned-Werten
laut compiler müsste da der fehler sein:
for(i = 0; i < strlen(str); i++)
-
aber das ist ja nur eine warnung! dh: es funktioniert.
viele studios sind so, dass sie so konsolenprogramme nicht richtig anzeigen.
bau mal ein sleep(4); vor dem return ein!ciao
-
ich habs mit system("Pause"); gemacht geht auch. tja ein problem wäre gelöst. das nöchste problem ist aber das beim resultat nur immer 0 oder 1 angezeigt wird.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int i,Satz; int e = 0; char str[100]; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e') { e++; } } printf("%i mal e\n", e); getchar(); system("Pause"); return 0; }
-
machst du statt %i ein %d und es sollte gehen
hth,
ciao
-
nein funktioniert imme noch nicht
hab folgendes versucht#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int i,Satz; int e = 0; char str[100]; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e') { e++; } } printf("%d mal e\n", e); getchar(); system("Pause"); return 0; }
und
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int i,Satz; char e = 0; char str[100]; printf("\nBitte geben Sie einen Satz ein.\n"); scanf("%s",&str); for(i = 0; i < strlen(str); i++) { if(str[i] == 'e') { e++; } } printf("%d mal e\n", e); getchar(); system("Pause"); return 0; }
geht beides nicht