可能重复:
文件中的 C++ 匹配字符串并获取行号
我被分配了一个硬件任务,所以我不是要求一整套代码,但也许是一些关于我应该做什么的提示。分配如下: 包含文本文件 babynames2004.txt。包含美国最受欢迎的 1000 个名字的列表。它是一个以空格分隔的文件,包含 1000 个条目,其中排名在前,然后是相应的男孩名和女孩名。最受欢迎的名字排在最前面,最不受欢迎的名字排在最后。编写一个允许用户输入名称的程序。然后程序应该从文件中读取并在女孩和男孩中搜索匹配的名字,然后将该信息存储在一个数组中。如果找到匹配项,它应该输出名称的排名。程序还应指出是否不匹配。
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
//function prototypes
void input(int search(const int name[][Max_Girl_Name], int, int, int );
void display(
int main()
{
const int Max_Girl_Name = 1000, Max_Boy_Name = 1000; //array sizes
int name[][Max_Girl_Name], count(0);
ifstream inputfile; //open stored file
inputFile.open("c:/temp/babynames2004.txt")
if (inputFile.fail())
{
cout<<"Error opening File\n";
}
else
{
while(!inputFile.eof())
inputFile>>name[count];
count++
}
input(
searchname = (
display(
inputFile.close();
cout << count " is ranked " << Rank <<
}
system("PAUSE");
return 0;
}
int search(const int name[][Max_Girl_Name], int name_input, int targetname, int size_Dimension_1)
{
for(int i = 0;i<size_Dimension_1;i++)
{
int index = 0;
bool found = false;
while ((!found) && (index < number_used))
if (target == name[index])
found = true
else
index++;
if(found)
return index;
else -1;
}
}
我也有几个想法:
- 这是否可以使用多维数组来解决,例如
names[boy_name][girl_name]
? - 这个程序的功能会是
search(value)
,input(void)
,output(void)
吗? - 您将如何遍历数组的两个索引?
我希望我足够清楚。