From 997d11444671ba8a04f9091ac68bf095443c221f Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Thu, 24 Jul 2025 16:07:54 +0200 Subject: [PATCH] Opzioni 2 e 3 --- Program.cs | 76 +++++++++++++++--- Voce.cs | 4 + .../vacanzeEstive_rubricaTelefonica.dll | Bin 10752 -> 11264 bytes .../vacanzeEstive_rubricaTelefonica.pdb | Bin 13104 -> 13612 bytes .../ref/vacanzeEstive_rubricaTelefonica.dll | Bin 6144 -> 6144 bytes .../vacanzeEstive_rubricaTelefonica.dll | Bin 6144 -> 6144 bytes ...zeEstive_rubricaTelefonica.AssemblyInfo.cs | 2 +- ...rubricaTelefonica.AssemblyInfoInputs.cache | 2 +- .../vacanzeEstive_rubricaTelefonica.dll | Bin 10752 -> 11264 bytes .../vacanzeEstive_rubricaTelefonica.pdb | Bin 13104 -> 13612 bytes 10 files changed, 70 insertions(+), 14 deletions(-) diff --git a/Program.cs b/Program.cs index 24f054f..c8c52fd 100644 --- a/Program.cs +++ b/Program.cs @@ -28,13 +28,30 @@ class Program { Pausa(); break; case 2: + if (rubrica[0] == null) { + Console.WriteLine("Errore: rubrica vuota."); + } + else { + RicercaEsatta(rubrica); + } Pausa(); break; case 3: + if (rubrica[0] == null) { + Console.WriteLine("Errore: rubrica vuota."); + } + else { + Ricerca(rubrica); + } Pausa(); break; case 4: - MostraRubrica(rubrica); + if (rubrica[0] == null) { + Console.WriteLine("Errore: rubrica vuota."); + } + else { + MostraRubrica(rubrica); + } Pausa(); break; default: @@ -69,8 +86,8 @@ class Program { const int LUNGHEZZA_TELEFONO = 20; const string TELEFONO = "^(?:\\(?\\+?\\d{1,3}\\)?|\\(?00\\d{1,3}\\)?)?[\\s-]?\\d{3}[\\s-]\\d{3}[\\s-]\\d{4}$"; const string EMAIL = "^[\\w.-]+@([\\w-]+\\.)+[\\w-]{2,4}$"; - const string CONFERMA = "[SsYy]"; - const string NEGAZIONE = "[Nn]"; + const string CONFERMA = "[SsYy]{1}"; + const string NEGAZIONE = "[Nn]{1}"; string[] voce; do { @@ -226,14 +243,9 @@ class Program { } static void MostraRubrica(Voce[] p_rubrica) { - if (p_rubrica[0] == null) { - Console.WriteLine("Errore: rubrica vuota."); - } - else { - for (int i = 0; i < p_rubrica.Length && p_rubrica[i] != null; i++) { - Console.WriteLine($"Voce n. {i + 1}:"); - p_rubrica[i].MostraVoce(); - } + for (int i = 0; i < p_rubrica.Length && p_rubrica[i] != null; i++) { + Console.WriteLine($"Voce n. {i + 1}:"); + p_rubrica[i].MostraVoce(); } } @@ -241,7 +253,7 @@ class Program { bool esiste = false; for (int i = 0; i < p_rubrica.Length && p_rubrica[i] != null && !esiste; i++) { for (int j = 2; j < p_voce.Length && !esiste; j++) { - if (p_voce[j] == p_rubrica[i].GetVoceAsArray()[j]) { + if (p_voce[j] == p_rubrica[i].GetVoceAsArray()[j] && p_voce[j] != "") { esiste = true; } } @@ -249,4 +261,44 @@ class Program { return esiste; } + + static void RicercaEsatta(Voce[] p_rubrica) { + string ricerca; + do { + Console.Write("Inserire il nome da cercare: "); + ricerca = Console.ReadLine(); + if (string.IsNullOrEmpty(ricerca)) { + Console.WriteLine("Errore: nome vuoto."); + Pausa(); + } + } + while (string.IsNullOrEmpty(ricerca)); + + for (int i = 0; i < p_rubrica.Length && p_rubrica[i] != null; i++) { + if (p_rubrica[i].GetNome() == ricerca) { + Console.WriteLine("Corrispondenza trovata:"); + p_rubrica[i].MostraVoce(); + } + } + } + + static void Ricerca(Voce[] p_rubrica) { + string ricerca; + do { + Console.Write("Inserire il termine da cercare: "); + ricerca = Console.ReadLine(); + if (string.IsNullOrEmpty(ricerca)) { + Console.WriteLine("Errore: nome vuoto."); + Pausa(); + } + } + while (string.IsNullOrEmpty(ricerca)); + + for (int i = 0; i < p_rubrica.Length && p_rubrica[i] != null; i++) { + if (p_rubrica[i].GetNome().Contains(ricerca)) { + Console.WriteLine("Corrispondenza trovata:"); + p_rubrica[i].MostraVoce(); + } + } + } } diff --git a/Voce.cs b/Voce.cs index 5ef7439..19f5c5b 100644 --- a/Voce.cs +++ b/Voce.cs @@ -29,4 +29,8 @@ class Voce { public string[] GetVoceAsArray() { return [this.nome, this.cognome, this.telefono, this.cellulare, this.email, this.indirizzo]; } + + public string GetNome() { + return this.nome; + } } \ No newline at end of file diff --git a/bin/Debug/net9.0/vacanzeEstive_rubricaTelefonica.dll b/bin/Debug/net9.0/vacanzeEstive_rubricaTelefonica.dll index a6435753c004f2cc335037e0a8271e3ff77c3ace..509b6fe2f19bb9a606d3a1d392a12396b491145c 100644 GIT binary patch delta 3271 zcmbtWeQaA-6+ibq`#pcePF`MOJ0Fdmk1cNOq_&eRO-GlqtV>I>Bu%@LvX0ep(kW`1 zq%TReLWhgCbuCPx;esI1Kx+qr6*Luvj!qR)nP}IF39Umy5UOfbt8PLA!ax(#q?X^k zcHBgC`~gq8KcDlv=bm%!z31NRL)#AZA3IWY>iYCi%6{)s6}efAC(Q#v-hWzs71=9ly$|LN#rm z@ohp=$WFgrP1ICG#Gs>T{Hwtj?^SHdUdFd8>9ifZNTCw#5wrtnYhM!ZDnNJKmG!ye5itAo*aIA6MnI7ts{!Y*qb*^{-^4DD{VX??kITh>@N z^t&0`mfM=vR4#5NwFuEw-@Wu7JYB^&-!0X27>;#6x^??@9j3qv0F?C5dz+XKGV3Pm zdwg6iDjq`^Ox2(w(_Un1MW#;Hdwf={53E)&QJu&`tbP1#+baHvYO*@~5*%8%G$fv44F?uu5p3$bhb@3vw#&UJgRZovjaOf+Z& zbJ6r%v?uh{p8Fh29w;)zzpXc?D@jouPQzx{4b9LeobY+V8eL}QA?w5)mFmchsWgbq z!3i?3Ly=A@WI?AtT#WTEWY&T(&TJLa{QcP)VAcoA_;3KWawY?$XmevYt>T3F`(2tc zJ-o&NuIQE;VZJ;^{fRmea6bZ~h($o3JJLgeyhwsn$DE?ijkz(@F&8d_&uBh4xx?Xd zsPN!%^0>1kZ8L23XG!<>yLA!4jd4*8CkR)KPaOLCSmliICYquUX$%;Cc)-$&wvKM(@@OdIJQk-*Rxa`uJCi63qN7P5ww%j;jkeNO? z{rw(iX8z9X{AFrq#o_+{lG=6GtTb(G6{hk(CRL?`D=?bs79jBFoy}>P*!LCe70F_ERIj%ICSM<1(gtO+b45t2<1e{t*1w1Zs=q?yK*%Us_0~yic=X8$F`p&}cgh)sQL6P%rt6bJ&HyFq9dblmoC9r|sRL^6;bwyyEI;gtn zI0^Z;;9c|&$qxg)bVEJPuer_iFO@=CkK{yJ1vE_=%?bT2dINY#qD>X@O(}Cl$oXJ; zLt-j3^p{{mRjpVhxW`)O7?LkHzfFydHUMjK$G z$onKCrj*Ps7=cMVIKoz$n3X5()w$lu%S0j(=q)wHgj6`ZBKo_kB7EoMbtHjSr z+$?d6#2pfoKt{vVnO2KwACzJ&V~rXHE>IM>DDg6!%_6O4FdwVy=oNZOd6JI8eh=^& zr2x1a_xJl%jWld*}}=CFPWqOR0^%PT!;#=@gyj z9&dHy>j)}7JTAHKb()j%O76HgC$xs1;wf)WY2R>a$Vw%tH#s$tq^!1aA~`w9U-NFW zcMMH-kIn1(e^T`JvC+xo@F;)R7_Ar^e`53K(7vhU$nfL=+C0%cH8Rp;ZQMH!jcER{ z!cB~a${OZhHb2(*&r3&mcbSjf&y)UA9xHOClN7>ahR6aYfkU(o4ApLgY|&Vb8HKzT zy&=@n6y!;?2ISr@Z7gi<1dT%;#bY@H{1Uu{U?qI)hdhb44wr0~ Y028pOn)UR54yn>WILV>2=R-vdM&g#Z8m delta 2811 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 SW$eVDc!ihAC4EM(M1KN%1Lqb1 delta 1036 zcmZuwYitx%6#mYc-JRWTX}7hlY1lS33zl_X6gCynq)DMrfy4(cq_zgzLJbtbP!cGT z?nqM~31Hi42u67{#yCIJ*en>5#uyTaBBIgskM)Pdh-sow4bd3I$9J1*NOWetbI#07vXte;J(Q+HHf&RnBUz>YyHOJS; z$1>#2J9l@Hx6e*Id+hS7t>>=nimf|)&tqq1u1}5(N6SKdS4`9rrG$Uv{Y0e^!$gD# z7?H3?{%AsikwAQ#US~HJq z`nvLEYxt#8m)0!qd9V9d_xg#eZwxG{>axN=cY3pD$LvkJySJsg`|J!PP#oD>H!vOj zW_{7RlS^Ot^NVjs?_2%E#i3(|FV`1-{3JC!5juFIaNbugbq|GJX`Bsw+&lHzkl0eV>HlT1I#=B96Pwdf1bh+YcG(|6WoZJ+QU-nh_3re+ zcE3x0+2S1*&lT?-@y>~NLA)vPu8DUmB1>eIIL8+q8dpBf+m)s~jn#sc+8IW<2`<_{ z*vqoX{e=bT6;|*rZ3-i&D6}>llw=#bS)6MPf@*DGCz(FW3X+-&o0V)igE#@6q1Mt!&!rCei2QBvN?(Ar-v3E3cy2Ys$xom0B1 gO5CyR@{0c}mHSmTQNe#rYVHd~WqGg>UT@P6-mfA+oIVHWHK`~L0V#rgJk zi+5vUW^s93#FP*{A&dYq6_KZHa< z39GC9u>}Yiv-qN|3RdrNTLOuB;354>t&6qU>6uG&>_aI81nCoFMO3JxT91t7hv;jJ zGwP{zq`|3Zp>@!7$KMrHzl7F+g{-Jc3u}hcn3CJ^fV(W*F_|TN5Ehn%%N}XC2Cd&4 zPMFL+qvNK3*6;@O%#~fTpQHY))zmAaNT_f%OBBff^2`KrfjWerTy5c;Y(q&3bfVPY!aWSOp^vnXB%{b0 zo;1uGo;92>EE`Uf0@ul%s2ldc$6+ymFpgmWT^J_2Q6Uq!LiS^pOktHginnAA{h#Pg z;Tu^rh4W+%mk}2^%%Mm4M*CW;X6u0Z*g6~`~eHU5-7P`cow6I}Vz&W`GCHAs#%S2Z3Mp#%Coy_?O z%?-m%!x0m|V|1g*zi4lCn^F?yv(!wWmVSCy7Gf2cGK$cG?Z> zX}4H(9LIM3qL;}Q0;e#Q_A_pGHtVU6QMWG9$9viNj%wXoYHbiHb$s_rWy|JrP0fdj zp#lOPE#R?S{(b-(X)0}}X^R|=88$tio`(#tQ15ccDQ5eOxaejy3$L87dtM<=XUtnK G*^ytpk&&PP diff --git a/obj/Debug/net9.0/refint/vacanzeEstive_rubricaTelefonica.dll b/obj/Debug/net9.0/refint/vacanzeEstive_rubricaTelefonica.dll index fdad86ef8b761028473b716dc0be5047bd1491dd..6544783b414b52309032e64a223cb3984d7f606a 100644 GIT binary patch delta 835 zcmZXSPiPZC6vn@qB-_?BHMJ;80~!OiwOTiuhD}gGNlOWejl@!lSd-nPQpBolE;-l~ z4d~WqGg>UT@P6-mfA+oIVHWHK`~L0V#rgJk zi+5vUW^s93#FP*{A&dYq6_KZHa< z39GC9u>}Yiv-qN|3RdrNTLOuB;354>t&6qU>6uG&>_aI81nCoFMO3JxT91t7hv;jJ zGwP{zq`|3Zp>@!7$KMrHzl7F+g{-Jc3u}hcn3CJ^fV(W*F_|TN5Ehn%%N}XC2Cd&4 zPMFL+qvNK3*6;@O%#~fTpQHY))zmAaNT_f%OBBff^2`KrfjWerTy5c;Y(q&3bfVPY!aWSOp^vnXB%{b0 zo;1uGo;92>EE`Uf0@ul%s2ldc$6+ymFpgmWT^J_2Q6Uq!LiS^pOktHginnAA{h#Pg z;Tu^rh4W+%mk}2^%%Mm4M*CW;X6u0Z*g6~`~eHU5-7P`cow6I}Vz&W`GCHAs#%S2Z3Mp#%Coy_?O z%?-m%!x0m|V|1g*zi4lCn^F?yv(!wWmVSCy7Gf2cGK$cG?Z> zX}4H(9LIM3qL;}Q0;e#Q_A_pGHtVU6QMWG9$9viNj%wXoYHbiHb$s_rWy|JrP0fdj zp#lOPE#R?S{(b-(X)0}}X^R|=88$tio`(#tQ15ccDQ5eOxaejy3$L87dtM<=XUtnK G*^ytpk&&PP diff --git a/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfo.cs b/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfo.cs index 7d9b09b..2e001f7 100644 --- a/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfo.cs +++ b/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("vacanzeEstive_rubricaTelefonica")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+adcd853d065d0f5ee33305ce879ad3ab6c752998")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+371104953b7b7c89cc3ce105bb42a1abd2a722cf")] [assembly: System.Reflection.AssemblyProductAttribute("vacanzeEstive_rubricaTelefonica")] [assembly: System.Reflection.AssemblyTitleAttribute("vacanzeEstive_rubricaTelefonica")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfoInputs.cache b/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfoInputs.cache index 7acb339..0169bae 100644 --- a/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.AssemblyInfoInputs.cache @@ -1 +1 @@ -81cb16105158fc67677a8f34f6d4634cc420d130cc85cba0f787d235cb911b77 +a78438f378acb1585c80b4cdf5f2a5fa8a6c9e2fb3f6656cf473d5dafa412453 diff --git a/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.dll b/obj/Debug/net9.0/vacanzeEstive_rubricaTelefonica.dll index a6435753c004f2cc335037e0a8271e3ff77c3ace..509b6fe2f19bb9a606d3a1d392a12396b491145c 100644 GIT binary patch delta 3271 zcmbtWeQaA-6+ibq`#pcePF`MOJ0Fdmk1cNOq_&eRO-GlqtV>I>Bu%@LvX0ep(kW`1 zq%TReLWhgCbuCPx;esI1Kx+qr6*Luvj!qR)nP}IF39Umy5UOfbt8PLA!ax(#q?X^k zcHBgC`~gq8KcDlv=bm%!z31NRL)#AZA3IWY>iYCi%6{)s6}efAC(Q#v-hWzs71=9ly$|LN#rm z@ohp=$WFgrP1ICG#Gs>T{Hwtj?^SHdUdFd8>9ifZNTCw#5wrtnYhM!ZDnNJKmG!ye5itAo*aIA6MnI7ts{!Y*qb*^{-^4DD{VX??kITh>@N z^t&0`mfM=vR4#5NwFuEw-@Wu7JYB^&-!0X27>;#6x^??@9j3qv0F?C5dz+XKGV3Pm zdwg6iDjq`^Ox2(w(_Un1MW#;Hdwf={53E)&QJu&`tbP1#+baHvYO*@~5*%8%G$fv44F?uu5p3$bhb@3vw#&UJgRZovjaOf+Z& zbJ6r%v?uh{p8Fh29w;)zzpXc?D@jouPQzx{4b9LeobY+V8eL}QA?w5)mFmchsWgbq z!3i?3Ly=A@WI?AtT#WTEWY&T(&TJLa{QcP)VAcoA_;3KWawY?$XmevYt>T3F`(2tc zJ-o&NuIQE;VZJ;^{fRmea6bZ~h($o3JJLgeyhwsn$DE?ijkz(@F&8d_&uBh4xx?Xd zsPN!%^0>1kZ8L23XG!<>yLA!4jd4*8CkR)KPaOLCSmliICYquUX$%;Cc)-$&wvKM(@@OdIJQk-*Rxa`uJCi63qN7P5ww%j;jkeNO? z{rw(iX8z9X{AFrq#o_+{lG=6GtTb(G6{hk(CRL?`D=?bs79jBFoy}>P*!LCe70F_ERIj%ICSM<1(gtO+b45t2<1e{t*1w1Zs=q?yK*%Us_0~yic=X8$F`p&}cgh)sQL6P%rt6bJ&HyFq9dblmoC9r|sRL^6;bwyyEI;gtn zI0^Z;;9c|&$qxg)bVEJPuer_iFO@=CkK{yJ1vE_=%?bT2dINY#qD>X@O(}Cl$oXJ; zLt-j3^p{{mRjpVhxW`)O7?LkHzfFydHUMjK$G z$onKCrj*Ps7=cMVIKoz$n3X5()w$lu%S0j(=q)wHgj6`ZBKo_kB7EoMbtHjSr z+$?d6#2pfoKt{vVnO2KwACzJ&V~rXHE>IM>DDg6!%_6O4FdwVy=oNZOd6JI8eh=^& zr2x1a_xJl%jWld*}}=CFPWqOR0^%PT!;#=@gyj z9&dHy>j)}7JTAHKb()j%O76HgC$xs1;wf)WY2R>a$Vw%tH#s$tq^!1aA~`w9U-NFW zcMMH-kIn1(e^T`JvC+xo@F;)R7_Ar^e`53K(7vhU$nfL=+C0%cH8Rp;ZQMH!jcER{ z!cB~a${OZhHb2(*&r3&mcbSjf&y)UA9xHOClN7>ahR6aYfkU(o4ApLgY|&Vb8HKzT zy&=@n6y!;?2ISr@Z7gi<1dT%;#bY@H{1Uu{U?qI)hdhb44wr0~ Y028pOn)UR54yn>WILV>2=R-vdM&g#Z8m delta 2811 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 SW$eVDc!ihAC4EM(M1KN%1Lqb1 delta 1036 zcmZuwYitx%6#mYc-JRWTX}7hlY1lS33zl_X6gCynq)DMrfy4(cq_zgzLJbtbP!cGT z?nqM~31Hi42u67{#yCIJ*en>5#uyTaBBIgskM)Pdh-sow4bd3I$9J1*NOWetbI#07vXte;J(Q+HHf&RnBUz>YyHOJS; z$1>#2J9l@Hx6e*Id+hS7t>>=nimf|)&tqq1u1}5(N6SKdS4`9rrG$Uv{Y0e^!$gD# z7?H3?{%AsikwAQ#US~HJq z`nvLEYxt#8m)0!qd9V9d_xg#eZwxG{>axN=cY3pD$LvkJySJsg`|J!PP#oD>H!vOj zW_{7RlS^Ot^NVjs?_2%E#i3(|FV`1-{3JC!5juFIaNbugbq|GJX`Bsw+&lHzkl0eV>HlT1I#=B96Pwdf1bh+YcG(|6WoZJ+QU-nh_3re+ zcE3x0+2S1*&lT?-@y>~NLA)vPu8DUmB1>eIIL8+q8dpBf+m)s~jn#sc+8IW<2`<_{ z*vqoX{e=bT6;|*rZ3-i&D6}>llw=#bS)6MPf@*DGCz(FW3X+-&o0V)igE#@6q1Mt!&!rCei2QBvN?(Ar-v3E3cy2Ys$xom0B1 gO5CyR@{0c}mHSmTQNe#rYVH