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

Регистрация и авторизация пользователя - можно ли оптимизировать код - C++

Восстановить пароль Регистрация
 
JAson13
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 36
03.05.2014, 21:45     Регистрация и авторизация пользователя - можно ли оптимизировать код #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
45
46
47
48
49
50
51
52
53
54
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main(){
    
    setlocale(LC_ALL, "Russian");
    
    char login[20], pass[20], name[20], str[50], logpass2[40];
    int choice, grant;
    
    cout << "1. Login\n" << "2. Register\n";
    cin >> choice;
    system("cls");
    switch(choice){
                   case 2:{
                        cout << "Name: ";
                        cin >> login;
                        cout << "Password: ";
                        cin >> pass;
                        ofstream list("list.txt", ios::app);
                        list << login << password;
                        list << endl;
                        list.close();
                        break;
                        }
                   case 1:{
                        ifstream list("list.txt");
                        do
                        {
                        cout << "Name: ";
                        cin >> login;
                        cout << "Password: ";
                        cin >> pass;
                        strcpy(logpass2, login);
                        strcat(logpass2, pass);
                        while(!list.eof()){
                                           list.getline(str, sizeof(list));
                                           if (strcmp(str, logpass2) == 0) {cout << "Access granted"; grant = 1; break;} 
                                           }
                                           list.clear();
                                           list.seekg(0);
                                           system("cls");
                                           cout << "Access denied\n";
                        }while(grant != 1);
                        system("cls"); 
                        list.close(); 
                        break;
                        }
                   }
    system("pause>>void");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 21:45     Регистрация и авторизация пользователя - можно ли оптимизировать код
Посмотрите здесь:

C++ Помогите оптимизировать код
Оптимизировать код и обьяснить с матрицами. C++
C++ Помогите оптимизировать код
C++ Как оптимизировать код?
C++ Нужно оптимизировать код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stawerfar
 Аватар для stawerfar
140 / 54 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
03.05.2014, 23:58     Регистрация и авторизация пользователя - можно ли оптимизировать код #2
Это то что нужно, хотя и не совсем красиво. Но есть и еще кое что. Строка 39 вызывает сомнения по поводу если можно так выразиться корректности
JAson13
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 36
04.05.2014, 14:53  [ТС]     Регистрация и авторизация пользователя - можно ли оптимизировать код #3
Ну у меня при различных значениях ошибок не выдавалось, а 39 строка, ну по другому не знаю как там корректно будет. Использование getline было описано вот в таком виде.
stawerfar
 Аватар для stawerfar
140 / 54 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
05.05.2014, 17:14     Регистрация и авторизация пользователя - можно ли оптимизировать код #4
Дело не в ошибках. тут написано что да как.
Второй параметр принимает длину строки которую следует считать если не будет встречен символ '\n'. А в 39 строке передается размер переменной, а автор скорее всего хотел указать размер файла. Это разные вещи которые никак ни относятся друг другу. В вашей простой задаче это будет работать, но до определенного момента, а точнее до того как размер переменной не совпадет с размером очередного слова.
Yandex
Объявления
05.05.2014, 17:14     Регистрация и авторизация пользователя - можно ли оптимизировать код
Ответ Создать тему
Опции темы

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