iPhone SDK Mathe - Satz des Pythagoras Problem!
-
26-09-2019 - |
Frage
So wie eine Praxis arbeite ich an einer App, dass löst die berühmte Mittelschule Satz des Pythagoras, ein Quadrat + b = c Quadrat im Quadrat. Leider hat die außer kommender Antwort, in meinen Augen, nichts mit der eigentlichen Antwort zu tun. Hier ist der Code verwendet, während der „lösen“ -Aktion.
- (IBAction)solve {
int legoneint;
int legtwoint;
int hypotenuseint;
int lonesq = legoneint * legoneint;
int ltwosq = legtwoint * legtwoint;
int hyposq = hypotenuseint * hypotenuseint;
hyposq = lonesq + ltwosq;
if ([legone.text isEqual:@""]) {
legtwoint = [legtwo.text intValue];
hypotenuseint = [hypotenuse.text intValue];
answer.text = [NSString stringWithFormat:@"%d", legoneint];
self.view.backgroundColor = [UIColor blackColor];
}
if ([legtwo.text isEqual:@""]) {
legoneint = [legone.text intValue];
hypotenuseint = [hypotenuse.text intValue];
answer.text = [NSString stringWithFormat:@"%d", legtwoint];
self.view.backgroundColor = [UIColor blackColor];
}
if ([hypotenuse.text isEqual:@""]) {
legoneint = [legone.text intValue];
legtwoint = [legtwo.text intValue];
answer.text = [NSString stringWithFormat:@"%d", hypotenuseint];
self.view.backgroundColor = [UIColor blackColor];
}
}
Durch die Art und Weise, legone, legtwo, and hypotenuse
alle repräsentieren die UITextField
dass entspricht jedem mathematischen Teil des rechtwinkligen Dreiecks. Answer
ist die UILabel
, die sagt, Sie haben es erraten, die Antwort. Hat jemand irgendwelche Fehler im Programm sehen? Vielen Dank im Voraus!
Lösung
Haben nicht überprüfte das Programm sorgfältig, aber in den ersten Zeilen gibt es bereits ein großes Problem:
int lonesq = legoneint * legoneint;
int ltwosq = legtwoint * legtwoint;
int hyposq = hypotenuseint * hypotenuseint;
Diese Vars verwenden Vars definiert, sind noch gar nicht zugeordnet. Sie müssen den Wert von Vars aus den Textfeldern genommen, dann die Mathematik setzen. C eine sequentielle Sprache ist, wird alles von oben nach unten ausgeführt wird, kann man nicht sagen: „a = b c“ und wird b c an jedem Ort des Programms.