我在上学这个项目时遇到了一些麻烦,可以使用一些帮助入门。我给了一个包含电影标题的文件,它们制作的年份,以及它们的类型,然后我应该创建一个包含信息的链表。文件中的每一行都如下所示:
1::Toy Story (1995)::Animation|Children's|Comedy
如果用户决定按电影标题搜索并输入Toy Story
,则应显示电影的名称和年份:Toy Story (1995)
如果用户决定按流派搜索,则应显示每个包含该流派的电影。最后,如果用户想要删除电影,他们会输入电影标题,并且应该从链接列表中删除它以及其他信息。
所以我到目前为止遇到的问题是读取数据。当我读入数据时,我能够删除::
和|
并将所有内容存储在向量中,但现在向量的每个元素都是一个单词,这意味着如果我打印出来{{1} 1}}例如,它将是vect[1]
(因为Toy
将是vect[0]
,因为我不知道如何删除前导数字,这是另一个问题。)
那么我将如何将电影的标题保持在一起,以便将其添加到链接列表中,反之亦然?另外,我是否需要创建三个链接列表,一个是电影标题,一个是年份,另一个是流派?
我没有太多代码,因为我的问题在一开始就是正确的,但这是我到目前为止所做的。它遍历文件并删除1
和::
并将其存储到向量中。我不知道我应该如何从这里开始,或者即使这是开始解决这类问题的正确方法。
|
我不是一个经常寻求帮助的人,但我完全陷入困境,不知道如何继续。任何帮助,将不胜感激!如果我需要澄清一切,请告诉我。
答案 0 :(得分:0)
不要将其视为字符串。编写一个包含信息的数据结构。
struct movie {
std::string title;
std::string year;
std::vector<std::string> genres;
};
然后,在解析每一行时,填写此结构的实例。解析完行后,将结构推送到列表中。这将使您以后可以进行搜索。您还可以将流操作符添加到结构中,以便以干净的格式将其打印到屏幕上。