/*
Nome: Mario
Cognome: Montanari

Contare il numero di vocali minuscole e
maiuscole contenute in una frase data in input.
*/

#include <iostream>
#include <cstring>

#define SIZE 100+1

using namespace std;

typedef struct{
    int nVocMin;
    int nVocMai;
} result;

result vocali (char str[], int size);
bool isVocMin(char chr);
bool isVocMai(char chr);

int main (void){
    char str[SIZE];
    result risultato;
	
	cout << "Inserisci una frase: ";
	cin.getline(str, SIZE);
	
	risultato = vocali(str, sizeof(str)/sizeof(str[0]));
    
    cout << endl << "Numero di vocali minuscole: " << risultato.nVocMin << endl;
	cout << "Numero di vocali maiuscole: " << risultato.nVocMai << endl;
    
    return 0;
}

result vocali (char str[], int size){
    result res = {0, 0};
    
    for(int i = 0; i < size; i++){
    	
        if(isVocMin(str[i])){
            res.nVocMin++;
        }
        
        if(isVocMai(str[i])){
            res.nVocMai++;
        }
    }
    
    return res;
}

bool isVocMin(char chr){
    bool isMin = false;
    
    if(
		chr == 'a' ||
		chr == 'e' ||
		chr == 'i' ||
		chr == 'o' ||
		chr == 'u'
	){
        isMin = true;
    }
   
    return isMin;
}

bool isVocMai(char chr){
    bool isMai = false;
    
    if (
		chr == 'A' ||
		chr == 'E' ||
		chr == 'I' ||
		chr == 'O' ||
		chr == 'U'
	){
        isMai = true;
    }
   
    return isMai;
}