确定我的申请的订单的最佳方法是什么?

时间:2012-05-02 07:17:40

标签: c windows

我想写一个等待用户给它订单的计算器 例如:
加1 2
sub 12 4
找出用户给出的订单和订单后给出的令牌的最佳方法是什么? 我在Windows上用C编写我的项目,它是基于控制台的。

2 个答案:

答案 0 :(得分:3)

您可以使用scanf

#include <stdio.h>

int main ()
{
    char cmd[1024];
    int a, b;

    printf ("Enter input: ");
    scanf ("%s %d %d",cmd, &a, &b);  
    if(strcmp(cmd,"add")==0) {
        printf ("Result: %d\n", a + b);
    } else if(strcmp(cmd,"sub")==0) {
        printf ("Result: %d", a - b);
    } else {
        printf ("Unrecognized command: '%s'\n", cmd);
    }
}

如果您打算构建复杂的,请查看lex and yacc

答案 1 :(得分:2)

从标准输入读取行。 fgets可能很有用 解析每一行。 strtok_r可以在这里提供帮助(我总是喜欢它strtok,这会在事情变得复杂时导致令人讨厌的错误。)
将第一个标记与已知命令列表中的每个命令进行比较 做需要做的事。