Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16

Программа по генерации паролей

18.06.2020, 16:01. Показов 4177. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, прошу помощи у опытных писарей на си плюсах. Написал программку по генерации паролей а она ни в какую не работает. Подскажите, в чем моя ошибка/ошибки. Код ниже
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            string Password = "";
            string Password1 = "";
            string sim[] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);  
                textBox1->Text= Password;
                }
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);
                textBox1->Text= Password;
                }
            
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);
                textBox1->Text= Password;
                }
            }
         }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2020, 16:01
Ответы с готовыми решениями:

Программа для генерации паролей из 8 символов, где 6 букв, а 2 последние цифры
В общем задали сделать такую программу, но как? Программа для генерации паролей из 8 символов, где 6 первых латинские буквы(строчные), а 2...

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

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

33
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,381
18.06.2020, 23:20
Студворк — интернет-сервис помощи студентам
diebitsh, так делать нельзя
Попробуй так:
C++
1
textBox1->Text= gcnew String((Char*) Password);
тебе нужно Password перевести в тип, который поддерживает конструктор String().
Значит нужно либо кастовать (преобразовывать) Password к нужному типу, либо создавать Password сразу с нужным типом
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
18.06.2020, 23:38  [ТС]
Recrut_rf, блин спасибо большое сделал password и массив sim типом char , но теперь выдает одну единственную ошибку: error C2078: слишком много инициализаторов, в строчке с массивом
C++
1
char sim[62] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
. Это вообще реально исправить?
0
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,381
18.06.2020, 23:49
diebitsh, конечно реально, посчитай, сколько у тебя в массиве sim символов и не забудь последним добавить '\0', кстати у тебя его нет, а он обязан быть (при такой инициализации ). Всего их не должно быть больше 62 так как у тебя массив char sim[62] на 62 элемента. Если больше, значит меняй 62 на большее значение. И массив нужно инициализировать символами а не массивами (если что "1" эта строка содержит два символа 1 и нуль терминатор - по-сути это строка, а вот это '1' символ 1 )
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
18.06.2020, 23:50  [ТС]
Recrut_rf, от души за все, ошибок нет, прога запускается, но выдает ошибки. буду разбираться
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 00:30
Цитата Сообщение от diebitsh Посмотреть сообщение
ошибок нет, прога запускается, но выдает ошибки.
Вы бы определились.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
19.06.2020, 11:01  [ТС]
S_el, ну при компиляции ошибок нет, а во сам прога выдает ошибки
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 15:32
diebitsh, прикрепите проект - посмотрю.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
19.06.2020, 15:38  [ТС]
S_el,
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            char Password  ;
            char Passworda ;
            const char sim[] = { '1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ,'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U' ,'V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j' ,'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y' ,'z' };
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
                
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 8; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
 
 
            }
вот код. при компиляции ошибки отсутствуют. ниже ошибки в самой программе
Миниатюры
Программа по генерации паролей   Программа по генерации паролей  
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 16:08
diebitsh,
char это 1 символ добавляя к нему другой char вы не можете получить несколько символов.

Используйте строковый тип данных.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
20.06.2020, 14:47  [ТС]
S_el, не помогает....
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
20.06.2020, 19:58
diebitsh, код показывайте
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
20.06.2020, 22:32  [ТС]
S_el,
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            string Password  ;
            char Passworda ;
            string sim[] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
                
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 8; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
вот код. вот возникшие ошибочки 1>.\Form1.cpp(205) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>.\Form1.cpp(215) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>.\Form1.cpp(224) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>VyacheslavGenPass.cpp
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(205) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(215) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(224) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
21.06.2020, 00:46
Лучший ответ Сообщение было отмечено diebitsh как решение

Решение

diebitsh, это никуда не годится.

C++
1
2
3
4
5
6
7
8
9
10
        const array<Char>  ^sim = gcnew array<Char>{ '1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ,'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U' ,'V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j' ,'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y' ,'z' };
        srand((unsigned)time(NULL));
        const int N = 6;
        System::Text::StringBuilder^ sb = gcnew System::Text::StringBuilder(N); //для эффективности
 
        for (int i = 0; i < N; i++)
        {
            sb->Append(sim[rand() % 61]);
        }
        textBox1->Text = sb->ToString();
раз массив константный,то лучше вынести его создание из обработчика, псевдослучайные числа тоже можно .net-овские использовать.
1
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
21.06.2020, 11:08  [ТС]
S_el, слушай огромное тебе спасибо!!!!!!! я уже думал ничего не получится. От души просто!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2020, 11:08
Помогаю со студенческими работами здесь

Программа для контроля и перехвата паролей
Нужно мне сделать такую программу,и еще опции долдны быть такие: 1)Невидимость программы нигде кроме процессов в ДЗ(примерно знаю как...

Программа генерации последовательностей нулей и единиц
помогите пожалуйста написать программу генерации m-последовательностей 0 и 1, удовлетворяющих обоим требованиям: 1) никакие 3 единицы не...

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

Создать генератор паролей в котором можно указать длину пароля и количество паролей
Помогите пожалуйста! Задание: Нужно создать генератор паролей в котором можно указать длину пароля и количество паролей то есть длина...

Нужна программа генерации паролей
Здравствуйте! Помогите - нужна прога, генерирующая пароли, ещё нужны проги запароливающие Word-овский документ и перебирающая пароли до...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru