Nella lezione precedente avevamo iniziato la stesura di una classe CPersona contenente anche il codice fiscale, che viene calcolato con i dati disponibili. In questa nuova lezione vedremo come estrapolare i caratteri, 3 dal nome e 3 dal cognome, che compongono i primi sei caratteri del codice fiscale. Se non lo avete fatto la volta scorsa vi suggerisco di leggervi questa mia pagina nella quale dico tutto sul codice fiscale. Implementiamo una funzione che restituisca i 3 caratteri dal nome ed i 3 caratteri dal cognome.
... private bool FindString(string strVal, char cVal) { foreach (char c in strVal) { if (c == cVal) return true; } return false; } private string ExtractChars(string strVal, bool bCognome) { string retValue = ""; string strVoc = "AaEeIiOoUu"; int numCon = 0; int numVoc = 0; for (int i = 0; i < strVal.Length; ++i) { if (!FindString(strVoc, strVal[i]) && strVal[i] != ' ') { retValue += strVal[i]; ++numCon; } if (numCon >= 3) { if (bCognome) { break; } else { for (int k = i + 1; k <= strVal.Length; ++k) { if (!FindString(strVoc, strVal[k]) && strVal[k] != ' ') { retValue += strVal[k]; string strTemp = retValue; retValue = strTemp.Substring(0, 1); retValue += strTemp.Substring(strTemp.Length - 2, 2); i = strVal.Length; break; } } } } } if (numCon < 3) { for (int i = 0; i < strVal.Length; ++i) { if (FindString(strVoc, strVal[i])) { retValue += strVal[i]; ++numVoc; } if ((numCon + numVoc) >= 3) break; } } if ((numCon + numVoc) < 3) { if ((numCon + numVoc) == 0) retValue = "***"; if ((numCon + numVoc) == 1) retValue = "***"; if ((numCon + numVoc) == 2) retValue += 'X'; } return retValue; } ...
Ho creato 2 metodi privati che ovviamente vanno inseriti nella nostra classe e penso siano abbastanza chiari, quindi studiate il codice riga per riga cercando di capire cosa ho fatto. Se qualcuno avesse in mente un altro procedimento o volesse cambiare qualcosa, potete farmelo sapere.
Se qualcuno avesse bisogno di maggiori informazioni o vuole richiedermi qualcosa può porre le sue domande nel forum dedicato a questo linguaggio.
<< Lezione Precedente – Inizio Corso – Indice Lezioni – Lezione Successiva >>
MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…
Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…
MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…
MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…
La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…