Click here to load reader

Programma Ristorante

  • View
    574

  • Download
    0

Embed Size (px)

Text of Programma Ristorante

  • 1. Diagramma a blocchiProgramma del ristoranteCompito per le vacanze natalizie Progetto ideato e realizzato da Boddi Maurizio

2. Testo Esercizio

  • Esercizio 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 limporto totale relativo. Qual la portata venduta maggiormente. Calcolare la percentuale di unit distribuite per ciascun tipo di portata, sul totale delle portate.

3. * ELAB Numero Tavolo F START P.A. Numero Tavolo STAMPE FINALI END V = numero tavolo -1 * 4. 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 5. 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 6. 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 7. 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 8. 8 7 6 5 4 3 Max= contE Descr= tipo E EXIT 9. Linguaggio Visual Basic Programma del ristorante Compito per le vacanze natalizie 10. Codice Form

  • Private Sub cmdchiudi_Click()
  • End
  • End Sub
  • Private Sub cmdinizia_Click()
  • S = txtntavolo.Text
  • While 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
  • stampefinali
  • End Sub
  • Private Sub Form_Load()
  • PA

11.

  • End Sub
  • Private Sub elab()
  • N = txtncomponenti.Text
  • Q = txtquantita.Text
  • P = txtprezzo.Text
  • T = txttipo.Text
  • conto = (N * coperto) + (Q * P)
  • totinc = totinc + conto
  • tot = tot + Q
  • If T = "a" Or T = "A" Then
  • contA = contA + Q
  • totA = contA * P
  • Else
  • 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

12.

  • 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 If
  • End If
  • If max < contA Then
  • max = contA
  • descr = "Tipo A"
  • Else
  • If max < contB Then
  • max = contB
  • descr = "Tipo B"

13.

  • 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 If
  • End If
  • End Sub

14.

  • 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= " & totinc
  • End Sub

15. Codice del modulo

  • Public cont, contA, contB, contC, contD, contE, max, conto, totinc, tot, totA, totB, totC, totD, totE, percA, percB, percC, percD, percE, coperto As Double
  • Public descr As String
  • Public Sub PA()
  • cont = 0
  • contA = 0
  • contB = 0
  • contC = 0
  • contD = 0
  • contE = 0
  • max = 0
  • conto = 0
  • totinc = 0
  • tot = 0
  • totA = 0
  • totB = 0
  • totC = 0
  • totD = 0
  • totE = 0
  • percA = 0
  • percB = 0
  • percC = 0
  • percD = 0
  • percE = 0
  • coperto = 1.5
  • descr = ""
  • End Sub