namespace Rubrica_Miglioria; class Rubrica { Voce[] voci; public Rubrica(int p_dimensione) { this.voci = new Voce[p_dimensione]; } public Voce[] GetVociRubrica() { return this.voci; } public void AddVociRubrica(Voce p_nuovaVoce, int p_contatore) { this.voci[p_contatore] = p_nuovaVoce; } public string Ricerca(string p_ricerca, bool p_tipologia, int p_contatore) { /* p_tipologia=true -> ricerca esatta p_tipologia=false -> ricerca non esatta */ bool notFound = true; string message = ""; int i = 0; for (; i < p_contatore && notFound; i++) { notFound = !(p_tipologia ? p_ricerca == this.voci[i].GetNome() : this.voci[i].GetNome().StartsWith(p_ricerca)); message = !notFound ? $"Voce trovata:\nNome: {this.voci[i].GetNome()}\nNumero di telefono: {this.voci[i].GetNumeroDiTelefono()}" : $"Il nome {(p_tipologia ? "" : "contenente")} {p_ricerca} non รจ stato trovato nella rubrica."; } return message; } public void StampaRubricaCompleta(int p_contatore) { for (int i = 0; i < p_contatore; i++) { Console.WriteLine($"Nome: {this.voci[i].GetNome()}"); Console.WriteLine($"Numero di telefono: {this.voci[i].GetNumeroDiTelefono()}"); Console.WriteLine(); } } }