Что-то не так со строкой

Low_rider

Не могу понять в чем проблема... помогите кто чем сможет
#include<iostream>
#include<windows.h>
#include<fstream>
 
using namespace std;
 
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    struct bank{
        int kod_vkladu[3];
        int kod_klient[4];
        int sum[8];
        char date[8];
        const int per = 0.15;
        int pributok;
    };
    char password[20] = "66";// Пароль 66
    string pass;//Строка для ввода пароля
    cout << "Введите пароль:";
    gets(pass);
    if (strcmp(password, pass) == 0){// Проверка если значение которое было возвращено фк-ции есть 0
        cout << "Вход выполнен." << endl;
    }
    else{
        cout << "Неверный пароль!!!" << endl;
        return 0;
            }
    system("pause");
}
3 ответа

Low_rider

Не смешивай древнее с новым.
    string password = "66";// Пароль 66
    string pass;//Строка для ввода пароля
    cout << "Введите пароль:";
    getline(cin, pass)
    if (password == pass){// Проверка если значение которое было возвращено фк-ции есть 0
        cout << "Вход выполнен." << endl;
    }


Low_rider

Вот так вот поправил, работает.
#include<iostream>
#include<windows.h>
#include<fstream>
 
using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    struct bank {
        int kod_vkladu[3];
        int kod_klient[4];
        int sum[8];
        char date[8];
        const int per = 0.15;
        int pributok;
    };
    char password[20] = "66";// Пароль 66
    char pass[20];//Строка для ввода пароля
    cout << "Введите пароль:";
    cin.getline(pass,20);
    if (strcmp(password, pass) == 0) {// Проверка если значение которое было возвращено фк-ции есть 0
        cout << "Вход выполнен." << endl;
    }
    else {
        cout << "Неверный пароль!!!" << endl;
    }
    system("pause");
    return 0;
}


Low_rider

Спасибо большое! Работает.