View Single Post
Old 04-02-2013, 18:56   #5
<B>Pietro<B>
Member
 
L'Avatar di <B>Pietro<B>
 
Iscritto dal: Oct 2009
Messaggi: 165
/*
* Esercizio CODICE FISCALE:
* Cognome:
* -le prime 3 conosonanti
* -se non hai cononanti metti le vocali
* -se non hai vocali la terza lettera e' una X Es(YEX)
*
*
* Nome:
* -1∞,2∞,4∞ consonanti se ne ha 3
* -1∞,2∞,3∞ cononanti se non ha la quarta
*
* Created by Pietro on 02/02/2013.
* Copyright 2013. All rights reserved.
*
*/

#include <stdio.h>
#include<string.h>

//riceve un caratere e dice Vero se Ë vocale
int isvocali(carattere){
if(carattere=='A' ||carattere=='E'|| carattere=='I' || carattere=='O' || carattere=='U'||carattere=='a'|| carattere=='e'|| carattere=='i' ||carattere=='o' || carattere=='u'){
//True: sono vocali
return 1;
}
else{
//False: sono consonanti
return 0;
}
}

//Trasforma il carattere minuscolo in minuscolo
int maiuscolo(carattere){
if(97<carattere<122){
carattere=carattere+32;
}
}

int main(){

//Introduzioni delle variabili
char nome[20],cognome[30],nomec[20],cognomec[30];
char codfiscale[6];
int i,j,risn,risc;
int contatore=0;
char x='X';

//Input
printf("Inserisci il tuo nome: ");
gets(nome);

printf("Inserisci il tuo cognome: ");
gets(cognome);
//Inserimento cognome
for(i=0;i<strlen(cognome);i++){
risc=isvocali(cognome[i]);
//Funzionamento normale
if(risc==0 && contatore<4){
codfiscale[contatore]=cognome[i];
contatore=contatore+1;
}
if(contatore>=3){
break;
}
//Funzionamento ausiliario
if(i==strlen(cognome)-1 && contatore<4){
for(j=0;j<strlen(cognome);j++){
if(risc==1 && contatore<4){
codfiscale[contatore]=cognome[j];
contatore=contatore+1;
}
if(contatore<3){
contatore=contatore+1;
strcat(&x,codfiscale);
}
}
}
}
strcat(nomec,nome);
//Inserimento nome
for(i=0;i<strlen(nome);i++){
risn=isvocali(nome[i]);
//Funzionamento normale
if(risn==0 && contatore<6){
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
if (5<=contatore<7) {
i++;
if (5<=contatore<7 && risn==0) {
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
}
if(contatore>=6){
break;
}
//Funzionamento ausiliario
if(i==strlen(nome)-1 && contatore<7){
for(j=0;j<strlen(nome);j++){
if(risn==1 && contatore<7){
codfiscale[contatore]=nome[j];
contatore=contatore+1;
}
if(contatore<6){
contatore=contatore+1;
strcat(&x,codfiscale);
}
}
}
}
strcat(cognomec,cognome);
//Stampa della lista
for(i=0;i<strlen(codfiscale);i++){
printf("%c",codfiscale[i]);

}

//The End
getchar();
return 0;
}

Ho indentato solo una parte perché l'indentamento non lo dà in automatico
__________________
 Mac Mini 2006  Mac Mini 2009  iPod Touch 4G  iPod Nano 6°  Magic Mouse  Apple Keyboard  Apple Remote Control (white)  Macbook Pro 15" (2012) 
<B>Pietro<B> è offline   Rispondi citando il messaggio o parte di esso