Prosecuzione sistemazione dei controlli
This commit is contained in:
parent
03dfc24f00
commit
815fb9762e
93
Program.cs
93
Program.cs
@ -8,8 +8,8 @@ class Program {
|
||||
int scelta = 0;
|
||||
string nome = "";
|
||||
string numeroditelefono;
|
||||
bool check = false;
|
||||
bool check2 = false;
|
||||
bool rubricaEsiste = false;
|
||||
bool error;
|
||||
bool check3 = false;
|
||||
int contatore = 0;
|
||||
string nomeesatto;
|
||||
@ -19,12 +19,12 @@ class Program {
|
||||
string[] numeriditelefono = new string[DIMENSIONE_RUBRICA];
|
||||
Voce singolavoce = null;
|
||||
Voce[] voci = new Voce[DIMENSIONE_RUBRICA];
|
||||
Rubrica rubrica = null;
|
||||
Rubrica? rubrica = null;
|
||||
do {
|
||||
Console.WriteLine("1)Aggiungi nuova voce in rubrica");
|
||||
Console.WriteLine("2)Ricerca esatta per nome");
|
||||
Console.WriteLine("3)Ricerca approsimata per nome");
|
||||
Console.WriteLine("4)Stampa completa rubrice");
|
||||
Console.WriteLine("3)Ricerca approssimata per nome");
|
||||
Console.WriteLine("4)Stampa completa rubrica");
|
||||
Console.WriteLine("5)Esci");
|
||||
scelta = Convert.ToInt32(Console.ReadLine());
|
||||
switch (scelta) {
|
||||
@ -34,53 +34,48 @@ class Program {
|
||||
}
|
||||
else {
|
||||
do {
|
||||
check2 = false;
|
||||
string? message;
|
||||
error = true;
|
||||
Console.WriteLine("Inserisci il nome della voce che andrà nella rubrica telefonica");
|
||||
nome = Console.ReadLine().ToLower();
|
||||
nomi[contatore] = nome;
|
||||
check3 = VerificaDoppione(nome, nomi, contatore);
|
||||
if (contatore == 0) {
|
||||
|
||||
message = Controllo(nome, true, contatore, rubrica);
|
||||
|
||||
if (message != null) {
|
||||
Console.WriteLine(message);
|
||||
}
|
||||
else {
|
||||
error = false;
|
||||
}
|
||||
|
||||
}
|
||||
if (nome.Length > 40) {
|
||||
Console.WriteLine("il nome non può essere lungo più di 40 caratteri");
|
||||
}
|
||||
if (VerificaCorrettezza(nome, true)) {
|
||||
Console.WriteLine("il nome non può contenere dei numeri");
|
||||
}
|
||||
if (check3 == true) {
|
||||
Console.WriteLine("Questo nome esiste già nelle rubrica");
|
||||
}
|
||||
}
|
||||
while (nome.Length > 40 || check2 == true || check3 == true);
|
||||
while (error);
|
||||
do {
|
||||
check2 = false;
|
||||
string? message;
|
||||
error = true;
|
||||
Console.WriteLine("Inserisci il numero di telefono della voce che andrà nella rubrica telefonica");
|
||||
numeroditelefono = Console.ReadLine();
|
||||
numeroditelefono = numeroditelefono.ToLower();
|
||||
numeriditelefono[contatore] = numeroditelefono;
|
||||
check2 = VerificaCorrettezza(numeroditelefono, false);
|
||||
check3 = VerificaDoppione(numeroditelefono, numeriditelefono, contatore);
|
||||
if (numeroditelefono.Length > 20) {
|
||||
Console.WriteLine("il numero di telefono non può essere lungo più di 20 caratteri");
|
||||
numeroditelefono = Console.ReadLine().ToLower();
|
||||
|
||||
message = Controllo(nome, true, contatore, rubrica);
|
||||
|
||||
if (message != null) {
|
||||
Console.WriteLine(message);
|
||||
}
|
||||
if (check2 == true) {
|
||||
Console.WriteLine("il numero di telefono deve contenere solo numeri");
|
||||
}
|
||||
if (check3 == true) {
|
||||
Console.WriteLine("Questo numero di telefono esiste già nelle rubrica");
|
||||
else {
|
||||
error = false;
|
||||
}
|
||||
}
|
||||
while (numeroditelefono.Length > 20 || check2 == true || check3 == true);
|
||||
while (error);
|
||||
|
||||
singolavoce = new Voce(nome, numeroditelefono);
|
||||
voci[contatore] = singolavoce;
|
||||
rubrica = new Rubrica(voci);
|
||||
contatore++;
|
||||
check = true;
|
||||
rubricaEsiste = true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (check == false) {
|
||||
if (rubricaEsiste == false) {
|
||||
Console.WriteLine("devi prima aggiungere una voce in rubrica");
|
||||
}
|
||||
else {
|
||||
@ -103,7 +98,7 @@ class Program {
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (check == false) {
|
||||
if (rubricaEsiste == false) {
|
||||
Console.WriteLine("devi prima aggiungere una voce in rubrica");
|
||||
}
|
||||
else {
|
||||
@ -125,7 +120,7 @@ class Program {
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (check == false) {
|
||||
if (rubricaEsiste == false) {
|
||||
Console.WriteLine("devi prima aggiungere una voce in rubrica");
|
||||
}
|
||||
else {
|
||||
@ -140,7 +135,7 @@ class Program {
|
||||
}
|
||||
}
|
||||
while (scelta != 5);
|
||||
Console.WriteLine("Chiusura effettuta con successo");
|
||||
Console.WriteLine("Chiusura effettuata con successo");
|
||||
}
|
||||
|
||||
static bool VerificaCorrettezza(string p_stringa, bool p_tipologia) {
|
||||
@ -161,21 +156,23 @@ class Program {
|
||||
return check;
|
||||
}
|
||||
|
||||
static bool Controllo(string p_stringa, bool p_tipologia, int p_contatore) {
|
||||
bool ritorno = true;
|
||||
static string? Controllo(string p_stringa, bool p_tipologia, int p_contatore, Rubrica? p_rubrica) {
|
||||
/*
|
||||
tipologia=true -> Controllo validità nome
|
||||
tipologia=false -> Controllo validità numero di telefono
|
||||
*/
|
||||
string? ritorno = null;
|
||||
const int LUNGHEZZA_NOME = 40;
|
||||
const int LUNGHEZZA_TELEFONO = 20;
|
||||
if (p_stringa.Length > (p_tipologia ? LUNGHEZZA_NOME : LUNGHEZZA_TELEFONO)) {
|
||||
Console.WriteLine($"Il {(p_tipologia ? "nome" : "numero di telefono")} non può essere lungo più di {(p_tipologia ? LUNGHEZZA_NOME : LUNGHEZZA_TELEFONO)} caratteri");
|
||||
ritorno = false;
|
||||
ritorno = $"Il {(p_tipologia ? "nome" : "numero di telefono")} non può essere lungo più di {(p_tipologia ? LUNGHEZZA_NOME : LUNGHEZZA_TELEFONO)} caratteri";
|
||||
}
|
||||
if (VerificaCorrettezza(p_stringa, p_tipologia)) {
|
||||
Console.WriteLine(p_tipologia ? "Il nome non può contenere numeri" : "Numero di telefono non valido");
|
||||
ritorno = false;
|
||||
ritorno = p_tipologia ? "Il nome non può contenere numeri" : "Numero di telefono non valido";
|
||||
}
|
||||
if (p_contatore != 0) {
|
||||
if (p_stringhe.Contains(p_stringa)) {
|
||||
Console.WriteLine($"Questo {(p_tipologia ? "nome" : "numero di telefono")} esiste già nelle rubrica.");
|
||||
if (p_contatore != 0 && p_rubrica != null) {
|
||||
if (p_rubrica.Contains(p_stringa)) {
|
||||
ritorno = $"Questo {(p_tipologia ? "nome" : "numero di telefono")} esiste già nella rubrica.";
|
||||
}
|
||||
}
|
||||
return ritorno;
|
||||
|
||||
35
Rubrica.cs
35
Rubrica.cs
@ -1,56 +1,45 @@
|
||||
namespace Rubrica_Miglioria;
|
||||
|
||||
class Rubrica {
|
||||
Voce[] vocidellarubrica;
|
||||
Voce[] vocidellarubrica;
|
||||
|
||||
public Rubrica(Voce[] p_vocidellarubrica)
|
||||
{
|
||||
public Rubrica(Voce[] p_vocidellarubrica) {
|
||||
this.vocidellarubrica = p_vocidellarubrica;
|
||||
}
|
||||
|
||||
public void Setvocidellarubrica(Voce[] p_vocidellarubrica)
|
||||
{
|
||||
public void Setvocidellarubrica(Voce[] p_vocidellarubrica) {
|
||||
this.vocidellarubrica = p_vocidellarubrica;
|
||||
}
|
||||
public Voce[] GetVocidellarubrica()
|
||||
{
|
||||
public Voce[] GetVocidellarubrica() {
|
||||
return this.vocidellarubrica;
|
||||
}
|
||||
public string EsistenzaNomeEsatto(string p_nomeesatto, int p_contatore)
|
||||
{
|
||||
public string EsistenzaNomeEsatto(string p_nomeesatto, int p_contatore) {
|
||||
string nomedellarubrica = "";
|
||||
string numeroditelefonodellarubrica = "";
|
||||
string messaggio = "non esiste il nome " + p_nomeesatto + " all'interno della rubrica";
|
||||
for (int i = 0; i < p_contatore; i++)
|
||||
{
|
||||
for (int i = 0; i < p_contatore; i++) {
|
||||
nomedellarubrica = this.vocidellarubrica[i].GetNome();
|
||||
if (p_nomeesatto == nomedellarubrica)
|
||||
{
|
||||
if (p_nomeesatto == nomedellarubrica) {
|
||||
messaggio = "esiste il nome " + p_nomeesatto + " all'interno della rubrica" + "e il suo numero di telefono è " + (numeroditelefonodellarubrica = this.vocidellarubrica[i].Getnumeroditelefono());
|
||||
break;
|
||||
}
|
||||
}
|
||||
return messaggio;
|
||||
}
|
||||
public void EsistenzaNomeApprosimato(string p_nomeapprosimato, int p_contatore)
|
||||
{
|
||||
public void EsistenzaNomeApprosimato(string p_nomeapprosimato, int p_contatore) {
|
||||
string nomedellarubrica = "";
|
||||
string numeroditelefonodellarubrica = "";
|
||||
for (int i = 0; i < p_contatore; i++)
|
||||
{
|
||||
for (int i = 0; i < p_contatore; i++) {
|
||||
nomedellarubrica = this.vocidellarubrica[i].GetNome();
|
||||
if (nomedellarubrica.StartsWith(p_nomeapprosimato))
|
||||
{
|
||||
if (nomedellarubrica.StartsWith(p_nomeapprosimato)) {
|
||||
Console.WriteLine("esiste il nome " + nomedellarubrica + " e il suo numero di telefono è: " + (numeroditelefonodellarubrica = this.vocidellarubrica[i].Getnumeroditelefono()));
|
||||
}
|
||||
}
|
||||
}
|
||||
public void StampaRubricaCompleta(int p_contatore)
|
||||
{
|
||||
public void StampaRubricaCompleta(int p_contatore) {
|
||||
string nomedellarubrica = "";
|
||||
string numeroditelefonodellarubrica = "";
|
||||
for (int i = 0; i < p_contatore; i++)
|
||||
{
|
||||
for (int i = 0; i < p_contatore; i++) {
|
||||
Console.WriteLine("nome: " + (nomedellarubrica = this.vocidellarubrica[i].GetNome()));
|
||||
Console.WriteLine("numero di telefono: " + (numeroditelefonodellarubrica = this.vocidellarubrica[i].Getnumeroditelefono()));
|
||||
Console.WriteLine();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user