西南大学宋行健:C++编程实践——射雕英雄传英雄出现次数统计

需积分: 0 0 下载量 132 浏览量 更新于2024-08-04 收藏 117KB DOCX 举报
宋行健同学在2019年5月17日进行的西南大学计算机与信息科学学院的C++编程实验,其主题是"射雕英雄传英雄出现次数",这是一门设计性实验,由理论教师代立云和实验指导教师代立云共同指导。实验的目的在于让学生运用所学的C++编程知识,对文本文件中的英雄名称进行分析,统计每个英雄在《射雕英雄传》文本中的出现次数。 实验内容主要包括以下几个步骤: 1. 实验背景与目的:通过这个项目,学生需要熟悉C++语言的基本操作,如文件输入输出、字符串处理、向量(vector)的使用等,同时锻炼他们的逻辑思维能力和编程实践能力。目标是实现一个程序,能从指定文本文件(如"E:\\C++\\射雕英雄传.txt")中读取数据,找出并计数其中列出的英雄名称。 2. 编程实现:宋行健同学使用的代码片段展示了如何使用`ifstream`和`ofstream`进行文件的读写操作,`getline`函数用于逐行读取文本文件内容,存储到`string`类型的变量`line`中。然后,他利用`vector`数据结构存储英雄名称,并创建了一个与英雄数量相等的`vector<int>`来存储每个英雄的出现次数,初始值设为0。 3. 核心算法:实验的核心算法是遍历文件中的每一行,检查每行是否包含英雄名称,如果包含则对应的计数器(向量元素)加一。通过这种方式,可以计算出每个英雄在文本中的具体出现次数。 4. 错误处理:代码中包含了对文件打开失败情况的处理,如果`in.open()`操作返回`false`,则会输出提示信息"Open failed(in)",确保程序在遇到异常时能够给出适当的反馈。 5. 输出结果:最后,程序会输出射雕英雄传十大英雄的名字以及它们在文本中的出现次数,这有助于展示学生对C++编程的理解和实际应用。 通过这个实验,宋行健不仅锻炼了编程技能,还加深了对文件操作、数据结构和算法的理解,为后续的编程学习和实际问题解决打下了坚实的基础。