Programma Ristorante
-
Upload
vanhelsing91 -
Category
Technology
-
view
577 -
download
0
Embed Size (px)
Transcript of Programma Ristorante

Diagramma a blocchi Diagramma a blocchi Programma del ristorante Programma del ristorante
Compito per le vacanze natalizieCompito per le vacanze natalizie
Progetto ideato e realizzato da Boddi Maurizio

Testo EsercizioEsercizio per le vacanze
In un ristorante si vuole calcolare il conto dei vari clienti digitando le seguenti informazioni: numero tavolo, numero dei componenti del tavolo, coperto: 1,5 €, quantità della portata, prezzo unitario, tipo.
Sigle del tipo:
a – antipasti
b – primi piatti
c – secondi piatti
d – frutta/dolci
e – bevande
calcolare il conto di ogni singolo tavolo, ripetendo per più tavoli, calcolare il totale incassato dal ristorante. Per ciascun tipo di portata, calcolare il totale delle unità vendute e l’importo totale relativo. Qual è la portata venduta maggiormente. Calcolare la percentuale di unità distribuite per ciascun tipo di portata, sul totale delle portate.

*ELAB
Numero Tavolo
F
START
P.A.
Numero Tavolo
STAMPE FINALI
END
V
= numero tavolo <> -1*

P.A.
contA=0 , contB=0, contC=0, contD=0, contE=0, totA=0,
totB=0, totC=0, totD=0, totE=0, Max=0, descr=0, conto=0,
totinc=0, percA=0, percB=0, percC=0, percD=0, percE=0,
tot=0
EXIT
percA= contA * 100/ tot
STAMPE FINALI
percB= contB *100/ tot
percA= contA * 100/ tot
percC= contC*100/ tot
percD= contD*100/ tot
percE= contE*100/ tot
contA=0 , contB=0, contC=0, contD=0,
contE=0, totA=0,totB=0, totC=0, totD=0,
totE=0, Max=0,
descr=0, conto=0,
totinc=0, percA=0, percB=0, percC=0,
percD=0, percE=0, tot=0
EXIT

ELAB
N° componenti al tavolo
Descrizione portata
Quantità portata
Prezzo unitario
Tipo di portata Valid = A, B, C, D, E
Conto= (N° componenti * coperto) + (QuantitàPortata * prezzo unitario)
totinc= totinc + conto
1
tot= tot + quantità portata

contE= contE+ Q
totE= contE* Pr. Un.
1
Tipo = A contA= contA + Q totA= contA * Pr. Un.
Tipo = B contB= contB + Q totB= contB * Pr. Un.
Tipo = C contC= contC + Q totC= contC* Pr. Un.
Tipo = D contD= contD + Q totD= contD* Pr.Un.
2

2
Max <contA
Max= contA
Descr= tipo A
V
Max <contB
Max= contB
Descr= tipo B
V
Max <contC
Max= contC
Descr= tipo C
V
Max <contD
Max= contD
Descr= tipo D
V
Max <contE
8
3
4
5
6
7
V
F
F
F
F
F

876543
Max= contE
Descr= tipo E
EXIT

Linguaggio Visual BasicLinguaggio Visual Basic
Programma del ristoranteProgramma del ristorante
Compito per le vacanze natalizieCompito per le vacanze natalizie

