Я пишу простое консольное приложение в Objective-C, но я слышал, что это кодирование может быть свободно применено и к некоторым C, поэтому я хотел прояснить это.
У меня небольшоепроблема, однако, когда я по какой-то причине запускаю из отладчика в Xcode, моя программа не ждет ввода пользователя, она просто прокручивается, выводит строки и автоматически конвертирует число.
Есть лислучай для этого?
Разве я не указал что-то правильное в своем операторе if else?
Вот мой код:
//Simple program to convert Fahrenheit to Celsius and Celsius to Fahrenheit
#import <stdio.h>
@interface Converter: NSObject
{
//Instance variable which stores converting formula for objects
double formula;
}
//Declare instance method for setting instance variable
-(double) convert: (double) expression;
//Declare instance method for getting instance variable
-(double) formula;
@end
@implementation Converter;
//Define instance method to set the argument (expression) equal to the instance variable
-(double) convert: (double) expression
{
formula = expression;
}
//Define instance method for returning instance variable, formula
-(double) formula
{
return formula;
}
@end
int main (int argc, char *argv[])
{
//Point two new objects, one for the Fahrenheit conversions and the other for the Celsius conversions, to the Converter class
Converter *fahrenheitConversion = [[Converter alloc] init];
Converter *celsiusConversion = [[Converter alloc] init];
//Declare two double variables holding the user-inputted data, and one integer variable for the if else statement
double fahrenheit, celsius;
int prompt;
NSLog(@"Please press 0 to convert Celsius to Fahrenheit, or 1 to convert Fahrenheit to Celsius\n ");
scanf("%i", &prompt);
if(prompt == 0) {
NSLog(@"Please enter a temperature in Celsius to be converted into Fahrenheit!:\n");
scanf("%lf", &celsius);
[fahrenheitConversion convert: ((celsius*(9/5)) + 32)];
NSLog(@"%lf degrees Celsius is %lf Fahrenheit", celsius, [fahrenheitConversion formula]);
}
else {
NSLog(@"Please enter a temperature in Fahrenheit to be converted into Celsius!:\n");
[celsiusConversion convert: ((fahrenheit - 32)*(5/9))];
NSLog(@"%lf degrees Fahrenheit is %lf Celsius", fahrenheit, [celsiusConversion formula]);
}
return 0;
}
ОБНОВЛЕНИЕ:
Похоже, что причина, по которой консоль в отладчике Xcode не дождалась моего ввода, была в том, что я настроил его как приложение для iPhone, а не Mac OS X Cocoa, я даже не могу вспомнить, почемусделал это.Что я действительно должен сделать, это просто сделать проект без шаблона, чтобы он ничего не ожидал ..
Я все еще очень благодарен и открыт для предложений, таких как dreamlax, и я пытаюсь реализовать вашсовет по коду, хотя это немного сложнее, чем ожидалось, потому что я все еще новичок.