/*
Nome: Mario
Cognome: Montanari

Generare una parola a caso (sicuramente pronunciabile), esempio: MUSETO.
Consonanti = "BCDFGLMNPRSTVZ".
Vocali = "AEIOU".
Ogni sillaba è consonante + vocale, esempio: BA.
Il numero di sillabe viene deciso da input o in modo randomico.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <iostream>
#define N_SILL 4

using namespace std;

void generaParola(int numSillabe, char* parola, int maxLen);

int main() {
    const int MAX_LEN = 20;
    char parolaGenerata[MAX_LEN];
	
    srand((unsigned)time(NULL));
    int numSillabe = rand() % 3 + 2;
	
    generaParola(numSillabe, parolaGenerata, MAX_LEN);
	
    printf("Parola generata: %s\n", parolaGenerata);
	
    return 0;
}

void generaParola(int numSillabe, char* parola, int maxLen) {
    const char consonanti[] = "BCDFGLMNPRSTVZ";
    const char vocali[] = "AEIOU";
	
    parola[0] = '\0';
	
    int currentLen = 0;
	
    for (int i = 0; i < numSillabe; i++) {
        if (currentLen + 2 >= maxLen) break;
		
        char sillaba[3];
        sillaba[0] = consonanti[rand() % (sizeof(consonanti) - 1)];
        sillaba[1] = vocali[rand() % (sizeof(vocali) - 1)];
        sillaba[2] = '\0';
		
        strcat(parola, sillaba);
        currentLen += 2;
    }
}
