【发布时间】:2021-05-29 18:10:08
【问题描述】:
我想用 C 创建一个程序,用户可以在其中键入以下命令,我的代码可以获取这些值。
例如,如果用户键入:
"创建 2,3+4,5" "向右移动 2,3 + 3,4"
对于创建命令,我想获取 4 个整数(2、3、4 和 5)并存储在一组特定的变量中。对于 moveright 命令,我想对另一组变量执行相同的操作。
但是我不知道如何在 C 中编写代码来理解“创建”一词意味着它应该将以下整数存储到一组特定的变量中(中间的“+”是也让我感到困惑)...
我曾考虑过使用 switch case,但我读到 C 不支持它。
我非常感谢任何帮助,至少是关于我应该研究什么。
【问题讨论】:
-
你的意思是用户在命令提示符(终端)输入de命令吗?您的目标是哪个操作系统?
-
您需要将问题分解为更小的部分,并逐个解决。您会发现,当您这样做时,Google 会变得更加有用。开头是:“如何在 C 中接受用户输入?” 答案很可能是
scanf()。然后,“如何比较 C 中的字符串?” 答案是strcmp()。以此类推。 -
亲爱的乔纳森,你是对的。我相信 strcmp 在这种情况下会很有用。亲爱的 Fpiette,是的,它在控制台中,我使用的是 Ubuntu 20.04
-
您必须创建一个名为
create的新程序和另一个名为moveright的程序。然后用户可以键入像create 2,3+4,5这样的命令行。您名为create的程序将在程序名称之后的命令行上接收参数类型。但是请注意,shell(读取命令行并执行命令或调用其他程序的程序为特殊目的保留了很多字符。这意味着您将在命令行中遇到麻烦。跨度> -
看起来你想为它定义一个语法和一个解析器。因此,编辑您的问题并定义每个命令应该做什么。你可以使用EBNF。