1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Eingabefelder

Dieses Thema im Forum "OS X-Developer" wurde erstellt von nelfisch, 13.09.09.

  1. nelfisch

    nelfisch Carola

    Dabei seit:
    15.03.08
    Beiträge:
    108
    Hi Leute,

    ich bin gerade dabei, ein kleines Rechenprogramm in Objective C zu schreiben, nichts tolles aber egal. Ich habe momentan drei Eingabe-Felder für Zahlen und die Addition,Subtraktion, Multiplikation und Division programmiert. Mein Problem ist,dass man nicht mit 0 multiplizieren sollte bzw. dividieren sollte. Wenn jetzt ein Benutzer allerdings nur 2 Zahlen zum rechnen hat, ist das ja dummerweise unausweichlich. Nun bin ich auf die Idee gekommen, man könnte ja versuchen, dass die Eingabe-Felder beim Start des Programms automatisch den Wert 1 bekommen, einen "neutralen"
    sozusagen, den der User dann bei Bedarf ändern kann. Hat jemand eine Idee wie man sowas bewerkstelligen kann?
    Meine zweite Idee war, dass man eine if-clause machen kann, die bei jeder relevanten Rechenoperation, egal ob Multiplikation oder Division überprüft, ob in alle Eingabe-Felder etwas eingegeben wurde, mindesten 1. Nun hatte ich das mit notANumber probiert, aber das wollte nicht so recht klappen. Das sah dann bei meiner Clause so aus, habe dann in die Klammer hinter "nan" eine 0 geschrieben, weil ich nicht so recht wusste was er von mir wollte und mir das am nahesten schien:
    Code:
    if( input1 = nan[I](const char *)[/I]
    . Im Anschluss sollte dann in einem Textfenster das Problem dem Benutzer dargestellt werden.Die Fehlermeldung wurde dann auch korrekt ausgegeben, und im Ergebnis-Feld stand "nan". Soweit so gut, wenn man aber nun in das erste Eingabe-Feld eine Zahl einsetze, zum Beispiel "2" und erneut auf den Ausrechen-Knopf drückte, dann veränderte sich nichts, nan blieb im Ergebnis-Feld stehen.Was habe ich falsch gemacht?!:mad:
    Wäre echt nett von euch wenn ihr mir weiterhelfen könntet, auch wenn das Problem vielleicht etwas verwirrend geschildert ist...
    nelfisch

    p.s.: Ich schreibe euch doch noch mal den Code einer der Rechenoperationen, vielleicht hilft es ja was, wer weiß..
    Code:
    - (IBAction)multiplizieren:(id)sender
    {
    	double input1 = [inputTextField1 doubleValue];
    	double input2 = [inputTextField2 doubleValue];
    	double input3 = [inputTextField3 doubleValue];
    	
    	if( input1 = nan(0)){
    		[helpTextField1 setStringValue:@"Bitte geben sie einen Wert ein der Ungleich 0 ist!"];
    	}
    
    	double result = input1 * input2 * input3;	//ausrechnen
    	
    	[outputTextField setDoubleValue:result];	//ausgabe
    }
     
  2. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Ein Rat, der dir vielleicht viel Zeit erspart: Lies etwas Einführendes.
     
  3. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Amin hat es schon genannt.

    Aber das Bedarf Erklärung.

    Viele Grüße
     
  4. nelfisch

    nelfisch Carola

    Dabei seit:
    15.03.08
    Beiträge:
    108
    Ist schon klar dass man was lesen sollte, habe auch das Buch von dir. Muss aber in Informatik einen Vortrag mit Rechenprogramm halten, und bis dahin habe ich keine Zeit, das Buch komplett zu lesen.
    Na man SOLLTE nicht mit 0 multiplizieren, da dann ja automatisch 0 rauskommt, und man sich die Rechnung dann ja auch sparen kann.
    Praktische Ideen?
     
  5. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Trotzdem ist es eine korrekte Rechenoperation und darf durchgeführt werden.

    Ich habe Dir ein Beispiel angehängt.
    Es zeigt Dir beispielhaft Binding, Outlet und Actions.
    Aber für Dich ist noch viel zutun.

    Dass das Textfeld nur Nummern annimmt usw, wirst Du nur durch lesen bewältigen können.

    Viele Grüße
     

    Anhänge:

    • Test.zip
      Dateigröße:
      54,8 KB
      Aufrufe:
      47

Diese Seite empfehlen