Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 11
1

Программа входа в систему

08.10.2013, 01:04. Показов 3319. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Наткнулся вот на такую програмку, нужно сделать так, чтобы в функции администратора можно было менять пароль не только одному юзеру, тоесть, чтобы после смены пароля не выкидало в меню входа в аккаунт, А можно было сменить пароль еще раз, еще одному юзеру.

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
#include <string>    // Позволяет работать со строками
#include <iostream>  // Отвечает за ввод/вывод
#include <conio.h>   // Обработка пауз
#include "windows.h" // Заголовочный файл от библиотеки
#include <stdio.h>   // Oпределения макросов
#include <stdlib.h>  // Pабота с памятью, преобразования между строками и числами
using namespace std; // Cтандартное пространство имен 
 
struct Auth // Структура
{
    string login;   // обявление логина, типа стринг 
    string password;// обявление пароля, типа стринг
};
void ChangePass (Auth *val, int user);  //  функция не возвращает значения
int main ()   
{
     setlocale(LC_ALL, "Russian");
     bool correctPass = false;
     Auth Base[5];                      // Заносим в память даные
     Base[1].login    = "User2";
     Base[1].password = "2222";
     Base[0].login    = "User1";
     Base[0].password = "1111";
     Base[2].login    = "User3";
     Base[2].password = "3333";
     Base[3].login    = "User4";
     Base[3].password = "4444";
     Base[4].login    = "1";
     Base[4].password = "1";
  for (int i = 0; i <= 3; i++)  // цикл, работает пока i <= 3
  {
       if (i == 3)              // закритие программы когда i = 3
        {
            system("cls");
            cout<<"ДОСТУП ЗАБЛОКИРОВАН! Вы использовали 3 попытки"<<"\n";
            getch();
            exit(EXIT_FAILURE);
        }
        int activeUser;           
        string bufLogin, bufPassword;
 
        cout << "Введите логин:" << "\n";
        cin >> bufLogin;
        cout << "Введите пароль:"<<"\n";
        cin >> bufPassword;
 
        system("cls");
 
        for (int j = 0; j < 5; j++)
        {
            if (Base[j].login == bufLogin && Base[j].password == bufPassword) // при верном вводе переход в меню смены пароля
            {
                i = -1;
                correctPass = true;
                activeUser = j;
                break;
            }
            else
            {
                correctPass = false;
            }
        }
        if(correctPass)
        {
            cout << "Добро пожаловать " << Base[activeUser].login << "!" << endl;
            cout << "Для доступа в меню смены паролей нажмите [1] \n " << endl;
 
            if (getch() - 48 == 1) // конвертация стринга в инт/*/код символа '1' в ASCII кодировке = 49. Чтобы получить из символа единички, его численное представление надо от кода символа отнять 48.
            {
                system("cls");
                ChangePass(Base, activeUser); // меняем пароль, з базы загружаем активного юзера
            }
            system("cls");
        }
        else
        {
            system("cls");
            cout << "Неверный логин или пароль" << endl;
            cout << "у вас осталось " << 2 - i << " попиток!" << endl;
            getch();
            system("cls");
        }
    }
    getch();
    return 0;
}
void ChangePass (Auth *val, int user) // функция адимнистратора, меню смены паролей всем пользователям
{
 
    int choise = -1;
 
    if (user == 5 - 1)
    {
        cout << "У вас есть доступ администратора." << endl;
        for(int i = 0; i <= 4; i++)
        {
            cout << i + 1 << ") " << val[i].login << endl;
        }
        while((choise < 1) || (choise > 5))
        {
            cout << "Введите номер пользователя, пароля какого вы хотите изменить" << endl;
            cin >> choise;
        }
        system("cls");
        cout << "Введите новый пароль для пользователя" << val[choise - 1].login << endl;
        cin >> val[choise - 1].password;
        cout << "Успешно";  
    }
    else
    {
         cout << "Введите новый пароль:" << endl;
         cin >> val[user].password;
    }
}
Вот часть программы которую нужно поменять
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
void ChangePass (Auth *val, int user) // функция адимнистратора, меню смены паролей всем пользователям
{
 
    int choise = -1;
 
    if (user == 5 - 1)
    {
        cout << "У вас есть доступ администратора." << endl;
        for(int i = 0; i <= 4; i++)
        {
            cout << i + 1 << ") " << val[i].login << endl;
        }
        while((choise < 1) || (choise > 5))
        {
            cout << "Введите номер пользователя, пароля какого вы хотите изменить" << endl;
            cin >> choise;
        }
        system("cls");
        cout << "Введите новый пароль для пользователя" << val[choise - 1].login << endl;
        cin >> val[choise - 1].password;
        cout << "Успешно";  
    }
    else
    {
         cout << "Введите новый пароль:" << endl;
         cin >> val[user].password;
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2013, 01:04
Ответы с готовыми решениями:

Программа имитации входа в систему
Всем привет! Нам на иформатике задали написать программу, что имитирует вход в систему: ...

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

Консольное приложение. Имитация входа в систему.
Требуется написать программу для имитации входа в систему, которая будет запрашивать пароль и...

как сделать программу, чтобы она запрашивала пароль до входа в систему
как сделать программу, чтобы она запрашивала пароль до входа в систему.

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

Программа входа и регистрации
Здравствуйте! Я написал для себя программку: она записывает логин и пароль в файл, а затем сверяет...

Программа, имитирующая файловую систему
Создать программу, которая будет имитировать файловую систему. Как это сделать? С чего начать? У...

Программа перевода в двоичную систему счисления
Программа должна работать с числами в int и float, но в случае с дробными (float) видит только...

Программа для перевода из 8-чной в 10-чную систему вычесления
Нужна помошь в написании програмы для перевода из 8-ой в 10-ую систему счесления! при помощи...


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

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