在 Objective-C Foundation 命令行实用程序中处理用户输入
我正在尝试制作一个应用程序来求解 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
任何意见都将不胜感激!
I'm trying to make an application that solves the quadratic formula in Objective-C command line. My code so far is:
#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);
}
But my output is not receiving any of the information.
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
Any input is greatly appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的输入不一致...您正在扫描到 %f,因此您需要声明:
然后您的程序在我的机器上运行良好。
You have inconsistent typing... you are scanning into %f, so you need to declare:
Your program then works fine on my machine.