IL RISTORANTE ➲ ➲ DI ENKLEID ELEZI IL PROBLEMA In un ristorante si vuole calcolare il conto dei vari clienti digitando i seguenti dati di input: •Numero tavolo; •Numero persone; •Descrizione portata; •Prezzo unitario; •Tipo (Antipasti=A; Primi piatti=B; Secondi piatti=C; Dolce e frutta=D; Bevande=E) •Coperto. Determinare: •Il conto di ogni singolo tavolo; •Il totale incassato dal ristorante; •Per ciascun tipo di portata il totale delle unità vendute e l’importo totale relativo; •La portata più venduta dal ristorante; •La percentuale di unità distribuite per ciascun tipo di Portata rispetto al totale. STRUTTURA FORM Ntavolo Ncomponenti Desc portata Quantità Tipo Portata Prunitario Il conto prego START Questo è l'inizio P.A. 1 Ntavolo Ntavolo * Ntavolo>-1 ELAB 1 * END P.A. 1 conta=0; contb=0; contc=0; contd=0; conte=0; perca=0; percb=0; percc=0; percd=0; perce=0; Max=0; Desc=0; coperto=1. 50;importoa=0; importob=0 importoc=0; importod=0; importoe=0; totincasso=0; max=0; perca=0; percb=0; percc=0; percd=0; perce;coperto=0 conttot=0; Descportata=0. EXIT Questa è la preparazione ambiente START *Descportata<> -1 Ncomponenti Ntavolo Questo è il secondo ciclo costo=Ncomponenti*cop Ncomponenti,cop,costo Descportata Descportata ELAB 2 * STAMPE FINALI EXIT ELAB 2 Quantità Questo è il contenuto della seconda elab P.U. TIPO spesa=quantità*P.U Descportata,Quantità,P.U.,spesa costo=costo+spesa * * * 4 conta=conta+Quantità contb=contb+Quantità 3 importob=importob+spesa 2 importoa=importoa+spesa 1 4 3 * contc=contc+Quantità conte=conte+Quantità contd=contd+Quantità importoe=importoe+spesa importod=importod+spesa importoc=importoc+spesa 2 1 EXIT STAMPE FINALI conttot=conta+contb+contc+cotd+cote totincasso=totincasso+costo perca=(conta*100)/conttot percb=(contb*100)/conttot percc=(contc*100)/conttot percd=(contd*100)/conttot 1 Queste sono le stampe finali 1 perce=(conte*100)/conttot * importob>Max * importoc>Max importoa= Max * Max= importob * Max= importoc 2 2 * importod>Max * * importoe>Max Max= importod * Max= importoe totincasso; conta; contb; contc: contd; conte; perca; percb; percc; percd; perce;importoa; importpb; importoc; importod;importoe; Max 'preparazione ambiente Public conta As Double Public contb As Double Public contc As Double Public contd As Double Public conte As Double Public perca As Double Public percb As Double Public percc As Double Public percd As Double Public perce As Double Public Max As Double Public importoa As Double Public importob As Double Public importoc As Double Public importod As Double Public importoe As Double Public conttot As Double Public costo As Double Public totincasso As Double Public coperto As Double Questa è la perparazione ambiente Public Sub PA() conta = 0 contb = 0 contc = 0 contd = 0 conte = 0 perca = 0 percb = 0 percc = 0 percd = 0 perce = 0 Max = 0 Desc = 0 importoa = 0 importob = 0 importoc = 0 importod = 0 importoe = 0 totincasso = 0 conttot = 0 costo = 0 Descportata=”” End Sub Private Sub Cmdinizio_cmdilconto() While Txttavolo.Text <> -1 elab1 Txttavolo.Text = InputBox(" numero tavolo") Wend End Sub Private Sub elab1() costo=txtNcomponenti.text*coperto While Txtdescportata.Text <>-1 elab2 Txtdescportota.Text = InputBox("descrizione portata") Wend stampefinali End Sub Questo è l'inizio del ciclo di lavoro Public Sub elab2() If Txttipo.Text = "A" Then conta = conta + Txtquantità.Text importoa = importoa+spesa Else If Txttipo.Text = "B" Then contb = contb + Txtquantità.Text importob = importob+spesa Else If Txttipo.Text = "C" Then contc = contc + Txtquantità.Text importoc =importoc+spesa Else If Txttipo.Text = "D" Then contd = contd + Txtquantità.Text importod =importoc+spesa Else conte = conte + Txtquantità.Text importoe =importoe+spesa End If End If End If Il secondo ciclo End If End Sub Public Sub stampefinali() perca = (conta * 100) / somquantità percb = (contb * 100) / somquantità percc = (contc * 100) / somquantità percd = (contd * 100) / somquantità perce = (conte * 100) / somquantità conto = (somquantità * somprezzo) + coperto Max = totimpa If importob > Max Then Max = importob Else End If If importoc > Max Then Max = importoc Else End If If importod > Max Then Max = importod Else End If Le stampe finali!! If importoe > Max Then Max = importoe Else End If MsgBox”totale delle unità di tipo a=” &conta MsgBox ”totale delle unità di tipo b=”&contb MsgBox”totale delle unità di tipo c=”&contc MsgBox”totale delle unità di tipo d=”& contd MsgBox”totale delle unità di tipo e=” &conte MsgBox”percentuale delle unità di tipo a=” &perca MsgBox”percentuale delle unità di tipo b=” &percb MsgBox”percentuale delle unità di tipo c=” &percc MsgBox ”percentuale delle unità di tipop d=” &ercd MsgBox ”percentuale delle unità di tipo e=” &perce MsgBox “L'importo massimo registrato=”&Max MsgBox”totale incassato dalla vendita delle portatate di tipo a=” &iportoa MsgBox”totale incassato dalla vendita delle portatate di tipo b=” &importob MsgBox ”totale incassato dalla vendita delle portatate di tipo c=” &importoc MsgBox ”totale incassato dalla vendita delle portatate di tipo d=” &importod MsgBox ”totale incassato dalla vendita delle portatate di tipo e=” &importoe MsgBox”il totale incassato dal ristorante dalla vendita di tutte le portate=”& totincasso End Sub