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...


Anmelden zum Antworten