Per calcolare la lettera di controllo, ovvero quella finale in un codice fiscale, ho le seguenti variabili :
codicefiscale[16] //in cui é contenuto un codice fiscale
lettere[40]={'a','b','c','d','e','f','g','h','i','j','k','l', 'm','n','o','p','q','r','s','t','u','v','w','x','y ','z','0','1','2','3','4','5','6','7','8','9'};
//non sono 40, comunque ho messo le lettere e i numeri
int numparilett[40]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1 9,20,21,22,23,24,25,0,1,2,3,4,5,6,7,8,9} //contiene tutti i valori che ha ogni lettera o numeri di posto pari nel codice fiscale. Ad esempio la a vale 0, la b 1, ecc.
numdisplett[40]={1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,1 4,16,10,22,25,24,23,1,0,5,7,9,13,15,17,19,21}; //Stessa cosa per i dispari
ho fatto così :
Praticamente sommo il valore di quelli di posizione dispari e di quelli pari..ma non mi da il valore giusto !!Potreste aiutarmi? ^^" grazie !codice://somma pari void funzcontrollo() { for(i=0;i<15;i++) { for(j=0;j<llettere;j++) { //if((lettere[j]==codicefiscale[i])||(numparilett[j]==codicefiscale[i])) if((codicefiscale[i]==lettere[j])||(codicefiscale[i]==numparilett[j])) { cpari=cpari+numparilett[j]; printf("%d , ",numparilett[j]); } i++; } } printf("\n %d \n",cpari); for(j=0;j<llettere;j++) { for(i=0;i<15;i++) { if((lettere[j]==codicefiscale[i])||(numparilett[j]==codicefiscale[i])) { cdisp=cdisp+numdisplett[j]; printf("%d , ",numdisplett[j]); } i++; } } printf("\n %d \n",cdisp); }

Rispondi quotando

