|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
Aiutino in C per il codice fiscale
Buongiorno esperti,
Sto apprendendo il linguaggio C a scuola e ci hanno assegnato un esercizio: calcolare le prime 6 cifre del codice fiscale. Le lettere sono maiuscole; trovate le istruzioni nel codice: Codice:
/*
* 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 e' vocale
int isvocali(carattere){
int i;
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){
int i;
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++){
risn=isvocali(nome[i]);
if(risn==0 && contatore<4){
codfiscale[contatore]=cognome[i];
contatore=contatore+1;
}
if(contatore>=3){
break;
}
if(i==strlen(cognome)-1 && contatore<4){
for(j=0;j<strlen(cognome);j++){
if(risn==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;strlen(nome);i++){
risn=isvocali(nome[i]);
}
*/
//Stampa della lista
for(i=0;i<strlen(codfiscale);i++){
printf("%c",codfiscale[i]);
}
//printf("%s",nomec);
getchar();
return 0;
}
Il problema? Il cognome lo dà sbagliato… (il nome lo farò più tardi). Any help? Grazie in anticipo :-)
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Mmm, non l'ho provato, però occhio qua:
Codice:
for(i=0;i<strlen(cognome);i++){
risn=isvocali(nome[i]);
if(risn==0 && contatore<4){
codfiscale[contatore]=cognome[i];
contatore=contatore+1;
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
che scemo è vero… ma come si spiega il punto interrogativo che arriva sempre in fondo?
Quote:
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) Ultima modifica di <B>Pietro<B> : 04-02-2013 alle 18:48. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Indenta bene sto codice, non si capisce una mazza
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#5 |
|
Member
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 risc=isvocali(cognome[i]); codfiscale[contatore]=cognome[i]; } if(contatore>=3){ break; } //Funzionamento ausiliario for(j=0;j<strlen(cognome);j++){ if(risc==1 && contatore<4){ codfiscale[contatore]=cognome[j]; } if(contatore<3){ contatore=contatore+1; } } strcat(nomec,nome); //Inserimento nome for(i=0;i<strlen(nome);i++){ risn=isvocali(nome[i]); //Funzionamento normale codfiscale[contatore]=nome[i]; } if (5<=contatore<7) { i++; codfiscale[contatore]=nome[i]; } } if(contatore>=6){ break; } //Funzionamento ausiliario for(j=0;j<strlen(nome);j++){ if(risn==1 && contatore<7){ codfiscale[contatore]=nome[j]; } if(contatore<6){ contatore=contatore+1; strcat(&x,codfiscale); }//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) |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Codice:
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;
}
}
Tra l'altro, perchè non usi una funzione unica per generare le prime 6 lettere del codice?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
Codice aggiornato:
Codice:
/*
* 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 1: sono vocali
return 1;
}
else{
//False 0: sono consonanti
return 0;
}
}
//Trasforma la stringa da minuscola in minuscola
int maiuscolo(stringa){
int i;
for(i=0;i<strlen(stringa);i++){
if(97<stringa[i]<122){
stringa[i]=stringa[i+32]
}
}
return stringa;
}
int main(){
//Introduzioni delle variabili
char nome[20],cognome[30],nomec[20],cognomec[30];
char codfiscale[6];
int i,j; //Variabili for
int risn,risc; //Verifica vocali/consonanti
int contatore=0;
char nomen[20],cognomen[30]; //Input iniziale
char x='X';
//Input
printf("Inserisci il tuo nome: ");
gets(nomen);
nome=maiuscolo(nomen);
printf("Inserisci il tuo cognome: ");
gets(cognomen);
cognome=maiuscolo(cognomen);
//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; //BREAK
}
//Funzionamento ausiliario: se finiscono le consonanti
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
if(contatore>2 && contatore<7){
for(i=0;i<strlen(nome);i++){
risn=isvocali(nome[i]);
//Funzionamento normale
if(risn==0 && contatore<7){ //Se consonanti
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
if (contatore>=5 && contatore<7 && risn==0) { //Se consonanti
i++;
if (contatore>4 && contatore<7 && risn==0) {
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
}
if(contatore>=6){
break; //BREAK
}
//Funzionamento ausiliario: se finiscono le consonanti
if(i==strlen(nome)-1 && contatore<7){
for(j=0;j<strlen(nome);j++){
if(risn==1 && contatore<7){ //Se vocali
codfiscale[contatore]=nome[j];
contatore=contatore+1;
}
if(contatore<6){
contatore=contatore+1;
strcat(&x,codfiscale);
}
}
}
}
strcat(cognomec,cognome);
}
//Stampa della lista
codfiscale=maiuscolo(codfiscale); //Funzione che non va D:
for(i=0;i<strlen(codfiscale);i++){
printf("%c",codfiscale[i]);
}
//The End
getchar();
return 0;
}
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Allora, vedo che non hai molto chiaro come funzionano le stringhe in C. E pare nemmeno le funzioni
Partiamo dalle funzioni: Una funzione deve essere definita così: Codice:
<tipo variabile di ritorno> nomefunzione(<tipo argomento1> argomento1,..,<tipo argomentoN> argomentoN) Codice:
void funzione(char* stringa )
{
//fai qualcosa
}
int main(void){
char stringa[20]
funzione(stringa)
return 0
}
Codice:
funzione(stringa) Il passaggio per riferimento implica che ogni modifica apporta alla variabile, si ripercuote anche sulla variabile nel main. Di conseguenza, cambiando stringa dentro funzione, le modifiche si troveranno automaticamente anche nel main. Nota che una scrittura alternativa per chiamare la funzione passandogli una stringa è: Codice:
funzione(&stringa[0]) Il codice che hai scritto ha parecchi errori in questo senso. Prova a riguardarlo dopo aver compreso quello che ti ho spiegato. Un'ultima nota, spesso si pensa che facendo una cosa del genere: Codice:
stringa2=stringa1 Per copiare il contenuto di stringa1 dentro stringa2 devi fare così ( se stringa1 e stringa2 hanno 20 elementi ): Codice:
for(i=0; i<20; i++) stringa2[i]=stringa1[i]; Spero di essere stato chiaro. Se hai dubbi, fatti sentire.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
ok ci sono grazie per queste dritte… però quando trasformo mi dà il codice ASCII…
Codice:
//Trasforma la stringa da minuscola in minuscola
int maiuscolo(carattere){
if(97<carattere<122){
carattere+=32;
}
return carattere;
}
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Cmq, se passi un carattere alla volta, fai prima a mettere char come tipo di valore di ritorno e passare un char come argomento.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
Quote:
return char carattere; ? Ma quindi alla funzione spedisco il valore ASCII e non il char?
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
itoa: http://www.cplusplus.com/reference/cstdlib/itoa/ Devi sapere che in C, se prendi un carattere e lo salvi in una variabile int, questo corrisponderà al numero ASCII. Quello che ti dicevo di fare è: Codice:
char maiuscolo(char carattere){
int n=0;
n=atoi(carattere);
if(n > 97 && n < 122)
n+=32;
return itoa(n);
}
La funzione di ritorna un carattere, non un intero. Non hai bisogno di convertire fuori dalla funzione. Il tutto, visto dal main è trasparente: entra un carattere minuscolo, esce il corrispondente maiuscolo.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
Codice:
//Trasforma la stringa da minuscola in minuscola
char maiuscolo(char carattere){
int n=0;
n=atoi(&carattere);
if(n > 97 && n < 122)
n+=32;
return itoa(n);
}
Mi segna tuttavia un altro errore: "Implicit declaration of function 'itoa' is invalid in C99". Why? P.S. Conosci per caso un buon sito dove spiega il concetto delle stringhe/funzioni/ASCII(nella gestione delle stringhe) in modo che possa riguardare tutti questi concetti?
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#14 | |||
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
È quindi ovvio che sia necessario passare l'indirizzo del carattere ad atoi e non il valore. Codice:
int atoi ( const char * str ); Quote:
Queste due funzioni si trovano in quella libreria. Quote:
Posso consigliarti, per studiare C, questo libro: Al Kelley, Ira Pohl - C: Didattica e Programmazione Io ho studiato su questo e l'ho trovato veramente ben fatto, spiega le cose in maniera banale per chi non ha mai fatto C. Invece, per quando sei un po' più esperto, questo è il libro che ogni programmatore di C che si rispetti deve avere in casa: The C Programming Language C'è anche la versione italiana.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|||
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
stdlib.h l'avevo già messo, ma la funzione itoa() non è più nello standard (c'è solo atomi stranamente)… Ci sono altre soluzioni fuorché scrivere milioni di if?
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Codice:
int main (int argc, const char * argv[])
{
char a;
int conv;
printf("Inserisci un numero:\n");
scanf("%d",&conv);
a=conv;
printf("carattere: %c\n",a);
return 0;
}
Prova questo piccolo codice per capire!
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
|
#17 | |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
ah ok ho capito se si può fare anche così…
CODICE FUNZIONE Codice:
//Trasforma la stringa da minuscola in minuscola
char maiuscolo(char carattere){
int n=0;
char a;
n=atoi(&carattere);
if(n > 97 && n < 122){
n+=32;
a=n;
return a;
}
}
Codice:
//Input
printf("Inserisci il tuo nome: ");
gets(nomen);
for (i=0; i<strlen(nomen); i++) {
nome[i]=nomen[i];
nome[i]=maiuscolo(nome[i]);
printf("%d\n",nome[i]);
}
Quote:
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
per caso mi hai riposto? Perché mi è arrivata la mail dicendomi che avevi scritto qualcosa ma non mi appare nulla sul forum…
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Allora, anzitutto mi devi scusare perchè ti ho detto una maestra asinata: atoi converte una stringa ascii da tipo char a intero. Questo funziona a patto che la stringa inserita sia un numero ( quindi i caratteri devono corrispondere al numero decimale ASCII, nello specifico nell'intervallo [48;57] ).
Ecco perchè non funziona. Cmq qui ti propongo l'alternativa: Codice:
char maiuscolo(char carattere){
int n=0;
char a;
n=carattere;
if(n >= 97 && n <= 122){
n-=32;
return n;
}
}
Inoltre, gli intervalli che hai messo devi metterli compresi. [97;122] e non (97;122) Inoltre, pensa a questa domanda: che succede se il carattere non è compreso nell'intervallo? Cosa ritorna la funzione maiuscolo? Ti chiedo ancora scusa per il disguido su atoi: era parecchio che non usavo quella funzione ( è parecchio che non uso C, diciamolo ) e non ricordavo bene lo stato delle cose...Fammi sapere.
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 165
|
Abbiamo risolto il problema della funzione! Tuttavia… printa anche il cognome uscendo dal limite dell'array! Infatti, stampa il codice fiscale in modo corretto (in maiuscolo
CODICE AGGIORNATO: Codice:
/*
* 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>
#define DIM 6
//Riceve un caratere e dice Vero se e' 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 1: sono vocali
return 1;
}
else{
//False 0: sono consonanti
return 0;
}
}
//Trasforma la stringa da minuscola in minuscola
char maiuscolo(char carattere){
int n=0;
n=carattere;
if(n>=97 && n<=122){
n-=32;
return n;
}
}
int main(){
//Introduzioni delle variabili
char nome[20],cognome[30];
char codfiscale[DIM]; //Output
int i,j; //Variabili for
int risn,risc; //Verifica vocali/consonanti
int contatore=0; //Contatore
char x='X';
//Input
printf("Inserisci il tuo nome: ");
gets(nome);
for (i=0; i<strlen(nome); i++) {
nome[i]=maiuscolo(nome[i]);
}
printf("Inserisci il tuo cognome: ");
gets(cognome);
for (i=0; i<strlen(cognome); i++) {
cognome[i]=maiuscolo(cognome[i]);
}
//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; //BREAK
}
//Funzionamento ausiliario: se finiscono le consonanti
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;
}
while(j==strlen(cognome)-1 && contatore<3){
contatore=contatore+1;
strcat(codfiscale,&x); //Inserisco X
}
}
}
}
//Inserimento nome
if(contatore>2 && contatore<7){
for(i=0;i<strlen(nome);i++){
risn=isvocali(nome[i]);
//Funzionamento normale
if(risn==0 && contatore<7){ //Se consonanti
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
if (contatore>=5 && contatore<7 && risn==0) { //Se consonanti
i++;
if (contatore>4 && contatore<7 && risn==0) {
codfiscale[contatore]=nome[i];
contatore=contatore+1;
}
}
if(contatore>=6){
break; //BREAK
}
//Funzionamento ausiliario: se finiscono le consonanti
if(i==strlen(nome)-1 && contatore<7){
for(j=0;j<strlen(nome);j++){
if(risn==1 && contatore<7){ //Se vocali
codfiscale[contatore]=nome[j];
contatore=contatore+1;
}
while(j==strlen(nome)-1 && contatore<6){
contatore=contatore+1;
strcat(codfiscale,&x); //Inserisco X
}
}
}
}
}
//Stampa della lista
for(i=0;i<strlen(codfiscale);i++){
printf("%c",codfiscale[i]);
}
//The End
getchar();
return 0;
}
Diciamo che è ora di comprare il libro, in modo da avere delle basi solide e soprattutto un riferimento…
__________________
Mac Mini 2006 Mac Mini 2009 iPod Touch 4G iPod Nano 6° Magic Mouse Apple Keyboard Apple Remote Control (white) Macbook Pro 15" (2012) Ultima modifica di <B>Pietro<B> : 07-02-2013 alle 16:25. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:44.












) e non ricordavo bene lo stato delle cose...








