C Array prüfen ?

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von HightronicDesign, 25.11.2012.

  1. #1 HightronicDesign, 25.11.2012
    HightronicDesign

    HightronicDesign Intel Inside

    Dabei seit:
    19.06.2010
    Beiträge:
    662
    Zustimmungen:
    0
    Ort:
    127.0.0.1
    Hi Leute,

    Bitte um Hilfe :D .

    Ich muss im Rahmen einer Übung ein Programm in C schreiben.

    Es geht darum das man etwas eingeben kann, das Programm liest den Text von der Tastatur ab und wenn es eine Zahl ist wird es in einen anderen Array abgelegt. Nur wie prüfe ich ob im ersten Array sich eine reine Zahl befindet oder nur buchstaben oder eine mischung...:eek:

    Geplant ist der Teil so, der Benutzer gibt etwas ein und es kommt dann in den benutzer_eingabe[100] Array. Wenn es eine Zahl ist dann wird es in den zahlen_puffer[10] gespeichert, wenn nicht dann kommt eine fehlermeldung und man muss es erneut versuchen.

    Will nicht die ganze Nacht durchmachen wegen dem :confused:.

    Vielen Dank schon mal
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 EliteSoldier2010, 26.11.2012
    EliteSoldier2010

    EliteSoldier2010 Battlefield 3 Veteran

    Dabei seit:
    30.08.2009
    Beiträge:
    3.700
    Zustimmungen:
    0
    Ort:
    Caspian Border
    In der Mikrokontrollertechnik setzt man auf Ascii Codes. Guck mal ob dir dies hilft.
     
  4. #3 HightronicDesign, 26.11.2012
    HightronicDesign

    HightronicDesign Intel Inside

    Dabei seit:
    19.06.2010
    Beiträge:
    662
    Zustimmungen:
    0
    Ort:
    127.0.0.1
    soweit bin ich schon,

    im moment ist mein problem das mein eingabe array 100 stellen hat, das heisst wenn man 100 Zahlen eingibt prüfe ich ob alle 100 stellen im array den Ascii Code von 0x30 bis 0x39 entsprechen und weiss ob es ein Zahlenwert ist oder nicht, aber wie ^^

    weil wenn ich als erstes eine Zahl eingebe und dann nur mehr buchstaben oder sonderzeichen etc, dann gibt mit mein programm trotzdem aus das ich eine gültige Zahl eingeben habe.
     
  5. #4 xandros, 26.11.2012
    Zuletzt bearbeitet: 26.11.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.891
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Ahem....
    Wenn du nicht direkt alles in ein Char-Array schreibst, machst du dir die Arbeit etwas einfacher.
    Schleife mit 100 Durchlaeufen und bei Bedarf Enter als Abbruchbedingung bzw. Eingabeende.
    Eine Eingabe wird als (einzelnes) Char verwendet. Nach jeder Eingabe wird normalerweise geprueft, ob Eingabeende (Enter?) erreicht ist.
    Dementsprechend kann dabei auch geprueft werden, ob die gerade erfolgte Eingabe ein Integer ist.

    strtol oder strtoi gibt einen Wert zurueck, der auch bei einer impliziten Typumwandlung identisch ist....
    ->
    char a = "5";
    int b = a;
    <-
    obwohl a als Character definiert wird, wandelt der Compiler hier implizit in Integer um.

    ->
    char a = "5";
    long b;
    b = strtol(a);
    <-
    b enthaelt eine Konvertierung des Characters aus a in einen Long-Integerwert.
    wird b als Int definiert, dann kaeme strtoi(a) zum Einsatz und man erhaelt eine Typkonvertierung in ein Integer.

    Ist nun die Konvertierung ueber strtol/strtoi und der impliziten Konvertierung identisch, hast du auf jeden Fall einen Zahlenwert, der dann auch in dein Integer-Array eingetragen werden kann. Ist das nicht der Fall -> ab damit in das Char-Array.
     
  6. #5 HightronicDesign, 26.11.2012
    HightronicDesign

    HightronicDesign Intel Inside

    Dabei seit:
    19.06.2010
    Beiträge:
    662
    Zustimmungen:
    0
    Ort:
    127.0.0.1
    Verdammt sry das ich es vergessen habe zu erwähnen.

    Funktionen wie strtoi oder ähnliche sind nicht erlaubt in meiner Übung.

    Es soll alles selber geschrieben werden.
     
  7. #6 xandros, 26.11.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.891
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Dann verwende eben ausschliesslich die implizite Typkonvertierung. Ein Char kann nicht in ein Integer konvertiert werden, wenn es nicht numerisch ist....

    Du kannst dir auch die Library ansehen, in der strtoi steht und die Funktion selbst nachbauen.....
     
  8. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
Thema: C Array prüfen ?
Besucher kamen mit folgenden Suchen
  1. c array auf zahl prüfen

    ,
  2. array zahlen prüfen c

    ,
  3. c array zahlen überprüfen

    ,
  4. c char array auf zahlen prüfen
Die Seite wird geladen...

C Array prüfen ? - Ähnliche Themen

  1. E-Mails vor Exchange und Verteilung auf Viren prüfen

    E-Mails vor Exchange und Verteilung auf Viren prüfen: Gibt es eine Lösung wie man Mails vor der Verteilung auf Schadsoftware/Viren prüfen kann. Hat da jemand mit Erfahrung? Danke
  2. Konfiguration prüfen

    Konfiguration prüfen: Kann hier mal jemand drüber schauen ob in Ordnung. Danke im vorraus
  3. C# und MySQL

    C# und MySQL: Hallo zusammen! Ich bräuchte dringend hilfe von Experten, da ich ein totaler Anfänger bin. Ich habe eine vorhandene Excel Tabelle. Diese soll in...
  4. Aufrunden einer int in C

    Aufrunden einer int in C: Hi Leute, wie kann ich in C eine Zahl wie 53 auf die nächst größere Zahl welche durch 10 Teilbar ist aufrunden? Also von 53 auf 60 oder von 44...
  5. Verkaufe FANTEC DB-R35DUS-1 Festplatten ARRAY (Festplattengehäuse)

    Verkaufe FANTEC DB-R35DUS-1 Festplatten ARRAY (Festplattengehäuse): mit 2 Schächten für 2 Stck 3,5" Festplatten. Kann mit RAID-Einstellungen gespiegelt bzw. gemeinsam betrieben werden. Neuwertiges Gehäuse mit OVP,...