|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2015
Messaggi: 1430
|
Un aiuto per il c
praticamente dovrei grazie a questa funzione:void surname2code(const char org_surname[],char coded_surname[]) riuscire a generare le prime 3 lettere del codice fiscale a partire da un cognome,questo avverrà però per mezzo dei casi di test con CUnit e non con l'interazione con l'utente.Per genereare queste 3 lettere avevo pensato ad una cosa del genere
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <assert.h> #include <ctype.h> #include <(il nome del file.h)> //le varie librerie mi servono per fare altre cose nel programma,non le ho messe per caso xD int i; int total; //(?) void surname2code(const char org_surname[],char coded_surname[]) { for(i=0,i<const char org_surname[],i++) total= const char org_surname[]; Non so se è corretto quello prima,ma arrivato a questo punto non so che fare,penso debba utilizzare l'altro vettore ma non ho idea di cosa fare,potreste darmi una mano? |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Da wikipedia:
Quote:
1) copia nell'ordine solo le consonanti, interrompe se total==3; 2) partendo dalla posizione successiva a quella raggiunta copia nell'ordine solo le vocali, interrompe se total==3; 3) inserisce ripetutamente "X", interrompe se total==3. Ultima modifica di Daniels118 : 15-05-2015 alle 15:34. |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Apr 2015
Messaggi: 1430
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2015
Messaggi: 1430
|
ma praticamente dovrei fare 3 while e 2 switch(uno per consonanti e l'altro per vocali)?se si prima di questi devo fare un for oppure no?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non c'è bisogno del for, i cicli devono essere 3 in totale, i while vanno bene.
Per capire se un carattere è una vocale o una consonante ti conviene scrivere una funzione così il codice risulta più leggibile. Tieni presente che se un carattere non è una vocale non vuol dire necessariamente che sia una consonante (e viceversa), infatti un cognome può contenere più parole, quindi può capitare anche uno spazio, apostrofi o altro. Inoltre le vocali possono anche avere un accento acuto o grave. Errata corrige: al punto due, devi partire sempre dalla prima vocale, non dalla posizione precedente, l'esempio su wikipedia è sbagliato. Edit: ho corretto l'esempio su wikipedia. Ultima modifica di Daniels118 : 15-05-2015 alle 15:39. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2015
Messaggi: 1430
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:09.