使用哈希 (#) 符号指示向数据库链接列表 C 程序输入命令换行符



嗨,由于我的大学项目,我正在做一个基于线性单链表的 C 数据库程序。我还不明白的问题是输入和输出程序。

好吧,基本上程序的输入应该是这样的

INSERT
001 // indicates patient's number
John // indicates patient's name
M // indicates patient's gender
#
002 
Mary
F
#
SELECT // which means print the list
* // indicates all the list to be print
#
EXIT 

输入完成,以下行是输出

Data is added.
#
Hospital ID : 001
Name : John
Gender : M
#
Hospital ID : 002
Name : Mary
Gender : F
#

就这样。这是我一直在做的事情(在描述中)

  • 第一行是命令的 get
  • 然后执行 while 命令不是退出,也不是 char 中的 # 符号,我使用 strcmp 检查命令是否是"插入"或"选择",如果它等于,则
  • 下一行是 GET 用于 linkedlist 命令中使用的输入,我在 int 中给出一个标志,如果命令是插入的,它将要求 3 次,或者 SELECT 如果它是带有 strcmp 的字符符号中的 *,它将删除所有
  • 所以基本上在它重复(标志)次数以请求输入行(使用 gets)之后,它会再次请求命令(忘记在该字符[size]之前提及),如果输入 #
  • 因此,要按顺序打印命令,我将它们排入我的队列以进行打印输出
  • 直到输入EXIT,它保持排队,否则它将取消排队,直到队列为空(将队列放在字符温度前面)

但是整个算法似乎不起作用,因为该程序只能正确用于 INSERT 函数。

然后我将回到我的 C 书并阅读有关宏、参数等的信息并研究互联网,直到我发现将 # 本身定义为请求更多命令的命令的想法

但似乎不太明白事情是如何以这种方式运作的。知道我应该做什么才能获得正确的输入和输出吗?使用这种 strcmp while 和 if ,或者定义 # 本身?

提前感谢您,任何帮助将不胜感激。

主题标签#在程序的输入中没有意义,除非您为它编写了程序。

预处理指令(如 #include#define)的主题标签在 C 源代码文件(或 C 头文件)中是有意义的。你的程序作为输入获得的所有内容都是字符,而不是命令。

最新更新