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

функция авторизации,ошибка в авторизации - C++

Восстановить пароль Регистрация
 
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
10.12.2009, 18:25     функция авторизации,ошибка в авторизации #1
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
//*.h
char* entering(char* un,int pass)
{srand(time(NULL)); 
char* ok="Authorization successful";
    //BASE
        char* name="admin";
        int xpass=123;
        int c=rand()% 9998+1000;        
        
    
                   int vc=0;
        
        
                        cout<<"Enter code """<<c<<""":";
        cin>>vc;
        while(un != name || pass!=xpass || vc!=c)
        {
                system("cls");
              //  Beep(600, 150);
                cout<<"Password\\User number is wrong.\n";
                cout<<"User Number:";
                cin>>un;
                cout<<"Password:";
                cin>>pass;
                cout<<"Enter code """<<c<<""":";
                cin>>vc;
                c=rand()% 9998+1000;
        }
        return ok;
}
 
//*.cpp
int main()
{text login;
        char un[10000];
        int pass=0;
     
        cout<<"User Name:";
        cin.getline(un, 10000);
        cout<<"Password:";
        cin>>pass;
        login.entering(un,pass);
        system("pause");
}
функция entering принимает чар-логин и инт как пароль...если логин==admin а пароль==123 то функция возвращает чар ОК,но авторизация всегда не успешна,в чем проблема?

Добавлено через 1 минуту
может не while a if?

Добавлено через 1 минуту
хотя так не правильно будет,после неудачной авторизации программа продолжит рабоатть..

Добавлено через 1 час 15 минут
C++
1
cout<<name<<endl<<un<<endl<<xpass<<endl<<pass<<endl;
ввел это думаю что то не правильно введу...ввел-результат получил похожие...то есть я все введу как там написано admin и 123,но все же показывает что я непраильно ввел что то...я думаю это с циклом связано...кстати я еще вместо != написал ==,но тоже самое,в чем проблема народ помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 18:25     функция авторизации,ошибка в авторизации
Посмотрите здесь:

C++ Функция ошибка
C++ Ошибка: функция не принимает 1 аргумент
Функция. Где здесь ошибка? C++
Функция sort и ошибка С2228 C++
Функция поиска (ошибка в коде) C++
C++ Функция, где ошибка?
C++ Функция-член Ошибка класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
10.12.2009, 19:20     функция авторизации,ошибка в авторизации #2
строка 35 чего такое text ?

строка 17 while(un != name || pass!=xpass || vc!=c)
un и name вообще-то указатели,
Медвед ты ж на С++ ваяешь пользуй string, но эт ИМХО

Добавлено через 17 секунд
щас придумаем чё-нить

Добавлено через 22 минуты
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
#include <iostream>
#include <string>
 
using namespace std;
 
struct LoginPass
{
    string login;
    string pass;
};
 
const LoginPass adminLogin={"admin","123"};
bool Authorization(LoginPass & user)
{
 
    if ((user.login==adminLogin.login)&&(user.pass==adminLogin.pass)) return true;
    
    cout<<"Password or login is wrong.\n";
    return false;
}
 
//*.cpp
int main()
{
    LoginPass user;
    
    do 
    {
        cout<<"User Name: ";    cin>>user.login;
        cout<<"Password: ";  cin>>user.pass;
    } while (!Authorization(user));
 
    cout<<" Authorization successful"<<endl;
 
    system("pause");
 
    return 0;
 
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
10.12.2009, 19:28  [ТС]     функция авторизации,ошибка в авторизации #3
TanT, text это тоже самое что и в твоем примее LoginPassтолько в файле,я же написал //*.h

Добавлено через 1 минуту
TanT, спасибо конечно но поближе к моему нельзя?а то там много вещей которые я не понял
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
10.12.2009, 19:53     функция авторизации,ошибка в авторизации #4
да я так написал потому что в твоём много не понял

но в строке 17 un != name бесполезно, не указатели надо сравнивать а строки, тогда хоть strcmp используй.

что в моём примере тебе не понятно?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
10.12.2009, 20:10  [ТС]     функция авторизации,ошибка в авторизации #5
Цитата Сообщение от TanT Посмотреть сообщение
что в моём примере тебе не понятно?
C++
1
2
3
4
5
6
7
8
9
const LoginPass adminLogin={"admin","123"};
bool Authorization(LoginPass & user)
{
 
        if ((user.login==adminLogin.login)&&(user.pass==adminLogin.pass)) return true;
        
        cout<<"Password or login is wrong.\n";
        return false;
}
вот это нельзя в структуру запихнуть?

Добавлено через 7 минут
еще можешь члены класса в функцию поместить?у меня в классе только методы,с членами разброссано будет

Добавлено через 1 минуту
TanT, нельзя ли мой код просто поменять?там поменять типы только?
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
10.12.2009, 20:22     функция авторизации,ошибка в авторизации #6
приблизил как мог

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
#include <iostream>
#include <string>
#include <time.h>
 
 
 
using namespace std;
 
struct text
{
    string un;
    string pass;
};
 
//*.h
void entering(string &un, string pass)
{
    
    srand(time(NULL)); 
        //BASE
            string name="admin";
            string xpass="123";
        int c=rand()% 9998+1000;                
        
    
                   int vc=0;
        
        
        cout<<"Enter code """<<c<<""":";
        cin>>vc;
        while(un != name || pass!=xpass || vc!=c)
        {
                system("cls");
              //  Beep(600, 150);
                cout<<"Password\\User number is wrong.\n";
                cout<<"User Number:";
                cin>>un;
                cout<<"Password:";
                cin>>pass;
                cout<<"Enter code """<<c<<""":";
                cin>>vc;
                c=rand()% 9998+1000;
        }
                cout<<"Authorization successful";
}
 
//*.cpp
int main()
{   
    string un;
    string pass;
 
  cout<<"User Name:";        cin>>un;
    cout<<"Password:";        cin>>pass;
    entering(un,pass);
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2009, 23:02     функция авторизации,ошибка в авторизации
Еще ссылки по теме:

Функция-член в структуре. В чём ошибка? C++
C++ Libcurl, проверка авторизации
функция не принимает 3 аргументов,в чём ошибка? C++
Написать класс для авторизации C++
C++ Ошибка: функция возвращает auto

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

Или воспользуйтесь поиском по форуму:
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
10.12.2009, 23:02  [ТС]     функция авторизации,ошибка в авторизации #7
Цитата Сообщение от TanT Посмотреть сообщение
struct text
{
string un;
string pass;
};
это где

Добавлено через 1 час 3 минуты
TanT, спасибо спасибо!Все получилось!
Yandex
Объявления
10.12.2009, 23:02     функция авторизации,ошибка в авторизации
Ответ Создать тему
Опции темы

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