我有一段时间让这段代码正确地摆脱出来。我目前卡在最后一行文字中。我是新手一起编写代码。我所学到的一切都是通过网站和网站找到的。请参阅下面带下划线的注释。请帮忙,我可以看看我的计算是否有效...
//.h
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *Price87;
@property (weak, nonatomic) IBOutlet UITextField *MPG87;
@property (weak, nonatomic) IBOutlet UITextField *PriceE85;
@property (weak, nonatomic) IBOutlet UITextField *MPGE85;
@property (weak, nonatomic) IBOutlet UITextField *GasTankSize;
- (IBAction)Settings:(id)sender;
- (IBAction)pergallon:(id)sender;
- (IBAction)pertank:(id)sender;
@end
//.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController <----------- Getting a Incomplete Implementation here...
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)Settings:(id)sender {
Settings *settings = [[Settings alloc] initWithNibName:nil bundle:nil];
[self presentViewController:settings animated:YES completion:NULL];
}
- (IBAction)addNums:(id)sender {
int a = ([_Price87.text floatValue]);
int b = ([_MPG87.text floatValue]);
int c = ([_PriceE85.text floatValue]);
int d = ([_MPGE85.text floatValue]);
int e = ([_GasTankSize.text floatValue]);
int ans = ((a*e)-((e+(a*e)-(c*e)/b)*d)/e);
[ans setText:[NSString stringWithFormat:@"%i", pergallon]]; <--------- This is the line giving me trouble. I'm getting a "use of undeclaired identifier 'pergallon'
}
@end
答案 0 :(得分:0)
您需要先使用float或double数据类型声明变量,然后才能使用它。
尝试用
声明它@property (nonatomic) float pergallon;
答案 1 :(得分:0)
你有很多错误,请考虑:
int a = ([_Price87.text floatValue]);
在右侧大小上,您使用floatValue
- 带有小数部分的浮点数,但在左侧大小上,您将a
声明为int
- 整数没有任何小数部分。该分配将截断丢弃小数部分的数字,例如, 1.82将成为1.这可能不是你想要的。您的意思是将a
声明为float
吗?
但是,让我们看看你的数学和单位 - 根据你给你的字段命名。
a
大概是$ / gal,e
是加仑,所以a*e
是$(填充油箱的价格)。让我们将单位放在等式中:
e+(a*e) => gal + $
现在添加加仑和美元是没有意义的 - 你会得到一个数字,但它是一个无意义的数字。表达的其余部分也没什么意义。
编译器不会发现任何上述内容,计算机是快速白痴 - 要求他们计算废话并且他们会这样做。
计算机将发现的是简单的错误。它抱怨的行是pergallon
,它不存在。您可能打算使用ans
。虽然修复可能会让编译器感到高兴,但它无法解决您的单元问题,您需要弄清楚数学。
HTH。