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

Programma Ristorante

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Programma Ristorante

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.

Page 3: Programma Ristorante

*ELAB

Numero Tavolo

F

START

P.A.

Numero Tavolo

STAMPE FINALI

END

V

= numero tavolo <> -1*

Page 4: Programma Ristorante

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

Page 5: Programma Ristorante

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

Page 6: Programma Ristorante

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

Page 7: Programma Ristorante

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

Page 8: Programma Ristorante

876543

Max= contE

Descr= tipo E

EXIT

Page 9: Programma Ristorante

Linguaggio Visual BasicLinguaggio Visual Basic

Programma del ristoranteProgramma del ristorante

Compito per le vacanze natalizieCompito per le vacanze natalizie

Page 10: Programma Ristorante

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

Page 11: Programma Ristorante

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

Page 12: Programma Ristorante

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"

Page 13: Programma Ristorante

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

Page 14: Programma Ristorante

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

Page 15: Programma Ristorante

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