PDA

Visualizza la versione completa : [C++] Calcolo del codice fiscale


Pippo64
07-04-2012, 18:32
Ciao! Per scuola devo fare il programma che mi calcoli il codice fiscale ma non riesco a uscirne fuori :dh˛: . Mi rivolgo a voi esperti programmatori per aiutarmi a finirlo! Aiutatemi GRAZIE :sadico:
Sono arrivato qui:


#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
char cognome[50];
char nome[50];
char codice [16];
int conta=0,l;
int j=0,i=0;
int cons=0;
int c1,somma=0;
int data[5];
cout << "Inserisci il cognome: ";
cin >> cognome;
l=strlen(cognome);
somma+=l;
for( i = 0; i < l; i++ )
{
if( cognome[ i ] != 'a' && cognome[ i ] != 'e' && cognome[ i ] != 'i' && cognome[ i ] != 'o' && cognome[ i ] != 'u' )
{
codice[ j ] = cognome[ i ];
j++;
conta++;
}
if( conta == 3 )
{
break;
}
}
for( i = 0; i < l; i++ )
{
if( cognome[ i ] == 'a' || cognome[ i ] == 'e' || cognome[ i ] == 'i' || cognome[ i ] == 'o' || cognome[ i ] == 'u' )
{
codice[ j ] = cognome[ i ];
j++;
conta++;
}
if( conta == 3 )
{
break;
}
}

if( conta != 3 )
{
while( conta != 3 )
{
codice[ j ] = 'x';
j++;
conta++;
}
}

for( j = 0; j < conta; j++ )
{
cout << codice[ j ] << " ";
}
cout << endl;
l = 0;
conta = 0;
cout << "Inserisci il nome: ";
cin >> nome;
l = strlen( nome );
somma+=l;
for( i = 0; i < l; i++ )
{
if( nome[ i ] != 'a' && nome[ i ] != 'e' && nome[ i ] != 'i' && nome[ i ] != 'o' && nome[ i ] != 'u' )
{
cons++;
}
}
if( cons >= 4 )
{
for( i = 0; i < l; i++ )
{
if( nome[ i ] != 'a' && nome[ i ] != 'e' && nome[ i ] != 'i' && nome[ i ] != 'o' && nome[ i ] != 'u' )
{
codice[ j ] = nome[ i ];
j++;
conta++;
c1 = i;
}
if( conta == 2 )
{
break;
}
}
conta-=1;
j-=1;
c1+=1;
for( i = c1; i < l; i++ )
{
if( nome[ i ] != 'a' && nome[ i ] != 'e' && nome[ i ] != 'i' && nome[ i ] != 'o' && nome[ i ] != 'u' )
{
codice[ j ] = nome[ i ];
j++;
conta++;
}
if( conta == 3 )
{
break;
}
}
}
if( cons == 3 )
{
for( i = 0; i < l; i++ )
{
if( nome[ i ] != 'a' && nome[ i ] != 'e' && nome[ i ] != 'i' && nome[ i ] != 'o' && nome[ i ] != 'u' )
{
codice[ j ] = nome[ i ];
j++;
conta++;
}
if( conta == 3 )
{
break;
}
}
}
if( cons == 2 )
{
for( i = 0; i < l; i++ )
{
if( nome[ i ] != 'a' && nome[ i ] != 'e' && nome[ i ] != 'i' && nome[ i ] != 'o' && nome[ i ] != 'u' )
{
codice[ j ] = nome[ i ];
j++;
conta++;
}
}
for( i = 0; i < l; i++ )
{
if( nome[ i ] == 'a' && nome[ i ] == 'e' && nome[ i ] == 'i' && nome[ i ] == 'o' && nome[ i ] == 'u' )
{
codice[ j ] = nome[ i ];
j++;
conta++;
}
if( conta == 3 )
{
break;
}
}
}
if(cons==1)
{
for(i=0;i<l;i++)
{
if(nome[i]!='a'&&nome[i]!='e'&&nome[i]!= 'i'&&nome[i]!='o'&&nome[i]!='u')
{
codice[j]=nome[i];
j++;
conta++;
}
}
for(i=0;i<l;i++)
{
if(nome[i]=='a'||nome[i]=='e'||nome[i]=='i'||nome[i]=='o'||nome[i]=='u')
{
codice[j] = nome[i];
j++;
conta++;

}

if(conta==3)
{
break;
}

}

}
if(cons==0)
{
for(i=0;i<l;i++)
{
codice[j] =nome[i];
cout<<codice[j];
j++;
conta++;
if(conta==2)
{
break;
}
}
cout<<"x";
}
while(conta!= 3)
{
codice[j]='x';
}

for(j=0;j<6;j++)
{
cout<<codice[j]<<" ";
}[PHP]

Who am I
07-04-2012, 18:52
Prima di tutto usa i tag code ed indenta il codice.
Secondo, Ŕ come se a un muratore gli dai una casa mezza costruita e gli dici di finirla, che ne sa lui di come va fatta? Allora qual'Ŕ lo scopo del tuo codice, che problema deve risolvere?
Terzo, nessuno ti finirÓ il codice, devi provare te a farlo e indicare eventuali errori.

PS: Ho editato il messaggio per farti capire meglio quale era il problema.

Pippo64
07-04-2012, 18:55
LOL
A parte gli scherzi mi serve un aiuto, lo devo consegnare entro giovedý 12! :cry:

Who am I
07-04-2012, 20:25
Ma Ŕ illegibile se non lo indenti.Prova almeno a dire che errore ti da.

Pippo64
07-04-2012, 20:52
Fino a qui Ŕ giusto, non riesco a trasformare la data di nascita e il sesso nei valori anagrafici

alka
08-04-2012, 15:14
Per generare un codice fiscale valido, serve anche un database dei comuni con i relativi codici. :stordita:

marandavide
08-04-2012, 20:01
Originariamente inviato da Pippo64
Fino a qui Ŕ giusto, non riesco a trasformare la data di nascita e il sesso nei valori anagrafici
Non ho capito se Ŕ questo il tuo problema, ma prova a guardare qui http://it.wikipedia.org/wiki/Codice_fiscale#Generazione_del_codice_fiscale
Poi fai un cout dove chiedi il giorno di nascita, uno per il mese e uno per l'anno; gli fai eseguire i calcoli per ottenere il numero o la lettera e poi li inserisci nel codice fiscale

Loading