2013-07-02 5 views
0

У меня чертовски время, чтобы этот код правильно встряхнулся. Я сейчас застрял в последней строке текста. Я новичок в написании кода. Все, что я узнал, было найдено в Интернете и через этот сайт. См. Подчеркнутые примечания ниже. Пожалуйста, помогите, чтобы я мог увидеть, если мой расчет даже работает ...Комплексный расчет

//.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

'pergallon' метод, а не переменная в области метода addNums. – CodaFi

ответ

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.

0

Вы должны объявить переменную с плавающей точкой или двойной тип данных, прежде чем использовать его.

Попробуйте объявить его с

@property (nonatomic) float pergallon; 
+0

В рамках этого метода это не имеет смысла. Вероятно, он просто перепутал 'ans' и какое-то поле под названием' pergallon' – CodaFi

Смежные вопросы