Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

di il
10 risposte

Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

Salve ragazzi, ho ricevuto dal mio professore di programmazione un potenziale testo d'esame che dovrò svolgere la prossima settimana, potete darmi qualche dritta su come buttare giú il programma? ovviamente non sto chiedendo l'implementazione completa del compito, sarebbe del tutto irragionevole, solo qualche consiglio, perchè sinceramente non ho idea ne di quali strutture utilizzare e come gestirle.
Vi ringrazio in anticipo

Vi mostro la traccia dell'esame:



Vi è stato richiesto di scrivere un’applicazione in C che consenta la gestione informatizzata del sistema di prenotazione di un ristorante.

Il ristorante presenta le seguenti caratteristiche:
-5 sale (sala A, sala B, sala C, sala D e sala E; le sale A e B sono destinate a uso pizzeria);
-6 giorni di apertura (su 7);
-giorni ed orari di apertura del ristorante variano in base ad un calendario definito mensilmente;
Le prenotazioni, per semplicità, vengono gestite rispettando i seguenti criteri:
-ogni prenotazione ha una durata di un’ora;
-la prenotazione, per semplicità, può avere inizio, esclusivamente, al minuto 00 (alle 20:00, alle 21:00, etc);
-giorni e orari di apertura sono riportati nel file aperture.txt;
-le prenotazioni sono riportate nel file prenotazioni.txt;
-ciascuna prenotazione (richiesta del cliente) deve contenere giorno, ora, numero partecipanti, tipo_pasto (ristorante o pizzeria) e dati_contatto (nome, cognome, cellulare);
-Per ogni sala sono riportati il numero di tavoli, e per ogni tavolo il numero di posti a disposizione:
-Ogni tavolo è identificato da un numero intero progressivo (1, 2, 3, …);
-Le prenotazioni si riferiscono sempre al mese corrente e non possono essere accettate richieste per mesi successivi.

Si scriva un programma in C che soddisfi i vincoli riportati sopra.
In particolare, si definisca una struttura dati adeguata e si doti il programma (almeno) delle seguenti funzioni:

un menu da cui richiamare le altre funzionalità;
caricamento dei dati da file (prenotazioni.txt, aperture.txt);
inserisci_prenotazione (funzione che consente ad un’operatore di verificare la disponibilità di un tavolo ed eventualmente effettuare la prenotazione);
inserisci_prenotazioni_da_file (si supponga di avere un file che contiene un elenco di richieste di prenotazione -richieste.txt- da scorrere e trasformare in prenotazioni qualora vi siano ancora tavoli liberi);
lista_dei_tavoli ancora disponibili (mostrati per data, fascia oraria e sala - es.: 04/06/2019: 21-22 - Sala A)

P.S. si consiglia di utilizzare strutture dati dinamiche

10 Risposte

  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Un thread del genere non ha senso (già dal titolo).

    Dovresti cominciare tu a fare qualcosa e chiedere *soltanto* quando hai una specifica difficoltà, mostrando il codice scritto e il problema.

    Se cominci ad esaminare le strutture, fai una proposta tu.
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Hai tante informazioni: alcune saranno variabili, altre costanti.
    Ricorda che, di solito, TUTTE le singole informazioni contenute nel testo servono a qualcosa.
    Scorri il testo e identifica le strutture.
    Poi identifica gli array.
    Disegna un diagrama di flusso (anche con carta e penna).
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Avevo pensato di creare un array di strutture Ristorante e di inserirgli come elementi una struttura sale, una struttura prenotazioni e una struttura tavoli.
    Nella struttura ristorante volevo inserire i seguenti campi:
    -Giorni di apertura (array di caratteri)
    - num_sale (intero positivo)
    Nella struttura Sale invece volevo inserire i seguenti campi:
    -tipologia (array di caratteri(A,B,C,D,E))
    Nella struttura Prenotazioni avevo pensato ai seguenti campi:
    -Data_prenotazione (array di caratteri)
    -Orario_inizio (intero positivo)
    -Orario_fine(intero_positivo)
    -Durata (intero positivo)
    -numero partecipanti (intero positivo)
    -tipo_pasto(array di caratteri)
    -dati_contatto (array di caratteri)
    Nella struttura tavoli inserisco questi campi:
    - id_tavolo(intero positivo)
    -n_posti (intero positivo)

    Ho cercato di immaginare le strutture in questa maniera. Sono quasi sicuro che non vadano bene perché è la prima volta che lavoro con piú strutture e non so come comportarmi. Sinceramente ho trovato molta difficoltà a dichiarare i campi Orario e Durata. Avevo pensato di dichiararli come interi perché nella funzione di inserimento di una prenotazione avrei poi calcolato la differenza tra l'orario di inizio prenotazione e quello di fine prenotazione, e confrontato con il campo durata, se fosse stato maggiore avrei stampato a schermo un messaggio di errore durante l'inserimento dell'orario di prenotazione
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Ciao inizia a modificare il titolo della discussione, "richiesta aiuto" non ha senso in un forum dove il 50% dei thread riguarda tale tematica.
    Utilizza un titolo che spieghi con poche parole il problema.
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Toki ha scritto:


    Ciao inizia a modificare il titolo della discussione, "richiesta aiuto" non ha senso in un forum dove il 50% dei thread riguarda tale tematica.
    Utilizza un titolo che spieghi con poche parole il problema.
    D'accordo, ho modificato il titolo scrivendo di cosa ho bisogno
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Questi campi

    -Orario_fine(intero_positivo)
    -Durata (intero positivo)

    non mi sembrano affatto necessari. A cosa ti servono rispetto alla descrizione nella traccia del compito?

    E che senso "reale" ha in un sistema di prenotazioni?
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    oregon ha scritto:


    Questi campi

    -Orario_fine(intero_positivo)
    -Durata (intero positivo)

    non mi sembrano affatto necessari. A cosa ti servono rispetto alla descrizione nella traccia del compito?

    E che senso "reale" ha in un sistema di prenotazioni?
    non capisco se mi stai suggerendo di non utilizzare la struttura prenotazioni o di andarla a modificare
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Giorgio11 ha scritto:


    non capisco se mi stai suggerendo di non utilizzare la struttura prenotazioni o di andarla a modificare
    Se la prenotazione dura un'ora, non ti serve sapere a che ora finisce: finirà un'ora dopo che è iniziata (La Palisse docet).
    Idem per la durata.
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Andrea Quaglia ha scritto:


    Giorgio11 ha scritto:


    non capisco se mi stai suggerendo di non utilizzare la struttura prenotazioni o di andarla a modificare
    Se la prenotazione dura un'ora, non ti serve sapere a che ora finisce: finirà un'ora dopo che è iniziata (La Palisse docet).
    Idem per la durata.
    okay, per il resto le strutture vanno bene?
  • Re: Richiesta di aiuto su come svolgere un programma in C che coinvolga piú strutture

    Guarda ... se non hai esperienza puoi seguire una strada "per passi".

    Imposta le strutture con quello che pensi che serva e scrivi il codice, funzione per funzione, una voce di menu dopo l'altra.
    In questo modo vedi se le strutture sono adatte, incomplete o c'è bisogno di modificarle strada facendo. Se non ne usi alcune parti, quelle erano inutili.

    Quindi, il prossimo passo è scrivi il codice del menu e poi quello della prima opzione di menu. E se ne riparla.
Devi accedere o registrarti per scrivere nel forum
10 risposte