Ниже представлено одно из решений задания по дисциплине ДСРПО.

Задание

Написать генератор паролей, длиной от 8 до 32 символов, состоящий из цифр, букв верхнего и нижнего регистра и служебных символов.

Код

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

char *pgen(int N){
	char * password = new char[N + 1];
	for (int i = 0; i < N; i++) 
	{
		switch(rand() % 4)
		{
		case 0: 
			password[i] = 32 + rand() % 16; 
			break;
		case 1: 
			password[i] = 47 + rand() % 11;
			break;
		case 2:
			password[i] = 64 + rand() % 27;
			break;
		case 3:
			password[i] = 96 + rand() % 27;
			break;
		}
	}
	password[N] = '\0';
	cout << endl << "Lenght of password is: " << N << endl << "Your password is: ";
	return password;
}

int main(){
	srand(time(NULL));
	int N = 8 + rand() % 32;
	while(true){
		if ((N < 8) || (N > 32)) N = 8 + rand() % 32;
		else if ((N >= 8) && (N <= 32)) break;
	}
	cout << pgen(N);	
	return 0;
}

Решение протестировано на IDE Dev C++.

You May Also Like

Мультфильм — Курсовая работа по Python

Курсовая работа, с которой я столкнулся на втором курсе. Просто делать анимацию на Python 3 слишком скучно, поэтому я реализовал несколько состояний объекта, которые вызываются нажатием клавиш...

Дневник Сьюзен

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