Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 13.06.2017
Сообщений: 26

Файл: Проверка корректности ввода данных авторизации в файле логинов/паролей...

01.07.2017, 16:55. Показов 2305. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать программу для регистрации пользователя:
1.Выбор "регистрация" или "вход".
2.Если "регистрация", то создание логина и пароля и сохранение в текстовый документ save + на экран выводится логин.
3.Если "вход", то запрос логина с паролем и проверка, есть ли такой логин и пароль в save, иначе вывод - "Не верный логин или пароль" и переход к пункту 1.
4.Так же на странице пользователя можно нажать Esc и перейти к пункту 1.
Заранее спасибо)))
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.07.2017, 16:55
Ответы с готовыми решениями:

Проверка корректности ввода данных
На форме 3 поля. 1 поле: Кол-во груза на складе 2 поле: Кол-во увезенного груза 3 поле: (вычисляемое: 1 поле-2 поле) Кол-во...

Проверка корректности ввода данных
Нужно обеспечить контроль корректности ввода данных. using System; using System.Collections.Generic; using System.Linq; using...

задание логин + пароль. Проверка логинов и паролей
Даны 5 логинов и 5 паролей, каждый привязан друг к другу 1 логин - 1 пароль. Нужно написать сайт, на котором будут 2 формы и 1 кнопка вход....

5
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
01.07.2017, 22:46
Лучший ответ Сообщение было отмечено Dubar как решение

Решение

В процессе написания я решил усовершенствовать код. Думаю, хуже не будет =)) Только не реализовано нажатие "Esc". Прошу помощи)
Кликните здесь для просмотра всего текста
Pascal
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
115
116
117
118
119
120
121
122
label 1, 2;
var
  f: text;
 
begin
  assign(f, 'password.txt');
  
  var st: char := ' ';
  repeat
    writeln('Выберите один из пунктов: ');
    writeln('1) Вход');
    writeln('2) Регистрация');
    readln(st);
    if (st <> '1') and (st <> '2')
      then writeln('Выберите цифру 1 или 2');
    writeln;
  until (st = '1') or (st = '2'); 
  
  var f_log := '';
  var f_pass := '';
  var log := '';
  var pass := ''; 
  var q := '';
  case st of
    '1':
      begin
        if not fileexists('password.txt')
        then begin
          writeln('Файл,содержащий логин и пароль, не существует');
          repeat
            writeln('Создать учетную запись? ');  
            readln(q);
            writeln;
            if (q <> 'Да') and (q <> 'Нет')
              then writeln('Введите Да или Нет');
          until (q = 'Да') or (q = 'Нет'); 
          if q = 'Нет'
          then begin
            writeln('Работа программы завершена');
            exit;                  
          end
          else goto 2;  
          
        end
        else begin
          reset(f);
          write('Введите логин: ');
          readln(log);
          write('Введите пароль: ');
          readln(pass);
          readln(f, f_log);
          readln(f, f_pass); 
          if (f_log <> log) or (f_pass <> pass)
          then begin
            writeln('Пароль или логин введены неверно');
            writeln;
            var i := 3;
            repeat
              if i < 1
              then begin
                writeln;
                writeln('Попыток ввода больше нет');
                exit;
              end
              else begin
                write('Введите логин: ');
                readln(log);
                write('Введите пароль: ');
                readln(pass);               
                if (f_log <> log) or (f_pass <> pass) 
                then begin
                  i -= 1; 
                  if i = 0
                    then writeln('Пароль или логин введены неверно')
                  else begin
                    writeln('Пароль или логин введены неверно. Осталось попыток: ', i);  
                    writeln;
                  end;                  
                end 
                else begin
                  writeln;
                  writeln('Данные введены верно'); 
                  break; 
                end;
              end;             
            until (f_log = log) and (f_pass = pass);          
          end
          else begin
            writeln;
            writeln('Данные введены верно');
            close(f);  
          end;
          
        end;
      end; ;
    '2':
      begin
        2: rewrite(f);
        writeln('Ввод данных пользователя');  
        writeln;
        var q1 := '';
        repeat
          1: write('Введите логин: ');
          readln(log);
          write('Введите пароль: ');
          readln(pass); 
          writeln;          
          writeln('Вы уверены,что хотите использовать именно такие данные? ');
          readln(q);
          if q1 = 'Нет'
            then goto 1;
        until q = 'Да';
        writeln(f, log);
        writeln(f, pass);
        close(f);
        writeln;
        writeln('Данные пользователя успешно сохранены');
        writeln('Логин пользователя: ', log);
      end;;
  end;
  
end.


Добавлено через 16 минут
Это ведь можно сделать в графическом режиме? Или не только?
1
0 / 0 / 0
Регистрация: 13.06.2017
Сообщений: 26
01.07.2017, 22:59  [ТС]
Zwelenewskiy, спасибо! Я реализовал пока только вход и данные в файл "save" надо вводить в ручную:
Pascal
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
uses crt;
var
  login, pass: string;
  slogin, spass: string;
  sawe: text;
  c:char;
  label 1,2;
begin
1:
assign(sawe,'save.txt');
reset(sawe);
readln(sawe,slogin);
readln(sawe,spass);
close(sawe);
  clrscr;
  write('Login:');
  readln(login);
  write('Password:');
  pass := '';
  repeat
    c:=readkey;
    if c <> #13 then begin write('*');pass :=  pass + c; end;
  until c = #13;
  clrscr;
  if (login = slogin) and (pass = spass)  then
  begin
    repeat
      writeln('This is your account');
      c:=readkey;
    until  c= #27;
   goto 2;
  end
  else
   goto 1;
   2:   clrscr;
