/* Nome: Mario Cognome: Montanari */ #include #define SIZE 100+1 using namespace std; int isAlpha(char c); int isNum(int c); int main(void) { char src[SIZE]; cin.getline(src, SIZE); if (strlen(src) != 16) { cout << "Codice fiscale incorretto!" << endl; } bool codiceFiscale = true; for (int i = 0; i < 16; i++) { if ((i < 6 && !isAlpha(src[i])) || (i >= 6 && i < 8 && !isNum(src[i])) || (i == 8 && !isAlpha(src[i])) || (i >= 9 && i < 11 && !isNum(src[i])) || (i == 11 && !isAlpha(src[i])) || (i >= 12 && i < 15 && !isNum(src[i])) || (i == 15 && !isAlpha(src[i]))) { codiceFiscale = false; } } if (codiceFiscale) { cout << "Codice fiscale corretto!" << endl; } else { cout << "Codice fiscale incorretto!" << endl; } return 0; } int isAlpha(char c) { return (c >= 'A' && c<= 'Z') || (c >= 'a' && c<= 'z'); } int isNum(int c) { return (c >= '0' && c <= '9'); }