0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 2
1

Регистрация и вход в программу С++

02.03.2017, 00:49. Показов 21058. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно реализовать авторизацию для входа в систему (без регистрации на входе, т.к создание новых уч записей выполняет администратор после входа в свой аккаунт).
Код работает, но когда регистрирую новых пользователей , данный не сохраняются в текстовом документе, и войти через новый логин и пароль не получается. Прошу помочь исправить ошибки. C++
Вот мой код:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include <iostream>
#include <string>
#include <iostream>
#include <fstream>
 
using namespace std;
 
 
bool check(string, string);
bool check_1(string, string);
void read(string, string );
void admin();
void vhod();
void login();
void register_1();
struct Users
{
    string login_new;
    string password_new;
}
users[100];
 
void main()
{
    setlocale(LC_ALL, "rus");
    cout << "1 - Вход от имени пользователя" << endl;
    cout << "2 - Вход от имени администратора" << endl;
    int a;
    cin >> a;
    switch (a)
    {
 
    case 1: vhod();
    case 2: admin();
 
 
    }
 
}
void vhod()
{
    
    bool flag = false;
 
    string login, password;
    cout << "Введите логин: " << endl;
    cin >> login;
    cout << "Введите пароль: " << endl;
    cin >> password;
    flag = check(login, password);
    if (flag == true)
    {
        cout << "Вы вошли в систему!" << endl;
    }
    else
    {
        system("cls");
        cout << "Неверный пароль. Попробуйте еще раз." << endl;
        main();
        
    }
    
    
    system("pause");
 
 
 
}
 
 
bool check(string login, string password)
 
{
    
    if  (login == "lera_burko" && password == "valerka1997")
    {
        return true;
    }
    else
    {
        return false;
    }
} 
////////////////////////////////////////////////////////////////////////////////////
 
void admin()
{
    bool flag_1 = false;
 
    string login_admin, password_admin;
    cout << "Введите логин: " << endl;
    cin >> login_admin;
    cout << "Введите пароль: " << endl;
    cin >> password_admin;
 
    flag_1 = check_1(login_admin, password_admin);
    if (flag_1 == true)
    {
        cout << "Вы вошли в систему от имени администратора!" << endl;
    }
    else
    {
        system("cls");
        cout << "Неверный пароль. Попробуйте еще раз." << endl;
        main();
    }
 
    /////////////////////////////////////////////////////////////////////////////////////
    cout << "1 - Зарегестрировать нового пользователя: " << endl;
    cout << "2 - Выйти: " << endl;
    int a1;
    cin >> a1;
    switch (a1)
    {
    case 1: register_1();
    case 2: main();
    }
 
    }
    bool check_1(string login_admin, string password_admin)
    {
        if (login_admin == "andreiburko99" && password_admin == "android1999")
        {
            return true;
        }
        else
        {
            return false;
        }
    } 
 
    ////////////////////////////////////////////////////////////////////////////////////////////
    void register_1()
    {
        string login_new, password_new;
        cout << "Введите логин нового пользователя: " << endl;
        cin >> login_new;
        cout << "Введите пароль нового пользователя: " << endl;
        cin >> password_new;
        ofstream fout("users.txt", ios::app);
        fout << login_new << "" << password_new << endl;
        cout << "Поздравляем! Регистрация прошла успешно! " << endl;
        main();
    }
 
    void read(string login_new, string password_new)
    {
        ifstream fin("users.txt");
        for (int i = 0; i < 100; i++)    
        {
            fin >> users[1].login_new >> users[1].password_new;
        }
    }
 
    void login()
    {
        string login_new, password_new;
        cout << "Введите логин: " << endl;
        cin >> login_new;
        cout << "Введите пароль: " << endl;
        cin >> password_new;
        read(login_new, password_new);
        for (int i = 0; i < 100; i++)
        {
            if (login_new == users[1].login_new && password_new == users[1].password_new)
            {
                cout << "Вход успешен!" << endl;
            }
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2017, 00:49
Ответы с готовыми решениями:

Создание пароля на вход в программу
я написал программу по программированию, но препод решил усложнить и сказал сделать вход в...

Запароленный вход в программу - найти ошибку в коде авторизация пользователей
Пытаюсь сделать вход в программу от администратора и пользователей. От Администратора вход...

Напишите (консольную) программу, принимающую на вход имя файла и набор параметров. В зависимости от параметров программа должна работать в трёх режима
Вообщем такое же задание Добавлено через 2 минуты Напишите (консольную) программу, принимающую...

Регистрация и Вход
Подскажите пожалуйста как можно реализовать регистрацию пользователя и вход в консольном...

1
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
02.03.2017, 01:16 2
Цитата Сообщение от Аедрей99 Посмотреть сообщение
C++
1
2
cout << "Поздравляем! Регистрация прошла успешно! " << endl;
main();
Это какая-то сложная рекурсия, сколько раз достаточно попрыгать по пунктам меню, чтобы программа крешнулась от переполнения стека? Лучше придумай что-нибудь нормальное без рекурсии.
Цитата Сообщение от Аедрей99 Посмотреть сообщение
C++
1
for (int i = 0; i < 100; i++)
Да? Пользователей у тебя ровно 100?
Цитата Сообщение от Аедрей99 Посмотреть сообщение
C++
1
fin >> users[1].login_new >> users[1].password_new;
1 => i. Да и в остальных циклах похожий хлам.

Не по теме:

А твой мат в коде я бы оценил баном. Да и сам код нужно выделять тегами [CPP][/CPP] для подсветки синтаксиса и форматирования

0
02.03.2017, 01:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2017, 01:16
Помогаю со студенческими работами здесь

Регистрация/Вход
Все доброго времени суток))) Помогите пожалуйста новичку делаю сайт на joomla и хотелось бы узнать...

Регистрация и вход
Здравствуйте, я учусь на 3 курсе, не могу сделать программу. Вот условие: Разработать программу,...

Не работает регистрация и вход
Нарыл материала, начал писать, подтачивать под свой сайт. Решил сделать отдельную папку и получил...

Регистрация и вход в чат
Не могли бы вы мне помочь , изучаю PHP пытаюсь сделать регистрацию и вход в чат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru