Форум программистов, компьютерный форум CyberForum.ru

подкорректировать код(логин и пароль) - C++

Восстановить пароль Регистрация
 
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
06.12.2013, 16:18     подкорректировать код(логин и пароль) #1
Доброго времени суток господа. Помогите подкорректировать код пожалуйста. Нужно что бы в данном коде было несколько вариантов логинов и паролей(например 4),и что бы при вводе правильной комбинации мне выводило сообщение только о правильной авторизации. И исправить кол-во попыток на 3.
Вот прилагаю сам код,нашел на этом же форуме(спасибо за него Joker_94).
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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
char c=3;
int l, p;
int main()    
   {
const int log=123, pass=100;
                          setlocale(LC_ALL, "Russian");
    system("cls");
m1:
cout<<"Введите логин:";
cin>>l;
system ("cls");
cout<<"Введите пароль:";
cin>>p;
   system ("cls");
{
if (l==log && p==pass)
{
cout<<"Все верно!Вы авторизированы!\n";
} 
else c--;
      while (c>=0)
       {   
  
   cout<<"Вы ошиблись, повторите ввод\n Попыток ввода осталось "<<c+1<<" попыток\n";
   goto m1;
  
       }
if (c<=0)
{
printf("В доступе отказано! Количество попыток ограничено!!"); 
}
goto m;
 
}
m:
getch();
system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
06.12.2013, 16:57     подкорректировать код(логин и пароль) #2
создай ассоциативный массив(std::map<std::string,std::string> , либо как у тебя std::map<int,int>) со сколько угодно логинами и паролями, делов на 2 строчки

Добавлено через 6 минут
Цитата Сообщение от vitalya_gap Посмотреть сообщение
И исправить кол-во попыток на 3.
уменьшить "c" на 1 изначаьлно
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
07.12.2013, 12:51  [ТС]     подкорректировать код(логин и пароль) #3
Цитата Сообщение от Raali Посмотреть сообщение
создай ассоциативный массив(std::map<std::string,std::string> , либо как у тебя std::map<int,int>) со сколько угодно логинами и паролями, делов на 2 строчки

Добавлено через 6 минут

уменьшить "c" на 1 изначаьлно
Понимаешь в чем дело..Я в программировании,как электрик в хирургии)Так что для меня это проблемненько)Ну щас "попробую попробовать"..

Добавлено через 9 часов 0 минут
Не получается у меня самому тут сделать то что было сказано выше...Помогите кто нибудь кто может пожалуйста)

