【发布时间】:2019-11-11 20:58:28
【问题描述】:
我想在一个正在搜索名字的投票程序中实现一个简单的函数,如果这个名字已经存在,那么它将显示一个人不能投票的消息。但是我对txt文件很困惑。下面的代码不能正常工作,我想了解我需要做什么。 另外,如何找到全名?我认为它只是搜索第一个单词
bool searchname(string mainvoter);
int main()
{
ofstream newvoter("voter.txt", ios::app);
string name;
cout<<"Enter your name: ";
getline(cin, name);
newvoter << name << endl;;
newvoter.close();
if(searchname(name)){
cout<<"This person already voted!"<<endl;
}
else
cout<<"Okay!"<<endl;
}
bool searchname(string mainvoter)
{
ifstream voter("voter.txt");
string name;
while (voter >> name ){
if (mainvoter == name){
return 1;
}
else
return 0;
}
}
【问题讨论】:
-
您的
return 0需要位于searchname函数的末尾。不在 while 循环内。 -
考虑如果文件中的第一个字符串不等于
mainvoter,函数会做什么。匹配的字符串会被读取吗?
标签: c++ database fstream voting