我需要创建一个读取 .txt 文件的程序。该程序应该逐行读取我的文件。问题是我不知道如何调用我的 .txt 文件并逐行读取文件的内容,而我的程序必须使用 cout 和 cin 命令。
程序应该读取包含每个参与者姓名的.txt文件,其姓名下方有票数,然后显示获得最多票数的获胜者的姓名
如果您想创建一个程序来读取 .txt 文件以找出参与者中谁获得了最多选票,您可以使用 C++ 来实现。
首先,获取文件名:要求用户输入包含参与者姓名及其对应投票的.txt 文件的名称。
然后打开文件:使用 ifstream 打开文件。确保检查文件是否成功打开;如果没有,则显示错误消息。
然后读取文件:逐行读取文件。对于每个参与者,首先读出他们的名字,然后读出下一行的票数。将此信息存储在地图中,其中键是参与者的姓名,值是投票数。
然后确定获胜者:循环遍历地图,找到得票数最高的参与者。跟踪最高票数和相应参与者的姓名。
最后,显示获胜者:打印出获胜者的姓名及其票数。
示例代码来说明:
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
int main() {
string filename;
cout << "Enter the name of the .txt file: ";
cin >> filename;
ifstream file(filename);
if (!file) {
cerr << "Error: Could not open the file." << endl;
return 1;
}
map<string, int> votes;
string name;
int voteCount;
while (getline(file, name)) {
if (getline(file, voteCount)) {
votes[name] = voteCount;
}
}
file.close();
string winner;
int maxVotes = 0;
for (const auto& entry : votes) {
if (entry.second > maxVotes) {
maxVotes = entry.second;
winner = entry.first;
}
}
cout << "The winner is: " << winner << " with " << maxVotes << " votes." << endl;
return 0;
}
确保您的 .txt 文件具有正确的格式,其中每个参与者的姓名后面的下一行是他们的投票数。 该程序使用标准输入和输出,这意味着您将在控制台中与其交互。 如果您需要更多说明或任何具体细节,请随时询问!