Pregunta

Al igual que una práctica, estoy trabajando en una aplicación que resuelve la famosa escuela media Teorema de Pitágoras, un cuadrado + b = c cuadrado al cuadrado. Por desgracia, la respuesta fuera que viene ha, en mis ojos, nada que ver con la respuesta real. Este es el código utilizado durante el "resolver" la acción.

- (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];
 }
}

Por cierto, todas legone, legtwo, and hypotenuse representan la UITextField que corresponde a cada parte matemática del triángulo rectángulo. Answer es la UILabel que dice, lo has adivinado, la respuesta. ¿Alguien ve algún defecto en el programa? Gracias de antemano!

¿Fue útil?

Solución

¿No ha verificado el programa de cuidado, pero en las primeras líneas ya hay un gran problema:

int lonesq = legoneint * legoneint;
int ltwosq = legtwoint * legtwoint;
int hyposq = hypotenuseint * hypotenuseint;

Este VARs se definen mediante VARs que todavía no están asignados en absoluto. Es necesario establecer el valor de la VARs tomados de los campos de texto, a continuación, hacer los cálculos. C es un lenguaje secuencial, todo se ejecuta de arriba a abajo, no se puede decir "a = b c" y una será b c en cualquier lugar del programa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top