La prof pretende un algoritmo in pascl:
è dato un elenco di prodotti di cui vengono indicati la descrizione, il prezzo e la percentuale di sconto. Scrivere la descrizione e il prezzo scontato di ciascun prodotto.
scrivere poi la descrizione e il prezzo del prodotto più costoso, comunicare il totale degli sconti, comunicare la media dei pezzi e la media dgli sconti.
che ho risolto in pascal:
con apparente successo...codice:PROGRAM Eprod; USES crt; VAR i,n:integer; pre,perc,tots,ppiuc,mpre,mscon:real; des,desmax:string[100]; BEGIN clrscr; write('Inserire il numero di prodotti nell''elenco: '); readln(n); i:=1; write('Inserire il prezzo del prodotto 1: '); readln(pre); write('Inserire la percentuale del prodotto 1: '); readln(perc); write('Inserire la descrizione del prodotto 1: '); readln(des); writeln('Il prezzo scontato del prodotto 1 e'': ',pre-((pre*perc)/100):5:2); writeln('(',des,')'); desmax:=des; ppiuc:=pre; tots:=(pre*perc)/100; mpre:=pre; mscon:=perc; REPEAT write('Inserire il prezzo del prodotto ',i+1,': '); readln(pre); write('Inserire la percentuale del prodotto ',i+1,': '); readln(perc); write('Inserire la descrizione del prodotto ',i+1,': '); readln(des); writeln('Il prezzo scontato del prodotto ',i+1,' e'': ',pre-((pre*perc)/100):5:2); writeln('(',des,')'); tots:=tots+((pre*perc)/100); mpre:=mpre+pre; mscon:=mscon+perc; IF(ppiuc<=pre)THEN BEGIN ppiuc:=pre; desmax:=des; END; i:=i+1; UNTIL(i>=n); writeln('Il prezzo piu'' alto e'': ',ppiuc:5:2); writeln('(',desmax,')'); writeln; writeln('Il totale dei prezzi e'': ',tots:5:2); writeln; writeln('La media dei prezzi e'' di: ',mpre/n:5:2); writeln('La media degli sconti e'' di: ',mscon/n:5:2); readln; END.
volendo imparare il c ho provato ha riscrivere l'algoritmo in c:
Il problema e che non mi funziona l'algoritmo in c. il compilatore gcc non da errori ma quando vado ad eseguiere il programma si blocca dopo l'input della variabile n.codice:#include<stdio.h> #include<string.h> #include<stdlib.h> main(){ int n,i; int pre,perc,tots,ppiuc,mpre,mscon; char des[100],desmax[100]; printf("Inserire il numero di prodotti nell'elenco: "); scanf("%d", n); i=1; printf("Inserire il prezzo del prodotto 1: "); scanf("%d", pre); printf("Inserire la percentuale del prodotto 1: "); scanf("%d", perc); printf("Inserire la descrizione del prodotto 1: "); scanf("%s", des); printf("Il prezzo scontato del prodotto 1 e': %d\n(%d)",pre-((pre*perc)/100),\ des); strcpy(desmax,des); ppiuc=pre; tots=(pre*perc)/100; mpre=pre; mscon=perc; do{ printf("Inserire il prezzo del prodotto %d: ",i+1); scanf("%d", pre); printf("Inserire la percentuale del prodotto %d: ",i+1); scanf("%d", perc); printf("Inserire la descrizione del prodotto 1: ",i+1); scanf("%s", des); printf("Il prezzo scontato del prodotto %d e': %d\n(%d)",i+1,pre-((pre*perc)\ /100),des); tots+=((pre*perc)/100); mpre+=pre; mscon+=perc; if(ppiuc<=pre){ ppiuc=pre; strcpy(desmax,des); } i++; }while(i>=n); printf("Il prezzo piu' alto e': %d\n(%s)\n\n",ppiuc,desmax); printf("Il totale dei prezzi e': %d\n\n",tots); printf("La media dei prezzi e' di: %d\nLa media degli sconti e' di: %d\n",mpre/n,mscon/n); system("pause"); }

Rispondi quotando