Добавлено через 9 часов 58 минут
пожалуйста)
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
08.12.2013, 13:59  [ТС]     подкорректировать код(логин и пароль) #4
Сделайте пожалуйста кто может,очень нужно..
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
08.12.2013, 14:05     подкорректировать код(логин и пароль) #5
Буквально недавно этот код писал в другой теме:
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
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc,char* argv[]){
    setlocale(0,"");
    char true_dat[10][20]={
        "Dmitriy123", "12345",
        "uhx", "54321",
        "User3", "1983"
    };
    cout<<"Введите логин: ";
    char login[256],password[256];
    gets(login); // Используем для получения всей строки, т.к. в логине могут быть и пробелы, но в принципе, если вы их вставлять не собираетесь - то можно юзать и cin
    cout<<"Введите пароль: ";
    gets(password);
    for(int i=0;i<10;i+=2){
        if(!strcmp(login,true_dat[i])){ // Сравниваем строку логина с каждой четной ячейкой (логин) в массиве, если 0 (strcmp возвращает 0), то дальше проверяем ячейку правее (+1), на совпадение с паролем.
            cout<<"Login - True";
        if(!strcmp(password,true_dat[i+1]))
            cout<<"\nPassword - True!";
        else cout<<"\nIncorrect password!";
        }
    }
    getch();
}
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
08.12.2013, 14:24  [ТС]     подкорректировать код(логин и пароль) #6
Цитата Сообщение от uhx Посмотреть сообщение
Буквально недавно этот код писал в другой теме:
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
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc,char* argv[]){
    setlocale(0,"");
    char true_dat[10][20]={
        "Dmitriy123", "12345",
        "uhx", "54321",
        "User3", "1983"
    };
    cout<<"Введите логин: ";
    char login[256],password[256];
    gets(login); // Используем для получения всей строки, т.к. в логине могут быть и пробелы, но в принципе, если вы их вставлять не собираетесь - то можно юзать и cin
    cout<<"Введите пароль: ";
    gets(password);
    for(int i=0;i<10;i+=2){
        if(!strcmp(login,true_dat[i])){ // Сравниваем строку логина с каждой четной ячейкой (логин) в массиве, если 0 (strcmp возвращает 0), то дальше проверяем ячейку правее (+1), на совпадение с паролем.
            cout<<"Login - True";
        if(!strcmp(password,true_dat[i+1]))
            cout<<"\nPassword - True!";
        else cout<<"\nIncorrect password!";
        }
    }
    getch();
}
Большое Вам спасибо,но мне бы именно тот код который я приложил,только в исправленном варианте..(
HidForce
54 / 54 / 13
Регистрация: 17.11.2012
Сообщений: 1,126
08.12.2013, 14:37     подкорректировать код(логин и пароль) #7
vitalya_gap, здесь надо не исправлять, здесь надо все заново писать. Код, который вы предоставили, просто ужасен!
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
08.12.2013, 14:53  [ТС]     подкорректировать код(логин и пароль) #8
Цитата Сообщение от HidForce Посмотреть сообщение
vitalya_gap, здесь надо не исправлять, здесь надо все заново писать. Код, который вы предоставили, просто ужасен!
Блин,это очень плохо...мне просто нужен код не похожий на тот который предложил uhx
HidForce
54 / 54 / 13
Регистрация: 17.11.2012
Сообщений: 1,126
08.12.2013, 14:57     подкорректировать код(логин и пароль) #9
vitalya_gap, то есть? А какой нужен?
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
08.12.2013, 15:05  [ТС]     подкорректировать код(логин и пароль) #10
HidForce, просто такая ситуация,что предложенный код был написан для моего одногрупника,и нам предстоит сдавать эту задачу одному преподавателю...Вариантов он не дал,но при этом сказал "если будет похоже не засчитаю!".Есть ли возможность сделать так что бы этот код отличался от начальной версии не только логинами и паролями?
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
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc,char* argv[]){
    setlocale(0,"");
    char true_dat[10][20]={
        "Dmitriy123", "12345",
        "uhx", "54321",
        "User3", "1983"
    };
    cout<<"Введите логин: ";
    char login[256],password[256];
    gets(login); // Используем для получения всей строки, т.к. в логине могут быть и пробелы, но в принципе, если вы их вставлять не собираетесь - то можно юзать и cin
    cout<<"Введите пароль: ";
    gets(password);
    for(int i=0;i<10;i+=2){
        if(!strcmp(login,true_dat[i])){ // Сравниваем строку логина с каждой четной ячейкой (логин) в массиве, если 0 (strcmp возвращает 0), то дальше проверяем ячейку правее (+1), на совпадение с паролем.
            cout<<"Login - True";
        if(!strcmp(password,true_dat[i+1]))
            cout<<"\nPassword - True!";
        else cout<<"\nIncorrect password!";
        }
    }
    getch();
}
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
08.12.2013, 15:07     подкорректировать код(логин и пароль) #11
Цитата Сообщение от vitalya_gap Посмотреть сообщение
HidForce, просто такая ситуация,что предложенный код был написан для моего одногрупника,и нам предстоит сдавать эту задачу одному преподавателю...Вариантов он не дал,но при этом сказал "если будет похоже не засчитаю!".Есть ли возможность сделать так что бы этот код отличался от начальной версии не только логинами и паролями?
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
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc,char* argv[]){
    setlocale(0,"");
    char true_dat[10][20]={
        "Dmitriy123", "12345",
        "uhx", "54321",
        "User3", "1983"
    };
    cout<<"Введите логин: ";
    char login[256],password[256];
    gets(login); // Используем для получения всей строки, т.к. в логине могут быть и пробелы, но в принципе, если вы их вставлять не собираетесь - то можно юзать и cin
    cout<<"Введите пароль: ";
    gets(password);
    for(int i=0;i<10;i+=2){
        if(!strcmp(login,true_dat[i])){ // Сравниваем строку логина с каждой четной ячейкой (логин) в массиве, если 0 (strcmp возвращает 0), то дальше проверяем ячейку правее (+1), на совпадение с паролем.
            cout<<"Login - True";
        if(!strcmp(password,true_dat[i+1]))
            cout<<"\nPassword - True!";
        else cout<<"\nIncorrect password!";
        }
    }
    getch();
}
Хах, я так и подумал, что у вы как минимум одногрупники Через 40 минут доиграю в доту и перепишу немного иначе, если этого не сделает никто другой.
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
08.12.2013, 15:10  [ТС]     подкорректировать код(логин и пароль) #12
uhx, Спасибо,буду благодарен..Удачной игры(накажи всех раков)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 16:42     подкорректировать код(логин и пароль)
Еще ссылки по теме:

Логин и пароль прочитать из файла C++
C++ Логин и пароль из файла
C++ Меню логин пароль

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

Или воспользуйтесь поиском по форуму:
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
08.12.2013, 16:42     подкорректировать код(логин и пароль) #13
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
#include <iostream>
using namespace std;
int p=3;
int main(){
    setlocale(0,"");
    bool cont=false;
    char database[10][20] = {"User1", "123", "User2", "1234", "User3", "12345"};
    char login[20],password[20];
    while(p > 0){
        p--;
        system("cls");
        cout<<"Введите логин: ";
        cin>>login;
        cout<<"\nВведите пароль: ";
        cin>>password;
        for(int i=0;database[i][0];i+=2){
            if(!strcmp(login,database[i])){
                if(!strcmp(password,database[i+1]))
                    cont=true;
            }
        }
        if(!cont) cout<<"Логин или пароль неверны.\nКоличество попыток: "<<p;
        else break;
        system("pause>>void");
    }
    if(cont){
        system("cls");
        cout<<"Вход выполнен успешно.";
    }
    else cout<<"\nВы исчерпали лимит попыток!";
system("pause>>void");
}
Yandex
Объявления
08.12.2013, 16:42     подкорректировать код(логин и пароль)
Ответ Создать тему
Опции темы

Текущее время: 14:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru