Date post: | 07-Jul-2015 |
Category: |
Technology |
Upload: | autematteo |
View: | 480 times |
Download: | 2 times |
By :
Autera matteo
In un ristorante si vuole calcolare il conto dei vari clienti digitando le seguenti informazioni:
• numero tavolo • numero componenti tavolo (tenendo presente che il coperto è di 1,50€ a persona)• descrizione della portata• quantità della portata• prezzo unitario della portata• tipo della portata (A=antipasto; B=primi piatti; C=secondi piatti; D=frutta; E=bevande)
Calcolare:• conto di ogni singolo tavolo • il totale generale • per ciascun tipo di portata il totale delle unità vendute e l’importo totale relativo• Quale è la portata che ha reso di più come importo?• La percentuale delle unità distribuite per ciascun tipo di portata.
* num tavolo<>-1
PA
NUMTAVOLO
*
ELAB
NUMTAVOLO
STAMPE FINALI
END
START
PA
contA=0 contB=0contC=0 max=0contD=0 percA=0contE=0 percB=0percC=0 totimporto=0percD=0 desc=0percE=0 totimpA=0C1=1,50 totimpB=0totimpC=0 totimpD=0totimpE=0 somU=0totincasso=0
EXIT
ELAB
NUMCOMPONENTI
*
ELAB2
NUMCOMPONENTI
EXIT
COPERTO=C1*NUMCOMPONENTI
CONTO=COPERTO+TOTIMPORTO
TOTINCASSO=TOTINCASSO+CONTO
* numcomponenti <>-1
DESCRIZIONE
ELAB2
DESCRIZIONE
*
ELAB3
EXIT
* descrizione<> “0”
ELAB3
QUANTITA’
P UNITARIO
TIPO
contA=contA+1
imp=(Punitario*quantità)
TIPO=B
contB=contB+1TIPO=C
TIPO =A
12
3 4
1 2 3 4
totimpA=totimpA+imp
TIPO=D
TIPO=E
Imp=( Punitario * quantità)
totimpB=totimpB+imp
Imp=Punitario*quantità
totimpC=totimpC+imp
contD=contD+1contE=contE+1
Imp=Punitario*quantità
totimpD=totimpD+imp
Imp=Punitario*quantità
totimpE=totimpE+imp
contC=contC+1
5
5
Totimporto=totimporto+importo
exit
somU=somU+1
Stampefinali
Max=totimpA
TotimpB>max Max=totimpB
totimpC>max Max=totimpC
totimpD>max Max=totimpD
6
6
imptotE>max
Max=imptotE
percA=( contA / somU)*100
percB=(contB/somU)*100
percC=(contC/somU)*100
percE=(contE/somU)*100
percD=(contD/somU)*100
contA,contB,contC,contD,contE,percA,percB,percC,percD,percE,somU,max,totimpA,totimpB,totimpC,totimpD,totimpE,totimporto
exit
start fine
Numero tavolo
Numero componenti
Descrizione portata
Quantità portata
Prezzo unitario
Tipo portata cmdfine
cmdinizio
txttavolo
txtcomponenti
txtdescrizione
txtquantità
txtprezzo
txttipo
Private Sub Form_Load()Call paEnd Sub
‘preparazione ambiente
Public coperto As DoublePublic c1 As DoublePublic somU As DoublePublic totimpA As DoublePublic totimpB As DoublePublic totimpC As DoublePublic totimpD As DoublePublic totimpE As DoublePublic totimporto As DoublePublic totincasso As DoublePublic importo As DoublePublic conto As DoublePublic max As DoublePublic percA As DoublePublic percB As DoublePublic percC As DoublePublic percD As DoublePublic percE As Double
Public contA As DoublePublic contB As DoublePublic contC As DoublePublic contD As DoublePublic contE As DoublePublic desc As Double
‘azzeramento variabiliPublic Sub pa()coperto = 0c1 = 1.5somU = 0totimpA = 0totimpB = 0totimpC = 0totimpD = 0totimpE = 0totimporto = 0conto = 0importo = 0max = 0
percA = 0percB = 0percC = 0percD = 0percE = 0desc = 0contA = 0contB = 0contC = 0contD = 0totincasso = 0contE = 0
End Sub
Private Sub cmdinizio_Click()While Txttavolo.Text <> -1 elab1 Txttavolo.Text = InputBox("numero tavolo")Wend stampefinaliEnd SubPrivate Sub elab1()While Txtcomponenti.Text <> -1 elab2 Txtcomponenti.Text = InputBox("numero componenti")Wend coperto = c1 * Txtcomponenti.Text conto = totimporto + coperto totincasso = totincasso + contoEnd Sub
Private Sub elab2()While Txtdescrizione.Text <> "0" elab3 Txtdescrizione.Text = InputBox("descrizione portata")WendEnd Sub
Primo ciclo di lavoro
Secondo ciclo di lavoro
Primo ciclo di lavoro
Private Sub elab3()If Txttipo.Text = A Then contA = contA + Txtquantità.Text importo = Txtprezzo.Text * Txtquantità.Text totimpA = totimpA + importoElse If Txttipo.Text = B Then contB = contB + Txtquantità.Text importo = Txtprezzo.Text * Txtquantità.Text totimpB = totimpB + importo Else If Txttipo.Text = C Then contC = contC + Txtquantità.Text importo = Txtprezzo.Text * Txtquantità.Text totimpC = totimpC + importo Else If Txttipo.Text = D Then contD = contD + Txtquantità.Text importo = Txtprezzo.Text * Txtquantità.Text totimpD = totimpD + importo
Terzo ciclo di lavoro
Else If Txttipo.Text = E Then contE = contE + Txtquantità.Text importo = Txtprezzo.Text * Txtquantità.Text totimpE = totimpE + importo Else MsgBox "ERRORE tipo della portata non valido" End If End If End If End IfEnd Iftotimporto = totimporto + importosomU = somU + Txtquantità.TextEnd Sub
Private Sub stampefinali()percA = (contA / somU) * 100percB = (contB / somU) * 100percC = (contC / somU) * 100percD = (contD / somU) * 100percE = (contE / somU) * 100max = totimpAIf totimpB > max Then max = totimpBElse If totimpC > max Then max = totimpC Else If totimpD > max Then max = totimpD Else If totimpE > max Then max = totimpE End If End If End IfEnd If
MsgBox "totale unità vendute tipo A=" & contAMsgBox "totale unità vendute tipo B=" & contBMsgBox "totale unità vendute tipo C=" & contCMsgBox "totale unità vendute tipo D=" & contDMsgBox "totale unità vendute tipo E=" & contEMsgBox "totale ricavato dalla vendita tipo A=" & totimpAMsgBox "totale ricavato dalla vendita tipo B=" & totimpBMsgBox "totale ricavato dalla vendita tipo C=" & totimpCMsgBox "totale ricavato dalla vendita tipo D=" & totimpDMsgBox "totale ricavato dalla vendita tipo E=" & totimpEMsgBox "totale unità vendute di tutti i tipi=" & somUMsgBox "percentuale unità vendute tipo A=" & percAMsgBox "percentuale unità vendute tipo B=" & percBMsgBox "percentuale unità vendute tipo C=" & percCMsgBox "percentuale unità vendute tipo D=" & percDMsgBox "percentuale unità vendute tipo E=" & percEMsgBox "totale incassato dal ristorante=" & totincassoMsgBox "totale importo ricavato dalla vendita di tutte le unità=" & totimportoMsgBox "unità da cui è ricavato il maggior importo=" & max
End Sub