Codice FormPrivate Sub cmdchiudi_Click()EndEnd SubPrivate Sub cmdinizia_Click()S = txtntavolo.TextWhile S <> -1 elab S = InputBox("INSERISCI IL NUMERO DEL TAVOLO, si ricorda che deve essere
maggiore di 0 e per uscire dall'applicazione dovete digitare -1 e dovete dare l'INVIO a tutte le altre finestre che compariranno, così arriverete alla comunicazione dei risultati")
N = InputBox("INSERISCI IL NUMERO DEI COMPONENTI AL TAVOLO,si ricorda che deve essere maggiore di 0 e se digitate -1 uscirete dall'applicazione")
Q = InputBox("INSERISCI LA QUANTITA' DELLA PORTATA ORDINATA, ricordiamo che deve essere maggiore di 0")
P = InputBox("INSERISCI IL PREZZO UNITARIO DELLA QUANTITA' DI PORTATA ORDINATA, si ricorda che deve essere maggiore di 0")
T = InputBox("INSERISCI IL TIPO DI PORTATA ORDINATA, il quale può essere: a = antipasti, b = primi piatti, c = secondi piatti, d = frutta-dolci, e = bevande")
Wend stampefinaliEnd SubPrivate Sub Form_Load() PA

End SubPrivate Sub elab() N = txtncomponenti.Text Q = txtquantita.Text P = txtprezzo.Text T = txttipo.Text conto = (N * coperto) + (Q * P) totinc = totinc + conto tot = tot + QIf T = "a" Or T = "A" Then contA = contA + Q totA = contA * PElse If T = "b" Or T = "B" Then contB = contB + Q totB = contB * P Else If T = "c" Or T = "C" Then contC = contC + Q totC = contC * P Else If T = "d" Or T = "D" Then contD = contD + Q totD = contD * P Else

If T = "e" Or T = "E" Then contE = contE + Q totE = contE * P Else MsgBox "ERRORE TIPO DI PORTATA NON VALIDA" End If End If End If End IfEnd IfIf max < contA Then max = contA descr = "Tipo A"Else If max < contB Then max = contB descr = "Tipo B"

Else If max < contC Then max = contC descr = "Tipo C" Else If max < contD Then max = contD descr = "Tipo D" Else If max < contE Then max = contE descr = "Tipo E" End If End If End If End IfEnd IfEnd Sub

Private Sub stampefinali() percA = contA * 100 / tot percB = contB * 100 / tot percC = contC * 100 / tot percD = contD * 100 / tot percE = contE * 100 / tot MsgBox "Totale delle porzioni vendute in generale= " & tot MsgBox "Totale delle porzioni vendute di tipo A= " & contA MsgBox "Totale delle porzioni vendute di tipo B= " & contB MsgBox "Totale delle porzioni vendute di tipo C= " & contC MsgBox "Totale delle porzioni vendute di tipo D= " & contD MsgBox "Totale delle porzioni vendute di tipo E= " & contE MsgBox "Totale dell'importo ricavato dalla vendita delle portate di tipo A= " & totA MsgBox "Totale dell'importo ricavato dalla vendita delle portate di tipo B= " & totB MsgBox "Totale dell'importo ricavato dalla vendita delle portate di tipo C= " & totC MsgBox "Totale dell'importo ricavato dalla vendita delle portate di tipo D= " & totD MsgBox "Totale dell'importo ricavato dalla vendita delle portate di tipo E= " & totE MsgBox "Totale della portata venduta in maggior quantità= " & max MsgBox "Descrizione del tipo di portata venduta in quantità maggiore= " & descr MsgBox "Percentuale della portata di tipo A= " & percA MsgBox "Percentuale della portata di tipo B= " & percB MsgBox "Percentuale della portata di tipo C= " & percC MsgBox "Percentuale della portata di tipo D= " & percD MsgBox "Percentuale della portata di tipo E= " & percE MsgBox "Conto del tavolo= " & conto MsgBox "Totale incassato dal ristorante= " & totincEnd Sub

Codice del moduloPublic cont, contA, contB, contC, contD, contE, max, conto, totinc, tot, totA, totB, totC, totD, totE, percA,
percB, percC, percD, percE, coperto As DoublePublic descr As StringPublic Sub PA()cont = 0contA = 0contB = 0contC = 0contD = 0contE = 0max = 0conto = 0totinc = 0tot = 0totA = 0totB = 0totC = 0totD = 0totE = 0percA = 0percB = 0percC = 0percD = 0percE = 0coperto = 1.5descr = ""End Sub