Questo topic e' stato chiuso dal moderatore.
27/05/17 14:01
lallo12
salve, ho da fare questo progetto ma non saprei come continuare a sviluppare l'ultimo punto potreste darmi dei consigli?
Si vuole simulare la gestione di un distributore automatico di carburante. Si suppone di avere 3 tipi di carburante identificati da un nome, da un codice identificativo, dal numero di litri presenti nella scorta e da un prezzo per litro. Il distributore è gestito per un intero mese (31 giorni) (e.g., organizzazione matriciale). Permettere all’utente di:
• Inserire dei soldi (5,10, 20, 50 euro)
• Scegliere il tipo carburante o Controllare se è possibile soddisfare la richiesta o Nel caso è possibile soddisfare la richiesta rifornire di carburante (aggiornando la scorta)
• Dato un giorno visualizzare il totale di carburante venduto
Si vuole simulare la gestione di un distributore automatico di carburante. Si suppone di avere 3 tipi di carburante identificati da un nome, da un codice identificativo, dal numero di litri presenti nella scorta e da un prezzo per litro. Il distributore è gestito per un intero mese (31 giorni) (e.g., organizzazione matriciale). Permettere all’utente di:
• Inserire dei soldi (5,10, 20, 50 euro)
• Scegliere il tipo carburante o Controllare se è possibile soddisfare la richiesta o Nel caso è possibile soddisfare la richiesta rifornire di carburante (aggiornando la scorta)
• Dato un giorno visualizzare il totale di carburante venduto
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> struct elenco{ char nome[10]; int codice; float prezzo; float rimanenza; }; struct data{ int giorno; int mese; int codice; }; int main() { typedef struct elenco Elenco; Elenco prodotto[3] = {{"benzina",0,1.00,100}, {"metano",1,1.30,100}, {"gasolio",2,1.20,100}}; typedef struct data Data; Data array_data[31]; printf(" -- LISTA PRODOTTI --\n\n"); printf("NOME\t\tCODICE\tPREZZO\tRIMANENTI\n"); float banconote_inserite,resto; int i,scelta; int j=0; for(i=0;i<3;i++){ printf("%-10s\t%4d\t%5.2f\t%5.2f\n",prodotto[i].nome, prodotto[i].codice, prodotto[i].prezzo, prodotto[i].rimanenza); } printf("\n"); printf("\n(4)TERMINA LA MACCHINA\n"); printf("\n(5)RESOCONTO\n"); time_t t = time(NULL); struct tm *time; time = localtime(&t); int giorno = time->tm_mday; int mese = time->tm_mon; while(1){ printf("\n"); printf("-- SCELTA CARBURANTE --\n"); scanf("%d",&scelta); if(scelta==4){ printf("operazioni eseguite: %d", j); break; } if(scelta==5){ int giorno_1, codice_1; printf("il giorno richiesto:\n"); scanf("%d", &giorno_1); printf("il mese richiesto:\n"); scanf("%d", &codice_1); break; } if(scelta!=4 &&scelta!=5){ printf("HAI SCELTO DI PRELEVARE: %s",prodotto[scelta].nome); printf("\n"); printf("Inserisci delle banconote:"); scanf("%f", &banconote_inserite); printf("\n"); } if(banconote_inserite==5.00 || banconote_inserite==10 || banconote_inserite==20 || banconote_inserite==50){ if(banconote_inserite<prodotto[scelta].prezzo){ printf("NON HAI ABBASTANZA CREDITO\n"); } }else if(banconote_inserite > prodotto[scelta].prezzo){ prodotto[scelta].rimanenza=prodotto[scelta].rimanenza-prodotto[scelta].prezzo*banconote_inserite; printf("STAI PER RICEVERE IL CARBURANTE \n"); j++; array_data[j].giorno=giorno; array_data[j].mese=mese; array_data[j].codice=scelta; printf("rimanenza %5.2f", prodotto[scelta].rimanenza); } else{ printf("LA MACCHINA ACCETTA SOLO BANCONOTE DA 5,10,20,50"); } } return 0; }
aaa