Programma codice fiscale

di il
2 risposte

Programma codice fiscale

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);
}

2 Risposte

  • Re: Programma codice fiscale

    Cognome_cod deve terminare per '\0' per poter essere considerata una stringa dalla printf("%s", cognome_cod);
  • Re: Programma codice fiscale

    Ho risolto: avevo dimenticato di chiudere una parentesi tonda
Devi accedere o registrarti per scrivere nel forum
2 risposte