Von einem String bestimmte Zeichen entfernen.

  • Hi,
    also ich brauche Hilfe bei einer Aufgabe. Programmiert wird in C.
    Wenn ein Zeichen in einem String das aus einem Array von Char's besteht kein 0-9, minus, plus oder punkt enthält, dann soll die Variable "Fehler" um eins erhöht werden. Dadurch wird dann in der Main funktion ein Fehler ausgegeben in der Konsole.


    EDIT1: Habe die Main Funktion hinzugefügt. Das Problem ist, dass wenn man z.B. "asdf" eingibt, dann 0.000000 aus gegeben wird.
    In der Zeile 8 soll eigentlich statt PS folgendes stehen (alles zusammen):
    % 5 0 s


    EDIT2: Es geht darum dass man nur eine gültige Gleitkommazahl angeben darf. Wenn das der Fall ist, dann wird es in der Konsole angezeigt.


    Mein bisheriger Code:



    <burny209>: seeenseee sieht jemand was ich schreibe?
    <seeenseee>: burny209 ich kanns immernoch nich sehen
    <burny209>: seeenseee guck CHEATER61 sieht was ich schreibe
    <seeenseee>:
    ich aber nich

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von CHEATER61 ()

  • Habs bereits fertig mit folgendem Code:
    EDIT: Die Formatierung klappt hier nicht so gut.


    <burny209>: seeenseee sieht jemand was ich schreibe?
    <seeenseee>: burny209 ich kanns immernoch nich sehen
    <burny209>: seeenseee guck CHEATER61 sieht was ich schreibe
    <seeenseee>:
    ich aber nich

  • Mein Ansatz:


    Die Methode Fehler zu zählen ist sinnfrei. Man kann auch direkt mit einem Fehler abbrechen. Spart Zeit und Rechenleistung ..



    Dein Code hat ein Problem:

    C
    1. if((s[i] < '0') || (s[i] > '9'))


    Alle Zeichen die größer 0 sind oder kleiner 9 ... das trifft auf das gesammte ASCII Charset zu ...


    Gruß
    florian0

  • Also funktionern tut mein Code.
    Hier mal die gesamte Aufgabenstellung damit man erkennt was gemeint ist:


    <burny209>: seeenseee sieht jemand was ich schreibe?
    <seeenseee>: burny209 ich kanns immernoch nich sehen
    <burny209>: seeenseee guck CHEATER61 sieht was ich schreibe
    <seeenseee>:
    ich aber nich

  • Das ist die Abfrage ob nach dem ersten zeichen ein + oder - kommt wenn ja ist das ja logischerweise ein Fehler.
    Das verhindet also eingaben wie:
    4+
    ++
    +545+

    <burny209>: seeenseee sieht jemand was ich schreibe?
    <seeenseee>: burny209 ich kanns immernoch nich sehen
    <burny209>: seeenseee guck CHEATER61 sieht was ich schreibe
    <seeenseee>:
    ich aber nich