18/11/12 14:18
tantocibo
Sto cercando di realizzare un programma la cui consegna è:
"Simuli uno scanner di codici a barre del supermercato; analizzati dei codici il programma
deve essere in grado di trovare i prodotti corrispondenti (da una lista di 15 prodotti
precedentemente inseriti) e emettere a schermo uno scontrino con nome dei prodotti, prezzo
corrispondente e totale della spesa".
Aldilà degli errori logici che posso aver fatto (vorrei individuarli da solo) sapreste correggere il programma in modo che il compilatore non segnali questo errore: "50 / 36 superm~1.pas
Fatal: Syntax error, ; expected but const char found"? Grazie
"Simuli uno scanner di codici a barre del supermercato; analizzati dei codici il programma
deve essere in grado di trovare i prodotti corrispondenti (da una lista di 15 prodotti
precedentemente inseriti) e emettere a schermo uno scontrino con nome dei prodotti, prezzo
corrispondente e totale della spesa".
Aldilà degli errori logici che posso aver fatto (vorrei individuarli da solo) sapreste correggere il programma in modo che il compilatore non segnali questo errore: "50 / 36 superm~1.pas
Fatal: Syntax error, ; expected but const char found"? Grazie
program supermercato; uses crt; const p1=0.80; // prezzo unitario di ciascun prodotto p2=3.60; p3=1.80; p4=4.20; p5=0.46; p6=1.20; p7=3.50; p8=3.80; p9=1.25; p10=1.80; p11=1.20; p12=1.15; p13=1.25; p14=8.50; p15=0.80; var sprod:string[4]; nprod:array[1..4] of integer; i,k,nprod2,m:integer; scelta:char; nprod3,qntprod:array[1..1000] of integer; par,tot:real; begin textcolor(white); repeat begin m:=m+1; write('Inserisci codice prodotto: '); readln(sprod); clrscr; write('Inserisci quantita'' prodotto inserito: '); readln(qntprod[m]); clrscr; write('Inserire altri prodotti? S/N: '); readln(scelta); clrscr; for i:=1 to 4 do //trasforma la stringa del prodotto (es '0101') begin //in vettore per distinguere le singole cifre binarie e trasformare case sprod[i] of //il numero prodotto in da binario a decimale (1-15) '1': nprod[i]:=1; '0': nprod[i]:=0; end; k:=4; for i:=1 to 4 do begin nprod2:=nprod2+nprod[i]*2^k; k:=k-1; end; nprod3[m]:=nprod2; end; until scelta='n' or scelta='N'; gotoxy(3,1); write('Prodotto'); gotoxy(30,1); write('Quantita'''); gotoxy(45,1); write('Prezzo'); for i:=1 to m do begin case nprod3[i] of 1 : begin par:=qntprod[i]*p1; gotoxy(3,i+1); write('Latte'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 2 : begin par:=qntprod[i]*p2; gotoxy(3,i+1); write('Nutella'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 3 : begin par:=qntprod[i]*p3; gotoxy(3,i+1); write('Gelato'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 4 : begin par:=qntprod[i]*p4; gotoxy(3,i+1); write('Carne'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 5 : begin par:=qntprod[i]*p5; gotoxy(3,i+1); write('Farina'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 6 : begin par:=qntprod[i]*p6; gotoxy(3,i+1); write('Biscotti'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 7 : begin par:=qntprod[i]*p7; gotoxy(3,i+1); write('Torta'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 8 : begin par:=qntprod[i]*p8; gotoxy(3,i+1); write('Pane'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 9 : begin par:=qntprod[i]*p9; gotoxy(3,i+1); write('Panna'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 10 : begin par:=qntprod[i]*p10; gotoxy(3,i+1); write('Fragole'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 11 : begin par:=qntprod[i]*p11; gotoxy(3,i+1); write('Pasta'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 12 : begin par:=qntprod[i]*p12; gotoxy(3,i+1); write('Caramelle'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 13 : begin par:=qntprod[i]*p13; gotoxy(3,i+1); write('Succo'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 14 : begin par:=qntprod[i]*p14; gotoxy(3,i+1); write('Vino'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; 15 : begin par:=qntprod[i]*p15; gotoxy(3,i+1); write('The'); gotoxy(30,i+1); write(qntprod[i]); gotoxy(45,i+1); write(par); end; tot:=tot+par; end; write('Totale spesa: ',tot:10:2,' euro'); readkey; end.
aaa