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

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

18.06.2020, 16:01. Показов 4439. Ответов 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
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
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
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
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
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru