Was ist da Falsch???
-
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!!!
-
wie wäre es mit
int count_char(char* str, char c) { int res=0; assert(c!=0); //für die ganz lustigen while(str=strpos(str, c)) { ++str; ++res; } return res; }
-
Du meinst hoffentlich strchr statt strpos, oder?
-
37337 schrieb:
naja dann bleibts halt nur eine wort auswertung. nicht so schlimm.
EINEN GROOOOOOSSEN DANK AN ALLE DIE MIR HIER GEHOLFEN HATTEN !
zu faul zum linkverfolgen und nachlesen?
na denn viel spaß
-
ne weisst du ich hatte grad keine lust mich durch links durchzuschlagen. immoment reicht es wenn es ein wort verarbeiten kann
-
ne weißt du, irgendwann solltest du auch mal nachlesen.
sonst wirds nichts mit der programmiererkarriere
-
logisch aber ich mach das mal schön der reihe nach
-
37337 schrieb:
logisch aber ich mach das mal schön der reihe nach
...erst Programme schreiben, dann Programmiersprache lernen?