Was ist da Falsch???
-
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
-
also es funktioniert nur bei wörter und nicht bei sätzen. was müsste man da noch abändern?
-
hallo
dir ist klar, daß du nur ein wort durchsuchst?
du kannst so, wie du es machst, nur ein wort bis zum leerzeichen auswerten.
bye
ps: zu langsam, hattest es selber schon gemerkt
-
ich denke, jetzt ist die zeit, mal ein sinnvolles openbook zu posten
http://www.pronix.de/modules/C/openbook/c_programmierung_14_2.php#13
passende seite habe ich aufgeschlagen
-
naja dann bleibts halt nur eine wort auswertung. nicht so schlimm.
EINEN GROOOOOOSSEN DANK AN ALLE DIE MIR HIER GEHOLFEN HATTEN !
-
#include <stdio.h> int main(void) { char buf[256]; size_t index; unsigned e = 0; fgets(buf, sizeof(buf), stdin); for(index = 0; buf[index] != '\0'; ++index) if(buf[index] == 'e') ++e; printf("%d mal e\n", e); return 0; }
-
#include <stdio.h> #include <string.h> int main() { int i,e=0; char str[100]; printf("\nBitte geben Sie einen Satz ein.\n"); gets(str); for(i = 0; i < strlen(str); i++) if(str[i] == 'e') e++; printf("%i mal e\n", e); getchar(); return 0; }
-
Gah! Was ist das mit dir und gets? gets sollte man nie benutzen, oder auch nur aus der Entfernung drauf schielen, weil dir bei sowas locker mal mehr in den Buffer geschrieben werden kann, als der fasst - und dann macht das Programm alles mögliche, nur nicht das, was es soll.
Außerdem ist es ziemlich dekadent, strlen in einer Schleifenbedingung zu benutzen, wenn sich die Stringlänge innerhalb der Schleife nicht ändert. Und nein, das kann der Compiler nicht sinnvoll rausoptimieren.
-
Dir zu liebe werde ich nur noch fgets(,,); verwenden!
Wenn du dich registrierstmfg hohesC
-
Pffff. Ich lass mich doch nicht erpressen.
-
presss
du goto verwender!!!