Rubrica_Miglioria/Rubrica.cs
La Programmatrice Verde 7134c6d495 Nuova aggiunta voce
2025-09-23 21:57:31 +02:00

44 lines
1.7 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) {
Voce[] oldRubrica = this.vocidellarubrica;
Voce[] newRubrica = new Voce[oldRubrica.Length + 1];
Array.Copy(oldRubrica, newRubrica, oldRubrica.Length);
newRubrica[oldRubrica.Length] = p_nuovaVoce;
this.vocidellarubrica = newRubrica;
}
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;
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));
}
return !notFound ? $"Voce trovata:\nNome: {this.vocidellarubrica[i].GetNome()}\nNumero di telefono: {this.vocidellarubrica[i].Getnumeroditelefono()}" : $"Il nome {p_ricerca} non è stato trovato nella rubrica.";
}
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();
}
}
}