Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] - gestione lista prodotti supermercato

    Ciao a tutti!!
    Ieri ho sostenuto l'esame di Programmazione in C; chiedo consiglio a quanti di voi vorranno aiutarmi per capire il metodo migliore per impostare un problema del genere.

    In pratica la traccia richiedeva di gestire dei prodotti di un supermercato, catalogabili con i nomi "fresco", "alimentare", "detersivo" o "altro". Ogni prodotto è caratterizzato da prezzo di acquisto, prezzo di vendita e un codice. Il prezzo di vendita deve essere sempre superiore a quello di acquisto. Inoltre, i prodotti freschi hanno anche una data di scadenza.

    Quello che vogliamo ottenere sono funzioni per:
    [list=1][*]aggiungere un prodotto alla lista[*]vendere un prodotto[*]ottenere il guadagno corrente[*]controllare le scadenze e ritirare i prodotti scaduti[*]ritirare prodotti[/list=1]

    Vi spiego i miei ragionamenti un po' per volta, cercando di non appesantire troppo la discussione e di capire se sono giusti o sbagliati. Grazie in anticipo a tutti coloro che vorranno aiutarmi

  2. #2
    Prima di passare alle funzioni vere e proprie, partiamo dalla base, dalla definizione di un prodotto e dalle variabili da usare.
    codice:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    static double guadagno;
    char *tipi[] = {"fresco", "alimentare", "detersivo", "altro"};
    
    typedef struct prodotto
    {
    	char *tipo;
    	double prezzoacq;
    	double prezzoven;
    	int quantita;
    	long codice;
    	struct prodotto *next;
    } Prodotto_t;
    Dichiaro una variabile globale guadagno, che andrò di volta in volta ad incrementare o diminuire e che terrà conto del guadagno di giornata.
    Dopodichè, creo un'altra variabile globale, tipi, che + un vettore di puntatori, ognuno dei quali punta alle stringhe predefinite. Primo dubbio: è giusta la scelta di un vettore di puntatori? O magari si potrebbe creare un enum? O una union?

    Dopodichè passo alla definizione di un nuovo tipo del tipo struttura prodotto. I prodotti sono concatenati in una lista, ragion per cui ogni prodotto contiene un puntatore al prodotto successivo.
    Secondo dubbio: i prodotti freschi, a differenza degli altri, devono avere anche un campo per la data di scadenza. Come gestisco la situazione? Creo un campo scadenza per tutti i prodotti, definendolo solo nel caso in cui il prodotto sia fresco e lasciandolo NULL per gli altri? Oppure c'è qualche modo di creare magari un "sottoprodotto" di tipo fresco, che aggiunge a prodotto solo il campo scadenza? E inoltre, il campo scadenza come andrebbe definito? Come stringa?

    Grazie mille a tutti

  3. #3
    up

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [C] - gestione lista prodotti supermercato

    Originariamente inviato da tigerjack89
    Vi spiego i miei ragionamenti un po' per volta, cercando di non appesantire troppo la discussione e di capire se sono giusti o sbagliati.
    Per non "appesantire" la discussione, in futuro apri discussioni separate per ogni problema da affrontare, anche se riguarda lo stesso progetto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

    Re: Re: [C] - gestione lista prodotti supermercato

    Originariamente inviato da alka
    Per non "appesantire" la discussione, in futuro apri discussioni separate per ogni problema da affrontare, anche se riguarda lo stesso progetto.
    Vero. Speravo fosse possibile riportare il tutto sotto lo stesso 3d

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.