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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
#1

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

06.12.2013, 16:18. Просмотров 605. Ответов 12
Метки нет (Все метки)

Доброго времени суток господа. Помогите подкорректировать код пожалуйста. Нужно что бы в данном коде было несколько вариантов логинов и паролей(например 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 16:18     подкорректировать код(логин и пароль)
Посмотрите здесь:

Логин и пароль - C++
Программа после введения правильных данных выдает &quot;Добро пожаловать!&quot; ...

Меню логин пароль - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ setlocale ( LC_ALL, &quot;Russian&quot; ); bool...

Авторизация логин-пароль - C++
Программа содержит массив строк, каждая из которых представляет собой запись об учетной записи пользователя, а каждое поле отделяется от...

C++ Проверка логин\пароль - C++
Доброго времени суток! В консольном приложении планирую сделать запрос логина\пароля при входе. .txt файл имеет такую структуру: ...

Логин и пароль из файла - C++
Только начал изучать си и не могу разобрать что за ошибка с проверкой пароля.Помогите,кому не трудно #include &lt;stdio.h&gt; #include...

Логин и пароль прочитать из файла - C++
Помогите составить программу, к которой когда входишь, допустим, под администратором просит вписать логин и пароль, которые нужно прочитать...

подкорректировать код (найти ошибки) - C++
программа должна найти первые буквы слов. Проблема заключается в цикле. Не пойму как сделать чтоб работала правильно #include&lt;iostream.h&gt;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,056
Завершенные тесты: 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
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
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
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
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
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
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
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
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     подкорректировать код(логин и пароль)
Еще ссылки по теме:

Вычисление sin. Подкорректировать код. - C++
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; const int...

Подкорректировать код (сортировка распределением) - C++
Вечер добрый, знатоки. Компилятор ошибку не отлавливает. Ошибка логическая и вылет программы происходит при входе в цикл: while (j &gt; (l...

Можете немного подкорректировать код? - C++
Данная программы выводит на экран такой треугольник: 1 12 123 1234 ... 1234..n

Подкорректировать код нахождения суммы ряда - C++
помогите,пожалуйста, подкорректировать код под мою задачу. понимаю,что легко, но я никогда не работала с с++ #include &lt;stdio.h&gt; ...

В файл записывается мусор. Подкорректировать код - C++
Нужна помощь! В общем организована БД со структурами и целый перечень функций, которые её обслуживают. Всё работало, но что как-то...


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

Или воспользуйтесь поиском по форуму:
uhx
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
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     подкорректировать код(логин и пароль)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru