Fla*_*la2 0 iphone math pythagorean
就像练习一样,我正在研究一个解决着名的中学毕达哥拉斯定理的应用程序,一个平方+ b平方= c平方.不幸的是,在我看来,即将出现的答案与实际答案无关.这是"解决"操作期间使用的代码.
- (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];
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,legone, legtwo, and hypotenuse所有代表UITextField对应于直角三角形的每个数学部分的那个. Answer是UILabel告诉,你猜对了,答案.有人看到程序中有任何缺陷吗?提前致谢!
没有仔细检查程序,但在第一行中已经存在一个大问题:
int lonesq = legoneint * legoneint;
int ltwosq = legtwoint * legtwoint;
int hyposq = hypotenuseint * hypotenuseint;
Run Code Online (Sandbox Code Playgroud)
此变量是使用仍然未分配的变量来定义的.您需要设置从文本字段中获取的变量的值,然后进行数学运算.C是一种顺序语言,一切都是从上到下执行,你不能说"a = b c",a将在程序的任何地方都是b c.
| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |