Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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
Codice sorgente - presumibilmente Delphi
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]ofinteger;
i,k,nprod2,m:integer;
scelta:char;
nprod3,qntprod:array[1..1000]ofinteger;
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)
Ciao, non conosco il pascal e non so aiutarti, però guardando velocemente il codice che hai caricato mi viene da farti una domanda: Perché non hai usato gli array per i prezzi e i nomi dei prodotti? Secondo me ti conviene utilizzarli, viene un codice più corto e sopratutto se devi modificare la lista dei prodotti perdi molto meno tempo.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Il compilatore ti segnala che non comprende il significato di un' operatore:
Alla riga
Codice sorgente - presumibilmente Plain Text
nprod2:=nprod2+nprod[i]*2^k;
con ^ intendi l' elevamento a potenza.
Purtroppo, in Pascal, non esiste un' operatore o funzione pronta per tale uso, di conseguenza devi definirne tu una.
Infatti ... non ci avevo fatto subito caso ... devi usare
exp(ln(x)*y)
per elevare x ad y
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Perdona l'ignoranza, non ho ben capito come potrei formalizzare la tua soluzione, se puoi mi correggeresti il programma secondo il tuo suggerimento? Scusa
Mi sembra che ti abbia scritto la linea che devi correggere (anche se ha messo j al posto di i) ...
Cosa ti deve dire di più ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.