From a880e849e7d4a2978791c0c134799d7ea0c79c90 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Wed, 7 May 2025 21:00:58 +0200 Subject: [PATCH] Controllo input e gestione eccezioni dell'opzione 2 --- Cliente.cs | 3 +- Program.cs | 29 +++++++++++++----- bin/Debug/net9.0/agenzia_viaggi.dll | Bin 14336 -> 14848 bytes bin/Debug/net9.0/agenzia_viaggi.pdb | Bin 15708 -> 15860 bytes .../net9.0/agenzia_viaggi.AssemblyInfo.cs | 2 +- .../agenzia_viaggi.AssemblyInfoInputs.cache | 2 +- obj/Debug/net9.0/agenzia_viaggi.dll | Bin 14336 -> 14848 bytes obj/Debug/net9.0/agenzia_viaggi.pdb | Bin 15708 -> 15860 bytes obj/Debug/net9.0/ref/agenzia_viaggi.dll | Bin 6656 -> 6656 bytes obj/Debug/net9.0/refint/agenzia_viaggi.dll | Bin 6656 -> 6656 bytes 10 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Cliente.cs b/Cliente.cs index afde231..ce22891 100644 --- a/Cliente.cs +++ b/Cliente.cs @@ -65,9 +65,10 @@ class Cliente { for (i = 0; i < this.prenotazioni.Length && isPrenotazioneEsistente; i++) { if (this.prenotazioni[i] == null) { isPrenotazioneEsistente = false; + i--; } } - this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono consentite solo 10 prenotazioni per cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale()); + this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono giĆ  state inserite tutte le prenotazioni per questo cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale()); } public void CancellaPrenotazione(string p_UUID) { diff --git a/Program.cs b/Program.cs index 49dc966..b8908c7 100644 --- a/Program.cs +++ b/Program.cs @@ -30,11 +30,11 @@ class Program { case 0: break; case 1: - Console.Clear(); + Console.Clear(); Demo(); break; case 2: - Console.Clear(); + Console.Clear(); Menu(); break; default: @@ -92,7 +92,7 @@ class Program { Cliente[] clienti = new Cliente[numeroClienti]; - do { + do { Console.WriteLine("Scegliere un'opzione:"); Console.WriteLine("1. Inserire i dati dei clienti"); Console.WriteLine("2. Inserire una prenotazione"); @@ -156,6 +156,7 @@ class Program { case 2: string[] periodi = ["primavera", "estate", "autunno", "inverno"]; int giorniPrenotati = 0, numeroPersone = 0; + do { Console.WriteLine("Inserire la prenotazione di quale cliente? "); for (int i = 0; i < clienti.Length; i++) { @@ -178,9 +179,13 @@ class Program { Console.WriteLine("Opzione non valida"); Pausa(); } + else if (clienti[input - 1] == null) { + Console.WriteLine("I dati di questo cliente non sono ancora stati inseriti."); + Pausa(); + } } } - while (eccezione || input <= 0 || input > numeroClienti); + while (eccezione || input <= 0 || input > numeroClienti || clienti[input - 1] == null); scelta = 5; do { @@ -253,11 +258,21 @@ class Program { } while (numeroPersone <= 0); - clienti[input - 1].InserisciPrenotazione(periodi[scelta], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone)); + eccezione = false; - Console.WriteLine("Prenotazione inserita correttamente."); + try { + clienti[input - 1].InserisciPrenotazione(periodi[scelta], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone)); + } + catch (Exception e) { + Console.WriteLine(e.Message); + eccezione = true; + Pausa(); + } + if (!eccezione) { + Console.WriteLine("Prenotazione inserita correttamente."); + Pausa(); + } - Pausa(); break; case 3: for (int i = 0; i < numeroClienti; i++) { diff --git a/bin/Debug/net9.0/agenzia_viaggi.dll b/bin/Debug/net9.0/agenzia_viaggi.dll index 1c907023cecbc1a170187de140558ad69830efbe..50184c42daaac559203ab8fb8e2f79e91609e7e2 100644 GIT binary patch delta 3111 zcmb_eeQaA-6+id+`91sDiGBUz=a0mR6DN)ve>+L*b~KbV?bdWngPMheb|YWTR?#-u zV;TjfCa7D9s%=Sj3v7wheNc&M0u9ZqD@wIa)7T$nlVB=CAP5C*15MSCV3dy1gma%? zoP_<$v){SrcfRhu=bm@oo0^z3pc9o+!? zxnL0Bs&%ejbxr{|5#PTLpqJGP2{u5Qm8ViD3gew&r%9aT*m=@S@@$DTgmsL-uRHM; zzzRpQ0RO25Ac$)LBsQ1MupZ(4?T1ic0ifVhG)FuH!ndpdqC8)%VU3FzyDO zK-dW}Od8oUVt=5Az(lNy`*;M&*B`@m#*x+aqT3oL@CKw+p7N~%^6ahbA#>eEG>J?jaEUo4!R)>cK z`Mp>{!N>8yNRy_2jN0d$e7Yd>(XYFWF`$R}sMHC9DAZvLE)8+3azL-z=qIjK(mt>rZzR-L#rnFZj$y1;|Y54NTQ&Z#d z9`Gdme%>h*PlCqFeJG({=60q2l)x0skKZYsK(MH?0eQ;xCr3G6-)Eyi6k>FYs z{Ma)wnKKsGS&PX#MR$#8@{fq_GpqbZVuRCKjX6U51*_{tt7&suay>1Xe5D*t$!x(L znEWMAoYDVc^_U$+iZ$b)N>t(-yp)naasGK#w^#cst~hH})9r-OIJci)Pi^ z)Z3|@dq3uYn)Q=AZ6$YwD%|}owx8AsPA8k7AtB{tGc+ySTp(-ri$lV9vg#dsXt21)P-FrH5ynwi~ zIH0DYhGT zb0(SSBj0L312c$jfv9uV5{&A6D^2tL?=yTLsSK` zCVEGdzzeUKXc{-+g-a&7j7WpGO*BX(=<>lJwj6*t7!?l?AN1lQ$pSD{rHG58UKKWXqM4L*q9 zXN?{V_Bj}Wqi_b!!Yi-{%j`LS#2X^N=c@&~K}#f5{H_0|R$*$6&BTN3dZSw{Kp3}u z488^h(2;u(3hcf}QVzoem#|+n))7)%sr^I}9@xVc8?&KfFpl~Q;V`^eZxcI%ebk+wp6A)nvUI@+EaD-?#>3&Q|b!n+7kyljMj!IZDUKQ3Pb zvabi<4VZU;i}>k#(KxG;3HQM!gmntw!>?T*|B5y)HlGT*fA;S83u@-{?jPU#opa-Z zEq(0GRCmf0oEs=DC{F@_l35VS~zY7#AiDr+aI4Gq|a3Ze)S&V7E4 zlWBiq$>;rk=iGblx#!$_-aC5u=+x6Q$=MBeodN529g^TCIzS#3&YJT0@Z9seo4bbr zc5uZ50N3qv3B_|1z=M3xHh_CsLddc)l9o^8P!-32o;^V_L}x!DY0}RYNHShQ5B&E@ z{0m@*f8jC{tpEghJAlMa={g$`{xmp>3L5~0psczxVGzD#2M`_eEsMnC%!;7O0FL0O z+fg&j9$XZq`bt{Mb0ww(26RcL2C~)m5yz>H))LH{)c#bopFXa3wo?%N1fdSAZN~C0Akl|2H7^ zb5|6%eoPMAozyw#Xa8}vhtJ{h`78dP!viz$CKuOHfN_=e$OV$ZIjYlB&)qS(8yzgT zBkVV_i$vM)3w{wA70J4mj#T z8D|>sR}J{b2K=xA`F5=oMZz?UD?5VSk|R=EIYJ}#l@p#;+PZ!lt_Fs~$H5-kr&&_r&QU2SULX^gp64;$zg08}NJX$LCOlq15udGEE?aCboV`(`YRY_+?z^{cu zwRWS?^m232jCC@GU28fT6`k{w7??!U^OI&<=`_2Mrm6fcn>`NrY$Z+8%Y$bR%D90w zbWQH0v7(9{Yw6mo&a3EitQcFXXNG3#(YLTac!Rbq&9YnGw3Gvyo9to9O|NtpIn{l>$l!sT3U-&;|QDe zX~QoF-k%5|+!7|cZ1YapEWBXz{jH97i@u6z>HF;7yX_Y4ki0#Tg`bt;7bNDTVR9#1 zL!)Gz-9ux-H)Qr8Z4=JR>^N<||2EHYoTt)kiXNwyMxw}6=1J&ruRb{VdaT*q)SY`B zj4yJ#Ia^iiE81!kEQGPGo^-QE{Sg-R2ZUGLtk<6=ootUkMoR36zbH(4*jaxjBs48o z*&mawH;doc!v606S@dWVKx)@cXbA)OFmI`Qc5S{JpB>2Ws$NnGWOITLh!8Gc11^V6 z`L3-4akq(|6}diY$}6TkX^wvf%adz2a zzYzCMBYoGRUm)BF9km6|nk;0o0$x=G9Voqc&aKd7jLDfi1K)?T6^@}y!4oJmZ~r1|1fPYxFmB>;6F+9+$4nf-udEJc3sZ8N1;VL7h+N|V zg3FXO5vmS{&)LaC?3-D=>0y|}P$wY{MbMcZZ)Km0$>DL-9fbYxc{q#`HkNS21Zu|F zNUXK`O6<2%_1|4#$+vCeVQ=)%#i7UBUeq2DM{lx@+^e<$N0Ggq>#Tb6twgH~76*DO z`^(+qgZ;hz<-v)bVzJz<4-|XLdZn^&uy>-TT$$)CvmJ$K5B&M!m%j>Rcm(@3rVHRD z{O)|oOmQuA>=68P;PJxm2>jG^7ua_SN#Eju%YovPU)lPDsQm-uMCna-xv;(4Qr>aE zQlfA1?UpyrHUD$}^iM~weDG=OQl z8L!tkYWk7)BOAnw^q{?HT67#&L`xZT99@BZXzw*gl#xwvOZ9Z$enFVIvq}fvCv&>v Ee`Zt_`v3p{ diff --git a/bin/Debug/net9.0/agenzia_viaggi.pdb b/bin/Debug/net9.0/agenzia_viaggi.pdb index 6aeda3f2b6352ec759aa7cfe51415b106dcd8070..be6f2f0d97ef56a35451894b4198afa5f4d28e73 100644 GIT binary patch delta 930 zcmYL{dq`AK5XNU_?{&A@(zGqil=YF1T{W#`HKVeOVsi_lHmFS0P%|sDm!yzsw3gxO zb|N1cEtY16WG%fY%L3^|^i-lG3eQp&O`NsLNz~+iT2sI!i8wifFL^#0-)&R%fSQ;aNFU!E{ zV)d|IvmlaSEGsxt1&dfqqEwK>YGIue7w|f!x_3|sj&*TGfuM$Qpn`D-uw9Ih{8krn zhRIxma^lM;TJG0xm?ttXV~!qXKV~29bKNjcVvgplKEv$KY+(*%4&rIjXo6NLK$?1m+Up- zlpLYIWK2}a@XOfAJ|_w!8JeQ>?4G7X_ENL^tDJ%Q%|&1hcsBi1fAjOS!`a?Jb?dey zT(#f*R+e3r`2E&Mt0+`2)))NDd|HeUUOUQYS4xAxJJk?I4+FUwVPYpV1NT#|Daz&CW zla6#_<0m@SO^ylJltfJl)Y3>TPpCN$Th9Zvwo%(YYP(FWv+(o}Z11IZ?PJ<)D1D&i P2T{7#y=;btxJLK`)ZgXd delta 857 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 Ee`Zt_`v3p{ diff --git a/obj/Debug/net9.0/agenzia_viaggi.pdb b/obj/Debug/net9.0/agenzia_viaggi.pdb index 6aeda3f2b6352ec759aa7cfe51415b106dcd8070..be6f2f0d97ef56a35451894b4198afa5f4d28e73 100644 GIT binary patch delta 930 zcmYL{dq`AK5XNU_?{&A@(zGqil=YF1T{W#`HKVeOVsi_lHmFS0P%|sDm!yzsw3gxO zb|N1cEtY16WG%fY%L3^|^i-lG3eQp&O`NsLNz~+iT2sI!i8wifFL^#0-)&R%fSQ;aNFU!E{ zV)d|IvmlaSEGsxt1&dfqqEwK>YGIue7w|f!x_3|sj&*TGfuM$Qpn`D-uw9Ih{8krn zhRIxma^lM;TJG0xm?ttXV~!qXKV~29bKNjcVvgplKEv$KY+(*%4&rIjXo6NLK$?1m+Up- zlpLYIWK2}a@XOfAJ|_w!8JeQ>?4G7X_ENL^tDJ%Q%|&1hcsBi1fAjOS!`a?Jb?dey zT(#f*R+e3r`2E&Mt0+`2)))NDd|HeUUOUQYS4xAxJJk?I4+FUwVPYpV1NT#|Daz&CW zla6#_<0m@SO^ylJltfJl)Y3>TPpCN$Th9Zvwo%(YYP(FWv+(o}Z11IZ?PJ<)D1D&i P2T{7#y=;btxJLK`)ZgXd delta 857 zcmXYtYe-aK5Qb-F&)M~owV4KK%DQ>ob7pQtSrADfTBM~=YoxAu$;*oC z2Stjpo2ius!7=*N4;6w!$y-FBNtqCWmWiPzM6>0O=biWc<~xUPX5q$oQA5m`NEu*D zF~Abn55PXP@M_NG>;kqhqy~^&XKAVMj(v*DA4y9(#5Gt05Fg9=z@@w_&VRCpe9g6G z$2tP!xvO;tN2cEtm)jf8$dTOB+kak3YmPt&G9V-x2$~oXPSC-8VL#8Pj08SR2-Cw1 zGn32;vnG-tFj56and2rEWHGHwxOjoRn4wsx1lK3H@J3)utiwq?Oyf>2g;x|d}eJFy>f)U+qh39!;-Ow zb+-v585|}ZYt#09tiU@~Jk;krQs=iT8i`R&{c* zOw?*l>YB$325$B|Fz1*CwdGwOX6L)#&rBudH?E9V3=B2|dW&VvoGxL1UCWny)9Dj= z6W=OEZjSUdoXW~Cyx<5A9rOFGIQJ^(&DArF7gQ zC)Cw&M=kEA(tau^3A4bf%wvboW?4FJQ+*Zqq~yfT&4MiN88`oD<>bVWnk>Qp zO(Qkg(AdHvH95&J$u!9{IW5`H(%d-NB-J$4!ou7*#ndP*H8s&RHEFY%fE=rTDnl}Z zA%ii41rUPRNkCo_gDDs%Go*oKEg8&#Dv}vYfGSLZ7^D^?k^MhwY75i=m)49K%&NMSGr${T`Z41nqkfij5<20+zm3`szF6R?Uz OATI?Zvw5*-EDHd|1~_s6 diff --git a/obj/Debug/net9.0/refint/agenzia_viaggi.dll b/obj/Debug/net9.0/refint/agenzia_viaggi.dll index 00713e49f74807e7e3931bea1d434aa895986526..96691b1225ee4a490a220899ec09f2a503208aaa 100644 GIT binary patch delta 194 zcmZoLX)u}4!6H@^c6Vb>3A4bf%wvboW?4FJQ+*Zqq~yfT&4MiN88`oD<>bVWnk>Qp zO(Qkg(AdHvH95&J$u!9{IW5`H(%d-NB-J$4!ou7*#ndP*H8s&RHEFY%fE=rTDnl}Z zA%ii41rUPRNkCo_gDDs%Go*oKEg8&#Dv}vYfGSLZ7^D^?k^MhwY75i=m)49K%&NMSGr${T`Z41nqkfij5<20+zm3`szF6R?Uz OATI?Zvw5*-EDHd|1~_s6