DATA

di il
2 risposte

DATA

Salve a tutti, mi è stato chiesto, per scopi didattici, di realizzare un programma C per la gestione di un market. Un prodotto è identificato da un codice, prezzo di acquisto,e prezzo di vendita. Mi è stato chiesto di implementare una funzione per il controllo della data di scadenza. Ho gestito, la cosa nel seguente modo, il programma viene compilato ed eseguito. Questo procedimento, però, mi risulta strano perchè nella lista per la gestione della data ho tralasciato il puntatore al nodo successivo ed anche l'inserimento nella lista è gestito in modo semplice (senza puntatore prev e cur). E', dunque, affidabile questa soluzione?
struct data{
       int giorno;
       int anno;
       int mese;
       };
       
struct prodotto{
       char *codice;
       struct data *dataS;
       categoria c;
       float pAcquisto;
       float pVendita;
       int quantita;
       
       struct prodotto *next;
       };
struct data *inserisci_data_scadenza();
int controlla_data_S(struct prodotto *p);

struct prodotto *magazzino = NULL;

int controlla_data_S(struct prodotto *p){
     struct data *d;
     int anno, mese, giorno;
     if(p == NULL){
          printf("Prodotto non trovato!\n");
          return 0;
          }
          
          printf("Inserire data corrente:(gg/mm/aaaa): ");
          scanf("%d/%d/%d: ", &giorno, &mese, &anno);
          d = p -> dataS;
     
     if((d -> anno < anno) || (d -> anno == anno && d -> mese < mese) || (d -> anno == anno && d -> mese == mese && d -> giorno < giorno)){
           printf("Prodotto scaduto!\n");
           ritiro(p -> codice);
           }
                           
     else {
              printf("Prodotto non scaduto!\n");
               }
     return 1;
          
}

2 Risposte

  • Re: DATA

    La lista è quella che fa riferimento al prodotto. Il prodotto ha il puntatore al prossimo. La data è un dato che fa parte del prodotto, non è una lista.
  • Re: DATA

    Grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte