Для l oop процесс возврата после 2-й итерации - PullRequest
0 голосов
/ 11 апреля 2020

Я пишу код, чтобы взять имя игрока в качестве ввода, выполнить поиск имени в файле csv, и, если файл содержит имя, сохранить всю строку в векторе в векторе, который будет доступен позже. Однако процесс возвращается после 2-й итерации для l oop (предполагается, что l oop 11 раз). Любая помощь приветствуется! Вот код:

[#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <vector>
#include "fantasy.h"

using namespace std;

player::player(void)
{
    NULL;
}

void player::playerinput(void)
{
    playername = " ";
    playern2 = " ";
    int count = 0;
    fileName = " ";
    for(int i=0; i<11; i++){
        std::cout << "Enter player second name: ";
        std::cin >> playername;
        player::opencsv(playername);
    }
}

void player::opencsv(string playername){
    count = 0;
    run = true;
    string line, word, temp;
    vector<string> row = {};
    fin.open("C:/Users/Desktop/CSProject/cleaned_players 1819.csv", ios::in);
    while(run){
        row.clear();
        getline(fin, line);
        stringstream s(line);
        while (getline(s, word, ',')){
            row.push_back(word);
        }
        playern2 = row\[1\];
        if(playern2 == playername){
            count = 1;
            players.push_back(row);
            std::cout << "Player: " << row\[0\] << " " << row\[1\] << " added to database" << std::endl;
            run = false;
            return;
        }
        if(count = 0){
            std::cout << "Player not in database" << std::endl;
            return;
        }
    }
    row.clear();
    fin.clear();
}

int main()
{
    player P1;
    P1.playerinput();
}

1

...