Как я могу использовать мои введенные значения tUser и tPass в другом классе, используя указатели - PullRequest
0 голосов
/ 13 марта 2019

Здравствуйте, пока в моей программе у меня есть три класса (регистрация, логин и пользователь (родительский класс)), в этом вопросе меня интересуют только 2 пользователя и регистрация.

в родительском классе я создал этот небольшой фрагмент кода, который проверяет мой текстовый файл на наличие имен пользователей и паролей, и возвращает мне значения 1,2 или 0, которые я затем использую для проверки возможности входа или регистрации.

#include "User.h"
#include <iostream>
#include <fstream>
#include <string> 

using namespace std;

User::User()
{
}

    string user;
    string pass;
    string tUser;
    string tPass;


int User::fileCheck(){
    ifstream inFile;
    inFile.open("Text.txt");

    //Check For error
    if (inFile.fail()) {
        cerr << "error opening file" << endl;
        exit(1);
    }


    int Count = 0;

    //read file till you reach the end and check for matchs
    cout << "Please enter username: ";
    cin >> tUser;
    cout << "Please enter password: ";
    cin >> tPass;

    while (inFile >> user >> pass) {
        if (tUser == user && tPass == pass) {
            Count = 1;
            break;
        } 
        else if (tUser == user && tPass != pass) {
            Count = 2;
            break;
        }

    }
    return Count;
    inFile.close();
};

User::~User()
{
}

Затем перейдем к классу регистров, Затем я хочу использовать tUser и tPass и записать их в файл, если это имя пользователя не используется. Я попытался открыть в режиме добавления, затем записать в него tUser и tPass, но каждый раз вылетает, вот мой код. Я удалил последнюю строку после открытия файла в приложении.

#include <string>

using namespace std;
ofstream myFile;
Register::Register()
{
}


Register::~Register()
{
}

void Register::Registion()
{
    User user1;
    if (user1.fileCheck() > 0) {
        cout << "This username has been taken please try something else";
    }
    else if (user1.fileCheck() == 0)
        myFile.open("Text.txt", std::ios_base::app);

}

любая помощь будет оценена, также я могу использовать указатели для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...