我的代码应该将txt文件中的信息传递给字符串向量,然后询问用户输入并将其与字符串向量进行比较以查看是否存在任何匹配。由于某些原因,当我在输入文件中输入一行时,它与字符串向量不匹配。这里是我的代码C++将文件行传递给字符串向量
预先感谢您
/*You are going to keep track of user majors using a vector.
First read in the file:
http://www.freerschool.com/pluginfile.php/9623/mod_resource/content/1/MajorsFull.txt
Enter each major into a vector of strings.
Ask the user to keep entering in possible majors until they enter "quit" or "Quit".
Create a function:
bool checkMajor(string userInput)
that takes in the major from the user (as a string) and returns true if the major is in the list of possible majors and a false if the major is not there.
Display to the screen whether or not the major they entered is available in the file of majors.
Hint:
for(string line; getline(input, line);)
{
//Read in the line into the vector!
}*/
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
bool checkMajor(string userInput, vector<string>majorsFull){
bool answer = true;
string major;
for(int i = 0; i < majorsFull.size(); i++){
if (majorsFull[i] == userInput){
answer = true;
break;
}
else answer = false;
}
return answer;
}
int main()
{
ifstream infile;
infile.open ("MajorsFull.txt");
vector<string> majorsFull;
string userInput;
for (string majors; getline(infile, majors);){
majorsFull.push_back(majors);
}
do
{
getline(cin, userInput);
if (userInput != "Quit" && userInput != "quit"){
if (checkMajor(userInput, majorsFull))
{
cout << "Yes" << endl;
}
else cout << "No" << endl;
}
else break;
}
while (userInput != "Quit" && userInput != "quit");
infile.close();
return 0;
}
这里是什么样的文件中包含的几行:
Accounting
Accounting
Actuarial Science
Advertising
Advertising
African American and African Studies
African American and African Studies
Agribusiness Management
"Agricultural, Food and Resource Economics"
"Agricultural, Food and Resource Economics"
Animal Science
Animal Science
Animal Science
Animal Science-Environmental Toxicology
Anthropology
Anthropology
Applied Engineering Sciences
Applied Mathematics
Applied Mathematics
Applied Spanish Linguistics
Applied Statistics
Arabic
Art Education
Art History and Visual Culture
Arts and Humanities
Astrophysics
Astrophysics and Astronomy
Astrophysics and Astronomy
不匹配甚至尽管我把什么确切的txt文件 –
你可以发布什么样的文件包含了一些简单的线什么? – jrd1
刚从txt发布了几行 –