使用CommandLineTool的Objective-c计算器程序

时间:2013-01-18 21:21:10

标签: objective-c

大家好我已经创建了一个main.m文件calculator.h和calculator.m文件

在写下我的代码之前我的问题是程序没有要求操作员只询问第一和第二个数字。

这是我的main.m代码

int num1,num2;
    char op;

    Calculator *myCalculator=[[Calculator alloc]init];

    NSLog(@"Please Enter The First Number");
    scanf("%i",&num1);

    NSLog(@"Please Choose a mathematical operation '+', '-', '*', '/' :");
    scanf("%c",&op);

    NSLog(@"Please Enter The Second Number");
    scanf("%i",&num2);



    switch (op) {
        case '+':

            NSLog(@"The Result is : %i",[myCalculator Add:num1 :num2]);
            break;

        case '-':

            NSLog(@"The Result is : %i",[myCalculator Sub:num1 :num2]);
            break;


        case '*':
            NSLog(@"The Result is : %i",[myCalculator Mul:num1 :num2]);
            break;

        case '/':
            NSLog(@"The Result is : %i",[myCalculator Div:num1 :num2]);
            break;

        default:
            NSLog(@"Unknown Operator");
            break;
    }

我的实施代码如下:

-(int) Add:(int)num1 :(int)num2
{
    return num1+num2;
}

-(int) Sub:(int)num1 :(int)num2
{
    return num1-num2;
}

-(int) Mul:(int)num1 :(int)num2
{
    return num1*num2;
}

-(int) Div:(int)num1 :(int)num2
{
    return num1/num2;
}

提前感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

暂时没有做过这样的事情,但是当我制作一个基于小文本的RPG战斗系统时,我遇到了类似的问题。用户在输入数字后按Enter键,对吗?该号码将被扫描到num1,换行符将被扫描到op。在切换之前记录op的值。