38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
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();
|
|
}
|
|
}
|
|
} |