also nochmal hilfe bitte!
-
hatte schon mal gepostet, und is wohl falsch verstanden worden...
Also: wenn ich nach "hallo allo llo hallo" zum suchen eingebe
und dann nach "llo" abfrage, sagt er es ist 4 mal vorhanden, obwohl das wort nur einmal enthalten ist und er somit nur 1 mal anzeigen müsste!!und so gut kenn ich mich mit c/c++ noch net aus...
kann mir vielleicht jmd das prog. korrigieren...
muss es nämlich demnächst abgeben...
Bitte Hilfe! *thx*#include <stdio.h>
#include <conio.h>
#include <string.h>int main()
{char szText[1000],szWort[100],*ptr;
int nWort,ch,nPos;printf("Bitte geben sie einen Text ein!!):\n"); //Eingabe
gets(szText);
_strupr(szText); //erstetzt alles durch Großbuchstaben
nPos=0;
printf("Nach welchem Wort, bzw. Zeichen soll gesucht werden??:\n"); //Suchabfrage
while((ch=_getch())!=27) //Schleife wird mit ESC abgebrochen
{
if(ch=='\r')
{
szWort[nPos]='\0'; //abschliessen
nPos=0; //rücksetzen_strupr(szWort); //erstetzt alles durch Großbuchstaben
ptr=szText; //Zurücksetzen des Zeigers
nWort=0; //zurückstzen des Zählers
while(ptr=strstr(ptr,szWort)) //Start der Schleife
{
nWort++;
ptr++; //Pointer rückt weiter, wenn ein Wort "gescannt" ist
}
printf(" kommt %d mal in ihrem Text vor\nSuchwort: ",nWort);
//Ausgabe desErgbnisses, neue Abfrage
}
else//wenn Buchstabe
{
szWort[nPos]=ch;//an Wort Zeichenkette anhaengen
_putch(ch);//und anzeigen
nPos++;//naechster Buchstabe des Wortes
}}
return 0;
}
-
ich hab schon kopfschmerzen
-
bitte, benutze CPP Tags, das macht deinen Post viel interessanter, und wir helfen dir.
-
Big1one1 schrieb:
Also: wenn ich nach "hallo allo llo hallo" zum suchen eingebe
und dann nach "llo" abfrage, sagt er es ist 4 mal vorhanden, obwohl das wort nur einmal enthalten ist und er somit nur 1 mal anzeigen müsste!!Ist dir denn wenigstens klar, warum das passiert?
-
dein code les ich jetzt nicht, aber vielleicht löst es dein problem, wenn du einfach nach " llo " sucht, also mit leerzeichen...