首页 文章

使用hash(#)符号表示数据库链表C程序的命令输入换行符?

提问于
浏览
0

嗨,由于我的大学项目,我正在做一个基于线性单链表的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
#

就这样 . 这是我一直在做的(在描述中)

  • 获取命令的第一行

  • 然后执行while命令不退出而不是char中的#符号,我检查命令是否"INSERT or " SELECT“使用strcmp,如果它等于那么

  • 下一行是获取在linkedlist命令中使用的输入,其中我在int中给出一个标志,如果命令是插入它将要求3次,或者如果它是带有strcmp的char符号中的*它将是删除所有

  • 所以基本上它重复(标记)次以询问输入线(使用获取)它将再次请求命令(忘记在char [size]之前提及),如果输入#

  • 所以要按顺序打印命令,我将它们排入队列中以进行打印输出

  • 直到输入EXIT,它保持入队,否则它将出队直到队列为NULL(将队列放在char temp中)

但是整个算法似乎不起作用,因为程序只能正确地用于INSERT功能 .

然后我回到我的C书并阅读有关宏,参数等的内容并研究互联网,直到我发现将#self定义为要求更多命令的命令的想法

但似乎并不完全理解这件事是如何运作的 . 任何想法我应该做什么来获得正确的输入和输出?使用这种strcmp时,如果,或定义#本身?

谢谢你提前,任何帮助真的很感激 .

1 回答

  • 0

    除非您编写了程序,否则标签 # 在程序输入中没有意义 .

    预处理指令(如 #include#define )的主题标签是有意义的 in a C source code file (或C头文件) . 您的所有程序都是输入字符,而不是命令 .

相关问题