Domanda

Proprio come una pratica, sto lavorando su un app che risolve la famosa scuola media teorema di Pitagora, un quadrato + b = c squared quadrato. Purtroppo, la risposta fuori-coming è, ai miei occhi, niente a che fare con la risposta reale. Ecco il codice utilizzato durante la "risolvere" l'azione.

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

A proposito, legone, legtwo, and hypotenuse rappresentano tutti la UITextField che corrisponde a ogni parte matematica del triangolo rettangolo. Answer è il UILabel che racconta, avete indovinato, la risposta. Chiunque vede eventuali difetti nel programma? Grazie in anticipo!

È stato utile?

Soluzione

Non ha verificato il programma con attenzione, ma nelle prime righe v'è già un grosso problema:

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

Questa Vars sono definiti utilizzando Vars che non sono ancora assegnati a tutti. È necessario impostare il valore con i VaR presi dai campi di testo, quindi fare i conti. C è un linguaggio sequenziale, tutto viene eseguito da cima a fondo, non si può dire "a = b c" e una sarà b c in qualsiasi luogo del programma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top