1.2 功能分析
作为一个关键字检索系统,我们让用户在终端输入多段英语段落(也即多行英文),为了明确标识结束符,我们以单独一行的一个“0”作为终端输入的结束符。在程序中,我们将用户输入的英文段落读入,并将其存储于一个用户指定文件名的文件之中。这是第一个步骤。
而后,我们再通过读取这个文件,去检索关键字。这是第二个步骤。这是题目的要求,虽然看似多此一举比较繁琐,但是它实现了将输入内容存放于文件、从文件中读取内容两个操作,很好地将此题建立在了文件输入输出的基础上,并且能够保存用户输入的文字,一举两得。
2 设计
2.1 类结构设计
我们设计了两个类:一个类(文件初始化类InitFile)专门负责读取终端输入的英文段落,并将其生成文件;另一个类(关键字检索类KeywordSearch)负责读取第一个类生成的文件,然后检索关键字在其中出现的次数,最后在main函数中输出。
2.3 系统逻辑设计
先生成InitFile类的对象init_file,直接调用其InputText()函数,同时用户输出相关信息,这样就创建了一个包含了用户输入信息的文件;然后输入要检索的关键字,将其全部转化为小写;使用关键字keyword和文件名init_file.getFilename()生成一个KeywordSearch对象kwSearch,直接调用其getCount()函数得到关键字出现的次数。