end.
Добавлено через 2 минуты
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
Это ведь можно сделать в графическом режиме? Или не только?
Думаю да, ведь работа с файлами это отдельная операция. Правда с графическим редактором я почти не работал)))
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
01.07.2017, 23:16
Dubar, я не смотрел Ваш код) В моем варианте предусмотрены,вроде бы,все варианты. Посмотрите реализацию работы с файлом,там ничего сложного. Если используете консоль,то добавьте первую строчку "uses crt;"
0
0 / 0 / 0
Регистрация: 13.06.2017
Сообщений: 26
02.07.2017, 20:53  [ТС]
Zwelenewskiy, да я так и сделал, просто не успел проработать все варианты и были кое-какие заморочки. Еще раз спасибо за ваш код)))

Добавлено через 20 часов 52 минуты
Zwelenewskiy, извините, что тревожу. А можно ли сделать что бы в файл записывалось несколько логинов или паролей, а не один
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
02.07.2017, 21:22
Я только начал дополнять код. Сразу проблема: строчки "Введите логин" и "Введите пароль" появляются одновременно. Как это исправить?=)
Кликните здесь для просмотра всего текста
Pascal
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
115
116
117
118
119
120
121
122
123
124
125
126
label 1, 2;
var
  f: text;
 
begin
  assign(f, 'password.txt');
  
  var st: char := ' ';
  repeat
    writeln('Выберите один из пунктов: ');
    writeln('1) Вход');
    writeln('2) Регистрация');
    readln(st);
    if (st <> '1') and (st <> '2')
      then writeln('Выберите цифру 1 или 2');
    writeln;
  until (st = '1') or (st = '2'); 
  
  var f_log := '';
  var f_pass := '';
  var log := '';
  var pass := ''; 
  var q := '';
  case st of
    '1':
      begin
        if not fileexists('password.txt')
        then begin
          writeln('Файл,содержащий логин и пароль, не существует');
          repeat
            writeln('Создать учетную запись? ');  
            readln(q);
            writeln;
            if (q <> 'Да') and (q <> 'Нет')
              then writeln('Введите Да или Нет');
          until (q = 'Да') or (q = 'Нет'); 
          if q = 'Нет'
          then begin
            writeln('Работа программы завершена');
            exit;                  
          end
          else goto 2;  
          
        end
        else begin
          reset(f);
          write('Введите логин: ');
          readln(log);
          write('Введите пароль: ');
          readln(pass);
          readln(f, f_log);
          readln(f, f_pass); 
          if (f_log <> log) or (f_pass <> pass)
          then begin
            writeln('Пароль или логин введены неверно');
            writeln;
            var i := 3;
            repeat
              if i < 1
              then begin
                writeln;
                writeln('Попыток ввода больше нет');
                exit;
              end
              else begin
                write('Введите логин: ');
                readln(log);
                write('Введите пароль: ');
                readln(pass);               
                if (f_log <> log) or (f_pass <> pass) 
                then begin
                  i -= 1; 
                  if i = 0
                    then writeln('Пароль или логин введены неверно')
                  else begin
                    writeln('Пароль или логин введены неверно. Осталось попыток: ', i);  
                    writeln;
                  end;                  
                end 
                else begin
                  writeln;
                  writeln('Данные введены верно'); 
                  break; 
                end;
              end;             
            until (f_log = log) and (f_pass = pass);          
          end
          else begin
            writeln;
            writeln('Данные введены верно');
            close(f);  
          end;
          
        end;
      end; ;
    '2':
      begin
        2: rewrite(f);        
        writeln('Ввод данных пользователя');  
        writeln;
        var q1 := '';
        var n := readinteger('Введите кол-во пользователей: ');
        for var i := 1 to n do
        begin
          repeat
            1: writeln('Введите логин ',i,'-го пользователя: ');
            readln(log);
            writeln('Введите пароль ',i,'-го пользователя: ');
            readln(pass); 
            writeln;          
            writeln('Вы уверены,что хотите использовать именно такие данные? ');
            readln(q);
            if q1 = 'Нет'
              then goto 1;
          until q = 'Да';
          writeln(f, log);
          writeln(f, pass);
          close(f);
          writeln;
          writeln('Данные пользователя успешно сохранены');
          writeln('Логин пользователя: ', log);
        end;
      end;;
  end;
  
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2017, 21:22
Помогаю со студенческими работами здесь

Проверка корректности ввода для численных типов данных
Всем добрый вечер. Столкнулся с проблемой, когда ввожу число, его нужно проверить на корректность. Делаю это следующим образом. void...

Проверка корректности ввода данных в свойстве экземпляра класса
Привет. Подскажите плз. Если нужно при вводе значения в свойство класса проверить его корректность set ...

Гугл хром открывает новые вкладки и окна с подозрительными сайтами во время ввода логинов и паролей
Доброго времени суток. Не так давно обратила внимание, что мой браузер Гугл Хром стал ХРОМать ))) На любой из страниц, где необходимо...

Создать текстовый файл логинов и паролей для доступа к секретной информации
Создать текстовый файл логинов и паролей для доступа к секретной информации. Создать форму для ввода логина и пароля. В случае правильного...

Проверка корректности ввода данных или "защита от дурака"
Нужно во всех формах реализовать контроль правилньости ввода данных. Не подскажете на примере, как это вообще делается? Например,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru