Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636

    [C] struttura "annidata"

    ciao a tutti
    devo creare una struct un pò "annidata"
    il problema richiede

    Ciascuna prenotazione è caratterizzata dalle seguenti informazioni :
    numero del tavolo (da 1 a 20), data (giorno,mese, anno), l'insieme (vettore) delle portate, l'insieme (vettore) delle bevande ed il costo totale del pasto.
    Per ciascuna portata sono memorizzate le seguenti informazioni :
    1. codice della portata (da 1 a 200)
    2. numero di tale portata ordinato (quantità ordinata per portata)
    3. costo portata;

    Per ciascuna bevanda
    1. codice bevanda (da 1 a 20)
    2. numero di tale bevanda (quantità ordinata per portata)
    3. costo bevanda

    Ciascuna ordinazione può avere al massimo 20 portate diverse e 10 bevande diverse

    io ho fatto in questo modo..mi dite se va bene ?

    codice:
     struct prenotazione {
            int tavolo;
            int data;
            struct portata {   
                int codicepo;
                int totpo;
                int costopo;
            };
            struct bevanda {
                int codicebe;
                int totbe;
                int costobe;
            };
            int totcosto;
        };

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La data non va bene (come indichi il giorno, mese e anno?)

    Le altre strutture non vanno inserite nella prima, ma dichiarate prima e all'interno della prenotazione devono essere dichiarati i due vettori (da 20 portate e da 10 bevande) di cui non c'e' traccia nel tuo codice.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    in questo modo ?

    codice:
     struct bevanda {
                int codicebe;
                int totbe;
                int costobe;
            };
    
        struct portata {   
                int codicepo;
                int totpo;
                int costopo;
            };
    
    
        struct prenotazione {
            int tavolo;
            int data;
            struct portata port[20];
            struct bevanda bev[10];
            int totcosto;
        };
    per la data ..credo che basti un intero...perchè successivamente non mi chiede di fare elaborazioni sulla data...non so

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    ma come faccio ad inserire i dati nella "sottostruttura" ?

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define N 100
    
    /*
     * 
     */
    int main() {
    
        struct bevanda {
                int codicebe;
                int totbe;
                int costobe;
            };
    
        struct portata {   
                int codicepo;
                int totpo;
                int costopo;
            };
    
    
        struct prenotazione {
            int tavolo;
            int data;
            struct portata port[20];
            struct bevanda bev[10];
            int totcosto;
        }pre[N];
    
        int i;
    
    
        printf ("Inserisci Ordinazione");
    
        for (i = 0; i < N; i++){
            printf ("inserisci numero del tavolo da 1 a 20 : ");
            scanf ("%d", &pre[i].tavolo);
            printf ("Inserisci data : ");
            scanf ("%d", &pre[i].data );
    
    
        }
        return 0;
    }

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per la data non va bene un intero. Se devi fare l'input di giorno, mese, anno in tre variabili diverse ti serve una struttura con i tre campi da inserire nella struttura principale. Non ha senso un input di un numero per la data come hai scritto.

    Per il resto, quale problema hai nello specifico ?
    Hai letto nel libro dove studi, il capitolo delle strutture ?
    Cosa dice ? Cosa non hai capito ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    ok ho fatto così...intuitivamente
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define N 100
    
    /*
     * 
     */
    int main() {
    
        struct bevanda {
                int codicebe;
                int totbe;
                int costobe;
            };
    
        struct portata {   
                int codicepo;
                int totpo;
                int costopo;
            };
    
    
        struct prenotazione {
            int tavolo;
            int data;
            struct portata port[20];
            struct bevanda bev[10];
            int totcosto;
        }pre[N];
    
        int i;
    
    
        printf ("Inserisci Ordinazione");
    
        for (i = 0; i < N; i++){
            printf ("Inserisci numero del tavolo da 1 a 20 : ");
            scanf ("%d", &pre[i].tavolo);
            printf ("Inserisci data : ");
            scanf ("%d", &pre[i].data );
            for (j = 0; j < N; j++){
                printf ("Inserisci codice portata da 1 a 200 : ");
                scanf("%d", &pre[i].port[j].codicepo);
                printf ("Inserisci quantita portata : ");
                scanf("%d", &pre[i].port[j].totpo);
                printf("Inserisci costo portata : ");
                scanf("%d", &pre[i].port[j].costopo);
                printf ("Inserisci codice bevanda da 1 a 20 : ");
                scanf("%d", &pre[i].bev[j].codicebe);
                printf ("Inserisci quantita bevanda : ");
                scanf("%d", &pre[i].bev[j].totbe);
                printf("Inserisci costo bevanda : ");
                scanf ("%d", &pre[i].bev[j].costobe);
            }
    
        }
        return 0;
    }
    per la data provo ad inserire la struct come mi dici..anche se nella traccia non mi chiede il vettore

  7. #7
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    in caso per la data fai inserire una stringa

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jurij7
    ok ho fatto così...intuitivamente
    Intuitivamente?

    Guarda che un linguaggio si STUDIA ... non si INTUISCE ...

    E cosa hai dedotto dal codice che hai scritto? Compila? Funziona?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Originariamente inviato da oregon
    Intuitivamente?

    Guarda che un linguaggio si STUDIA ... non si INTUISCE ...

    E cosa hai dedotto dal codice che hai scritto? Compila? Funziona?
    si di funzionare..funziona cioè lo compila per bene
    intuitivamente..nel senso che non ho materiale relativo a questa cosa..quindi non sapevo bene
    ma pensandoci..ho fatto così

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jurij7
    si di funzionare..funziona cioè lo compila per bene
    Il programma NON viene compilato (c'e' un errore).

    intuitivamente..nel senso che non ho materiale relativo a questa cosa..quindi non sapevo bene
    E come fai a imparare ad usare un elemento del linguaggio (le strutture) senza un TESTO di riferimento da cui studiare? Non penserai di imparare il C tramite una lunga serie di messaggi sul forum ...

    ma pensandoci..ho fatto così
    Con la seconda for chiedi in input 200 portate e 200 bevande per ognuno dei 200 tavoli ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.