Zahleneingabe über Matrixtastatur

Gast #24889
Ich habe ien Problem mit der Eingabe von Zahlen mittels Matrixtastatur.

Und zwar die Tastatur (0-9 . + - ) liefert die Werte.
Ich soll muss sie sofort am LCD visualisieren aber auch gleichzeitig 
zwischenspeichern. Denn sobald Enter gedrückt wurde sollen ja die 
gedrückten Zahlen mit oder ohne Vorzeichen in einer Variable stehen.

Kann mir vielleicht einer helfen!

0-9 habe ich schon geschaft aber + - . machen mir sorgen

DANKE für die Antwort
Werner
Gast
Sollen + und - das Vorzeichen wechseln oder was?
Was benutzt Du C, ASM, Basic?


Wenn die Ziffern eingegeben werden, kannst Du Sie auf gleich in eine 
Zahl umwandeln und mit Vorzeichen ausgeben. Wird ein + eingegeben muß zu 
der Zahl nur wenn sie negativ ist INTMIN oder LONGMIN hinzuaddiert 
werden.
Bei einem - addierst nur wenn sie positiv ist INTMIN oder INTLONG hinzu.

Nach jeder Eingabe mußt Du natürlich die ganze Zahl immer wieder 
ausgeben.

Du kannst natürlich auch nur die Ziffernfolge speichern und den ersten 
Platz der Folge für das Vorzeichen reservieren und bei + oder - dort 
dann eintragen, aber solche Lösungen sind programmiertechnisch etwas 
unschön. Aber was Du für Dich
machst ist ja Dein Ding.


Reiner
Gast
Nun ich weiß ja nicht wie Deine Matrix die Tastenwerte erzeugt.
Wenn Du eine Lösung für Dein Problem suchst, solltest Du Deinen Source 
schon zeigen. So können die Leute aus dem Forum am besten etwas in Deine 
Struktur einpassen.

Reiner
Gast
key ist die Taste die auftritt.


code char tast[13]={43,45,46,48,49,50,51,52,53,54,55,56,57,};
code char tastzuort[13] = "+-.0123456789";

for (z=0;z<13;z++)
    {if (key==tast[z])
      {Taste=tastzuort[z];
      sprintf(line,"%c",Taste);
      print_string(line);
      }
     }
Bei diesem Code wird die gedrückte Zahl gleich aufs LCD geschrieben.

Jetzt habe ich noch das Problem das mehrere Zeichen eingegeben werden 
und in einer Varible abgelegt werden sollen.

z.B. Es soll 1234 eingegeben werden und dürch drücken einer Entertaste 
dies in eine Varible gespeichrt werden.

Werner

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.