Rubrica_Miglioria/Rubrica.cs
La Programmatrice Verde 36801822d8 Correzione crash
2025-09-23 22:57:40 +02:00

42 lines
1.6 KiB
C#

namespace Rubrica_Miglioria;
class Rubrica {
Voce[] vocidellarubrica;
public Rubrica(int p_dimensione) {
this.vocidellarubrica = new Voce[p_dimensione];
}
public void Setvocidellarubrica(Voce[] p_vocidellarubrica) {
this.vocidellarubrica = p_vocidellarubrica;
}
public Voce[] GetVocidellarubrica() {
return this.vocidellarubrica;
}
public void AddVocidellarubrica(Voce p_nuovaVoce, int p_contatore) {
this.vocidellarubrica[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.vocidellarubrica[i].GetNome() : this.vocidellarubrica[i].GetNome().StartsWith(p_ricerca));
message = !notFound ? $"Voce trovata:\nNome: {this.vocidellarubrica[i].GetNome()}\nNumero di telefono: {this.vocidellarubrica[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.vocidellarubrica[i].GetNome()}");
Console.WriteLine($"Numero di telefono: {this.vocidellarubrica[i].Getnumeroditelefono()}");
Console.WriteLine();
}
}
}