Announcement

Collapse
No announcement yet.

Newbie braucht Hilfe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Newbie braucht Hilfe

    Hallo Da draußen!
    Ich neu hier und auch bei C/C++ ganz am Anfang.
    Z.Zt. versuche ich gerade etwas C++ zu lernen, autodidaktisch.
    Ich suche eine Funktion, welche prüfen kann ob ein String nur aus Ziffern besteht.
    Unter VBA z.B. heißt sie IsNumber. Gibt es sowas, wenn ja wo, oder muß ich das manuell prufen. Nach dem Motto String zerlegen, jeden Character prüfen...
    Ach so, ich arbeite mit Builder3.

    Für Hilfe sage ich schon einmal Danke
    Bis dann
    Oliver

  • #2
    Hi,

    fragen für C++ Builder bitte in Zukunft auch im richtigen Ordner stellen. Gerade fällt mir eine etwas schlechtere LÖsung ein, aber für den Anfang wirds wohl reichen.

    <p>

    String text = "Bin ich eine Zahl";
    int laenge = text.GetTextLen();

    for (int i = 1; i < laenge; i++)
    {
    if (text[i] == '1') // Das erste Zeichen im String ist also eine 1.
    ...
    }

    </p>

    Dieser Version müßtest du alle Zahlen abfragen. Leichter ist es, wenn man die Tastencodes kennt. Diese weiß ich leider nicht auswenig. Sonst würde man einfach schreiben:

    if (text[i] => 67 && >100)

    Diese Zahlen sind falsch, da ich wie bereits gesagt die Tastencodes nicht auswenig kenne.

    Wenn du ein komplettes Beispiel haben willst, mail mir und ich schock dir eins.

    Gruß Philipp

    [email protected]

    Comment


    • #3
      <pre>
      String text = "Bin ich 1 Zahl";
      int laenge = text.GetTextLen();
      int AnzahlZiffern=0;
      int AnzahlKeineZiffern=0;

      for (int i = 0; i < laenge; i++)
      {
      int x=0;
      if (text[i] <= '9') if (text[i] >= '0') x=1;

      if(x) AnzahlZiffern++;
      else AnzahlKeineZiffern++;
      }
      </pre&gt
      Günther

      Comment


      • #4
        Hallo Olliver,

        die Klasse AnsiString beinhaltet eine Funktion, welche einen String, bestehend aus Ziffern, in einen Integerwert umwandelt. Enthält dieser String einen nichtnumerischen Wert, wird ein Exception-Error ausgelöst aus dem Du entnehmen kannst, dass es hier nicht um einen Integer-Wert (IsNumber) handelt.

        Bsp.:

        AnsiString St = "A1";
        try
        {
        int i = St.ToInt();
        }
        catch(EConvertError &ex )
        {
        ShowMessage("Ich bin keine Zahl");
        }

        MfG
        Gerhar

        Comment


        • #5
          #include <stdio.h>
          #include <ctype.h>

          int main(void)
          {
          char c = 'C';

          if (isalpha(c))
          printf("%c is alphabetical\n",c);
          else printf("%c is not alphabetical\n",c);

          return 0;

          Comment


          • #6
            #include <stdio.h>
            #include <ctype.h>

            int main(void)
            {
            char c = 'C';

            if (isalpha(c))
            printf("%c is alphabetical\n",c);
            else printf("%c is not alphabetical\n",c);

            Comment

            Working...
            X