Sto creando un algoritmo che mi calcoli il codice fiscale. Sono nella prima parte del programma: il calcolo delle lettere del cognome. Ad esempio se inserisco ROSSI mi deve restituire RSS, se inserisco FIAT mi deve restituire FTI, se inserisco RE mi deve restituire REX; solo che non mi va e quando compilo parte un ciclo infinito. Non riesco a trovare errori e vi chiedo gentilmente un aiuto. Grazie.
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[])
{
char cognome [30], cognome_cod[4];
int i2=0;
printf("Inserire cognome: ");
scanf("%s", cognome);
if (strlen(cognome)==2) {
strcpy(cognome_cod,cognome);
cognome_cod[2]='x';
} else {
for (int i=0; i<strlen(cognome); i++) {
if (cognome[i]!='a' && cognome[i]!='e' && cognome[i]!='i' && cognome[i]!='o' && cognome!='u') {
cognome_cod[i2]=cognome[i];
i2++;
}
if (i2>2)
break;
}
if (strlen(cognome_cod==2)) {
for (int i=0; i<strlen(cognome); i++) {
if (cognome[i]!='a' || cognome[i]!='e' || cognome[i]!='i' || cognome[i]!='o' || cognome[i]!='u') {
cognome_cod[2]=cognome[i];
break;
}
}
}
}
printf("%s",cognome_cod);
}