在C中创建用户命令



我想用C语言创建一个程序,用户可以在其中键入下面的命令,我的代码可以获取值。

例如,如果用户键入:

"创建2,3+4,5";"向右移动2,3+3,4";

对于create命令,我想获得4个整数(2,3,4和5(并存储在一组特定的变量中。对于moveright命令,我希望对另一组变量也这样做。

然而,我不知道如何用C编写一个代码来理解单词";创建";意味着它应该将以下整数存储到一组特定的变量中(中间的"+"也让我感到困惑(。。。

我曾考虑过使用switchcase,但我读到C不支持它

我真的很感激任何帮助,至少在我应该研究什么方面。

要在程序运行时获得用户输入,可以使用标准库中的I/O函数。用fgets获取用户输入,然后用sscanf解析它是一种常见的、健壮的方法。或者,根据复杂性的不同,您可能需要手动解析字符串以获得所需的信息——字符串库有几个有用的函数可以帮助实现这一点。

main函数的第二个参数是一组在启动时传递给程序的字符串,如果您想编写一个每次运行只做少量工作的简单程序,这可能很有用。您需要在每次运行程序之间保持这些数据。一种方法是将数据存储在文件中,并每次使用标准文件函数进行检索。

C绝对有一个switch语句,尽管只是针对整数常量表达式。


尽管如此,你的意图还是很不清楚的-从你的描述来看,听起来你甚至不确定你的程序会做什么。如果你不知道你的程序能做什么,你会怎么写?

你应该从更简单的问题开始,然后逐渐形成这样的问题。

以下是一组增加难度的程序:

  1. 向用户显示一条简单的消息
  2. 询问用户的姓名,并向他们个人显示问候语
  3. 重复读取由空格分隔的两个数字并显示其产品
  4. 用数字用户输入填充数组。向用户询问操作符(+-*/(,并使用操作符显示该数组的缩减
  5. 使用用户输入,用名称和年龄填充结构数组(每行一个条目,用空格分隔,例如Alice 26(。显示最年轻和最年长人员的姓名和年龄
  6. 要求用户提供一组逗号分隔的名称(例如Alice,Bob,...(。
    • 解析这个输入字符串,将每个名称存储在一个数组中
    • 询问用户的姓名
    • 在数组中搜索该名称,如果找到,则显示该名称中字母值的总和(aA1等(

如果你能完成这六个程序,那么你将对编写目标程序所需的最低技能有一个基本的了解,这基本上是一个解释器。

最新更新