ESERCIZIO: CODICE FISCALE
Esempio: la funzione calcolaCognome
void calcolaCognome(char s[], char c[]);
- s rappresenta la stringa contenente il cognome (ingresso)
- c rappresenta il codice da calcolare (uscita)
Specifica di I°livello
- finché in s ci sono consonanti, e purché non ne abbiamo già trovate tre, copiare la consonante k-esima in c[k-1] (1_k_3)
- se dopo questa operazione non vi sono ancora tre conso-nanti (k<3), ripartire dall’inizio cercando le vocali: finché in s ci sono vocali, e fintanto che k<3, copiare la vocale i-esima in c[k-1] (1_k_3)
- se dopo di ciò manca ancora una lettera (cosa possibile solo con i cognomi di due sole lettere), porre c[2] = ‘X’
Per semplificare i punti (1) e (2), conviene scandire la stringa carattere per carattere,e porre in c[k] le consonanti, accantonandoin un array voc[nv] le vocali.