Ho dato una veloce ripulita al codice (si può migliorare ma devo prepararmi per la serata):
codice:program pizza; uses crt; var number: integer; size: char; {Una stringa formata da un solo carattere è un CHAR} total: Real; begin total := 0; clrscr; Write(' Inserire il numero delle pizze: '); Readln(number); Writeln(' Inserire la taglia della pizza: '); Writeln(' Small 4.50 '); Writeln(' Medium 6.00 '); Writeln(' Large 7.50 '); repeat {Con questo repeat eviti errori di digitazione dell'utente} Write(' Inserire la tua scelta(s,m or l); '); Readln(size); if size = 's' then total := number * 4.50 else if size = 'm' then total := number * 6.00 else if size = 'l' then total := number * 7.50 else Write(' la scelta inserita non è valida '); until total > 0; Writeln; Write(number, ' pizze costano ', total:3:2); {Stampa correttamente il totale} Readln; end.Sul tuo libro non viene spiegata tale differenza?!mi puoi spiegare la differenza tra "write" e "writeln" ???![]()
Mi riferivo al fatto di cancellarlo dal tuo disco, dalla tua memoria, dalla tua vista......il video non lo ho postato io e non posso cancellarlo... (sarà stato uno sciocco)
E come potrebbe stampare qualcosa quella riga?! E' sbagliata perché contiene 2 assegnazioni, peraltro tra tipi di dato incompatibili.secondo me la riga if size = 's' then total := number := 4.50 dovrebbe stampare sul lo schermo il numero 4.50