|
|
Überprüfe Eingabe ob eine Zahl oder Buchstabe. |
|
Serenum |

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 24.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2017a
|
 |
|
|
 |
|
Verfasst am: 08.07.2017, 02:22
Titel: Überprüfe Eingabe ob eine Zahl oder Buchstabe.
|
 |
Hallo alle zusammen,
brauche kurz Hilfe. Ich muss den Code so schreiben, dass er die Eingabe überprüft.
Also:
- Überprüfe Eingabe ob eine Zahl oder Buchstabe ist,
- wenn Zahl, dann weiter zur nächsten Eingabe,
- wenn Buchstabe, dann gebe Fehlermeldung und kehre zurück zur erneuten Eingabe.
Mein Ansatz ist folgender:
Aber irgendwie funktioniert das nicht, muss aber auch dazu sagen, bin echt ein Anfänger.
Hat jemand eventuell ein Tipp?
Gruß Serenum.
|
|
|
|
|
Serenum |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 24.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2017a
|
 |
|
|
 |
|
Verfasst am: 11.07.2017, 23:51
Titel:
|
 |
Ein anderer Ansatz, ist besser wie der zuvor, aber irgendwas stimmt nicht.
Hat jemand ein Tipp?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 19:38
Titel: Re: Überprüfe Eingabe ob eine Zahl oder Buchstabe.
|
 |
Hallo Serenum,
Vergleiche mit NaN sind immer FALSE. Das ist die Definition von NaNs:
input(prompt)
liefert immer eine Zahl zurück, selbst wenn Du "sin(3)" eingibst. Wenn Du aber prüfen willst, ob ein String eingegeben wurde, musst Du die Eingabe von Strings zunächst erlauben mit dem 's' Flag:
Danach wird die Eingabe mit
str2double
umgewandelt und dann per
isnan
getestet.
"x1 == char" funktioniert nicht, da
char
ein Matlab-Befehl ist. Er wandelt das Argument in den Typ "char" um:
Folglich kann man die Zahl (x1 nach
input
) nicht direkt damit vergleichen. Der Befehl
ischar(x1)
würde eher helfen, aber wie gesagt liefert
input(prompt)
immer eine Zahl zurück.
input(prompt, 's')
liefert zwar einen String, aber Du möchtest nicht den Typ der Variablen untersuchen, sondern den Inhalt.
Versuche es mal mit den gezeigten Befehlen. Ich möchte keine Lösung posten, wenn es eine Hausaufgabe ist.
Gruß, Jan
|
|
|
Serenum |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 24.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2017a
|
 |
|
|
 |
|
Verfasst am: 13.07.2017, 13:09
Titel:
|
 |
Hallo Jan,
danke für die Hilfe. Wie du es wahrscheinlich gemerkt hast, ist das ja für meine größere Aufgabe. Ich habe es jetzt so realisiert. Aber so richtig läuft es nicht. Ich poste den ganzen Code in dem anderen Beitrag. Was ich so da angestellt habe. Vielleicht hat jemand eine Idee, was da nicht so richtig funktioniert.
Ich habe auch ein wenig anderen Ansatz, aber der läuft auch nicht richtig.
Gruß Serenum.
Zuletzt bearbeitet von Serenum am 13.07.2017, 13:14, insgesamt einmal bearbeitet
|
|
|
Serenum |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 24.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2017a
|
 |
|
|
 |
|
Verfasst am: 13.07.2017, 13:14
Titel:
|
 |
Aber an sich finde ich, ist das Problem dank Jan gelöst. Nochmal vielen Dank.
Gruß Serenum.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|