Работа с пользовательским вводом в утилите командной строки Objective-C Foundation - PullRequest
5 голосов
/ 27 января 2012

Я пытаюсь создать приложение, которое решает квадратичную формулу в командной строке Objective-C.Пока мой код:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]){

double a, b, c, sol1, sol2;

NSLog(@"Welcome to the quadratic solver");

NSLog(@"Please enter the value of a");
scanf("%f", &a);

NSLog(@"Please enter the value of b");
scanf("%f", &b);

NSLog(@"Please enter the value of c");
scanf("%f", &c);

sol1 = (-b + sqrt( (double)pow(b,2) - 4 * a *c) ) / 2 * a;
sol2 = (-b - sqrt( (double)pow(b,2) - 4 * a *c) ) / 2 * a;

NSLog(@"If a is: %f, b is %f, and c is %f.", a, b, c);

NSLog(@"Solution one is: %f", sol1);
NSLog(@"Solution two is: %f", sol2);

}

Но мой вывод не получает никакой информации.

2012-01-26 17:23:53.585 test[4595:707] Welcome to the quadratic solver
2012-01-26 17:23:53.588 test[4595:707] Please enter the value of a
1
2012-01-26 17:23:56.030 test[4595:707] Please enter the value of b
3
2012-01-26 17:23:56.558 test[4595:707] Please enter the value of c
-10
2012-01-26 17:23:58.670 test[4595:707] If a is: 0.000000, b is 0.000000, and c is 0.000000.
2012-01-26 17:23:58.672 test[4595:707] Solution one is: -0.000000
2012-01-26 17:23:58.672 test[4595:707] Solution two is: -0.000000

Любой вклад приветствуется!

1 Ответ

4 голосов
/ 27 января 2012

У вас непоследовательный набор текста ... вы сканируете в% f, поэтому вам нужно объявить:

float a, b, c, sol1, sol2;

Ваша программа отлично работает на моем компьютере.

...