static void Main(string[] args) { string nome, cognome, data, comune, sex; Console.WriteLine("Programma di Calcolo del Codice Fiscale per Stato Italiano." + "\nRivisto e approvato da un vero funzionario anagrafico!\n" + "NB Non copre i casi di omocodia.\n"); #region inputUser Console.WriteLine("Ciao, inserisci per favore il tuo nome, senza l'uso di accenti:"); do { nome = Console.ReadLine(); if (nome == "" || !(nome.All(c => Char.IsLetter(c) || c == ' ' || c == '\''))) { Console.WriteLine("Dati non validabili. Riprova."); } } while (nome == "" || !(nome.All(c => Char.IsLetter(c) || c == ' ' || c == '\''))); nome = nome.Replace(" ", "").Replace("'", ""); Console.WriteLine("Ciao, inserisci per favore il tuo cognome, senza l'uso di accenti:"); do { cognome = Console.ReadLine(); if (cognome == "" || !(cognome.All(c => Char.IsLetter(c) || c == ' ' || c == '\''))) { Console.WriteLine("Dati non validabili. Riprova."); } } while (cognome == "" || !(cognome.All(c => Char.IsLetter(c) || c == ' ' || c == '\''))); cognome = cognome.Replace(" ", "").Replace("'", ""); Console.WriteLine("Ciao, inserisci per favore la tua data di nascita in questo formato: dd/mm/yyyy:"); CultureInfo itIT = new CultureInfo("it-IT"); DateTime date = new DateTime(); do { data = Console.ReadLine(); if (!(DateTime.TryParseExact(data, "dd/MM/yyyy", itIT, DateTimeStyles.None, out date))) { Console.WriteLine("Dati non validabili. Riprova."); } } while (!(DateTime.TryParseExact(data, "dd/MM/yyyy", itIT, DateTimeStyles.None, out date))); Console.WriteLine("Ciao, inserisci per favore il tuo comune o la nazione di nascita:"); do { comune = Console.ReadLine().ToUpper(); if (comune == "" || !(comune.All(c => Char.IsLetter(c) || c == ' ' || c == '\'' || c == '-'))) { Console.WriteLine("Dati non validabili. Riprova."); } } while (comune == "" || !(comune.All(c => Char.IsLetter(c) || c == ' ' || c == '\'' || c == '-'))); comune = comune.Replace("'", "").Replace("-", ""); Console.WriteLine("Ciao, inserisci per favore il tuo gender, scrivendo M or F:"); do { sex = Console.ReadLine().ToUpper(); if (sex == "" || (sex != "M" && sex != "F")) { Console.WriteLine("Dati non validabili. Riprova."); } } while (sex == "" || (sex != "M" && sex != "F")); #endregion Utente u = new Utente(nome, cognome, date, comune, sex); u.Print(); CalcoloCF.Calcolo(u); Console.Read(); }