Esercizio fatture
Esercizio fatture Dato un elenco di importi di fatture calcolare e visualizzare la media visualizzare inoltre tutte le posizioni delle fatture con valore maggiore della media
Analisi Il programma richiede di calcolare la media e rilevare in seguito tutte le fatture con valore superiore alla media. Dovendo esaminare più volte gli stessi dati, e’ necessario utilizzare un vettore per memorizzare gli importi delle fatture Il programma viene organizzato con le seguenti funzioni: float caricamentoPiuMedia(float f[], int &n); void ric_seq_magX(float f[], int n, float X);
float caricamentoPiuMedia(float f[], int &n) La funzione effettua il caricamento degli importi delle fatture chiedendo all’utente di inserire da tastiera il numero di fatture e l’importo per ciascuna fattura. Durante lo stesso caricamento calcola la media e la restituisce come valore di ritorno al chiamante.
float caricamentoPiuMedia(float f[], int &n) Identificat. descrizione tipo VAR/Cost f[] Vettore delle fatture float VAR n Numero di elementi valorizzato del vettore int var cont contatore med Media degli importi
float caricamentoPiuMedia(float f[], int &n) Identificat. Input OUTPUT lavoro f[] Par n par cont x med Ret (valore ritornato soltanto al chiamante)
void ric_seq_magX(float f[], int n, float X) La funzione effettua una ricerca sequenziale nel vettore f. La funzione prende in input il vettore, il numero di elementi valorizzati e il valore X come parametri e manda a video l’indice di tutti gli elementi del vettore maggiori di X. Visualizza il messaggio “non trovato” nel caso di ricerca con insuccesso, cioè nel caso in cui non vi siano nel vettore elementi maggiori di X
void ric_seq_magX(float f[], int n, float X) Identificat. descrizione tipo VAR/Cost f[] Vettore delle fatture float VAR n Numero di elementi valorizzato del vettore int var X Valore da ricercare Cont contatore trovato Flag per rilevare ricerca con insuccesso bool
float caricamentoPiuMedia(float f[], int &n) Identificat. Input OUTPUT lavoro f[] Par n cont X trovato
inizio Float caricamentoPiuMedia(float f[ ],int n) cont=0 somma=0 leggi (n) f cont<n v leggi(f[cont]) cont=cont+1 somma=somma+f[cont] med=somma/cont return (med) fine
void ric_seq_magX(float f[], int n, float X) inizio cont=0 f cont<n v v f f[cont ]>x trovato=true scrivi(cont) cont++ v f trovato=false scrivi(“non trovato”) fine
caricamentoPiuMedia(fatture,num_fatture) Int main() inizio caricamentoPiuMedia(fatture,num_fatture) Scrivi(media) ric_seq_magX(fatture, Num_fatture, X) fine