我有一个包含1000行的文本文件。第一行看起来像这个“1 Jacob Emily”。 2-1000行是这样的。我需要编写一个程序来调用一个搜索男性名字和女性名字的函数。
我的输出应如下所示:
例如,如果用户输入名称“Justice”,则程序应输出:
Justice is ranked 406 in popularity among boys.
Justice is ranked 497 in popularity among girls.
如果用户输入名称“Walter”,则程序应输出:
Walter is ranked 366 in popularity among boys.
Walter is not ranked among the top 1000 girl names.
这是我搜索名称的功能:
void name_search (string name)
{
int rank;
string male, female;
ifstream infile;
bool male_found = false, female_found = false;
infile.open ("babynames2004.txt");
if (infile.fail())
{
cout << "The file was corrupt.\n";
}
while (!infile.eof() && male_found == false && female_found == false)
{
infile >> rank >> male >> female;
if (name == male)
male_found=true;
else if (name == female)
female_found=true;
}
if(male_found == true && female_found != true)
{
cout << name << " is ranked " << rank << " in popularity among boys.\n";
cout << name << " is not ranked among the top 1000 girl names.\n";
}
else if (male_found != true && female_found == true)
{
cout << name << " is not ranked among the top 1000 boys names.\n";
cout << name << " is ranked " << rank << " in popularity among girls.\n";
}
else if (male_found == true && female_found == true)
{
cout << name << " is ranked " << rank << " in popularity among boys.\n";
cout << name << " is ranked " << rank << " in popularity among girls.\n";
}
else if (male_found != true && female_found != true)
{
cout << name << " is not ranked among the top 1000 boys names.\n";
cout << name << " is not ranked among the top 1000 girl names.\n";
}
infile.close();
}
这是程序输出该函数的输出(缺少更好的句子)。
This program allows you to search for the rank of a name from a list of the 1000
2004年最受欢迎的男女名字。
输入您要搜索的名称:Jacob 雅各布在男孩中的受欢迎程度排名第一。 雅各布并没有被列为前1000名女孩的名字。
您想再次运行此程序吗? (是或否) ÿ 此程序允许您从1000的列表中搜索名称的等级 2004年最受欢迎的男女名字。
输入您要搜索的名称:Emily 艾米丽没有跻身前1000名男孩名单。 艾米丽在女孩中的受欢迎程度排名第一。
您想再次运行此程序吗? (是或否) ÿ 此程序允许您从1000的列表中搜索名称的等级 2004年最受欢迎的男女名字。
输入您要搜索的名称:Jordan 乔丹在男生中的受欢迎程度排名第43位。 乔丹没有跻身前1000名女孩名单。
您想再次运行此程序吗? (是或否)
乔丹的名字出现在第43行的男性和第70行的女性。问题似乎是当男性名字和女性名字都出现名称输出错误时。顺便说一句,这是一个编程类的任务,类就像一个游戏。这不是关于实际学习编程,所以我仅限于在课堂上教授的基本结构。
有人可以告诉我为什么会这样吗?