School-Coding-Cpp/sfusi/es1F.cpp

49 lines
903 B
C++

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 07/03/2025
es1F: Scrivere una funzione che, ricevuta una
stringa, ne restituisca il numero di consonanti.
Prototipo richiesto:
unsigned consonantscounts(const char *str);
Esempio: "25dic2018" ? 2
*/
#include <iostream>
#define SIZE 100+1
using namespace std;
int isVowel(char chr);
unsigned consonantscounts(const char *str);
int main(void) {
char str[SIZE];
cin.getline(str, SIZE);
cout << consonantscounts(str);
return 0;
}
int isVowel(char chr) {
chr = toupper(chr);
return (chr == 'A' || chr == 'E' || chr == 'I' || chr == 'O' || chr == 'U');
}
unsigned consonantscounts(const char *str) {
int contaConsonant = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (!isVowel(str[i]) && !isdigit(str[i]) && str[i] != ' ') {
contaConsonant++;
}
}
return contaConsonant;
}