Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - anagrafica di un albergo con liste e code di prenotazione
Forum - C/C++ - anagrafica di un albergo con liste e code di prenotazione

Avatar
mamflo (Normal User)
Newbie


Messaggi: 9
Iscritto: 12/07/2012

Segnala al moderatore
Postato alle 15:58
Venerdì, 13/07/2012
dovrei implementare un programma che faccia l'anagrafica di un albergo con liste e code per la prenotazione, partendo dal fatto che so usare sia le liste che le code che le strutture non ho ben capito cosa sarebbe l'anagrafica di un hotel:-|:-|. Avete qualche spunto per iniziare? non pretendo il codice un aiuto per capire la logica da dove iniziare.

vi ringrazio

PM Quote
Avatar
mamflo (Normal User)
Newbie


Messaggi: 9
Iscritto: 12/07/2012

Segnala al moderatore
Postato alle 13:28
Sabato, 14/07/2012
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <malloc.h>
  4.  
  5. struct cliente
  6. {
  7. char nome[20];
  8. char cognome[20];
  9. int codice;
  10. struct cliente *next;
  11. };
  12.  
  13.  
  14. struct cliente *crea();
  15. struct cliente *inserisci(struct cliente *);
  16.  
  17. int i=1;
  18. main()
  19. {
  20. int c=-1;
  21. struct cliente *primo, *new;
  22. while(c!=0)
  23.         {
  24.         printf("\n\t1.crea nuovo cliente");
  25.         printf("\n\t2.visualizza lista clienti");
  26.         scanf("%d",&c);
  27.         switch(c)
  28.                 {
  29.                 case 1:
  30.                         if (i==1)
  31.                                 {
  32.                                 primo = crea();
  33.                                 i++;
  34.                                 new = primo;
  35.                                 break;
  36.                                 }
  37.                         else
  38.                                 {
  39.                                 new->next=malloc(sizeof(struct cliente));
  40.                                 new = inserisci(new->next);
  41.                                 break;
  42.                                 }
  43.                 /*case 2: visualizza(); break;*/
  44.                 }
  45.         }
  46. }
  47.  
  48. struct *cliente crea(){ /*linea incriminata*/
  49.  
  50. struct cliente *p;
  51.                
  52.         p = malloc(sizeof(struct cliente);
  53.  
  54.         printf("\nInserisci nome del cliente");
  55.         scanf("%s", p->nome);
  56.         printf("\nInserisci cognome");
  57.         scanf("%s", p->cognome);
  58.         printf("\nInserisci codice cliente (0-9999)");
  59.         scanf("%d", &p->codice);
  60.  
  61.         p->next= NULL;
  62.  
  63.         return p;
  64. }
  65.  
  66. struct *cliente inserisci(struct cliente *p){ /*linea incriminata*/
  67.  
  68.  
  69. printf("\nInserisci nome del cliente");
  70.         scanf("%s", p->nome);
  71.         printf("\nInserisci cognome");
  72.         scanf("%s", p->cognome);
  73.         printf("\nInserisci codice cliente (0-9999)");
  74.         scanf("%d", &p->codice);
  75.  
  76.         p->next= NULL;
  77.  
  78.         return p;
  79. }



mi da errori sulla riga delle funzioni crea e inserisci

:48:8:error: expected ‘{’ before ‘*’ token
:66:8: error: expected ‘{’ before ‘*’ token


non capisco il perchè dovrebbe esserci una parentesi prima del '*'

PM Quote
Avatar
mamflo (Normal User)
Newbie


Messaggi: 9
Iscritto: 12/07/2012

Segnala al moderatore
Postato alle 13:52
Sabato, 14/07/2012
scusate ho risolto avevo messo '*' nel posto sbagliato:-|:-|

PM Quote
Avatar
mamflo (Normal User)
Newbie


Messaggi: 9
Iscritto: 12/07/2012

Segnala al moderatore
Postato alle 17:25
Domenica, 15/07/2012
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <malloc.h>
  4.  
  5. struct cliente
  6. {
  7. char nome[20];
  8. char cognome[20];
  9. int codice;
  10. struct cliente *next;
  11. };
  12.  
  13. struct stanza
  14. {
  15. int numero;
  16. struct cliente *crea();
  17. struct cliente *inserisci(struct cliente *);
  18. void cerca(struct cliente *);
  19. void visualizza(struct cliente *);
  20.  
  21. int i=1;
  22. main()
  23. {
  24. int c=-1;
  25. struct cliente *p, *new;
  26. while(c!=0)
  27.         {
  28.         printf("\nNella lista sono presenti %d clienti",i-1);
  29.         printf("\n\n\t1.crea nuovo cliente");
  30.         printf("\n\t2.cerca clienti");
  31.         printf("\n\t3.visualizza lista clienti");
  32.         printf("\n\t4.crea prenotazione");
  33.         printf("\n\nDigita la scelta ---->");
  34.         scanf("%d",&c);
  35.         switch(c)
  36.                 {
  37.                 case 1:
  38.                         if (i==1)
  39.                                 {
  40.                                 p = crea();
  41.                                 i++;
  42.                                 new = p;
  43.                                 break;
  44.                                 }
  45.                         else
  46.                                 {
  47.                                 new->next=malloc(sizeof(struct cliente));
  48.                                 new = inserisci(new->next);
  49.                                 break;
  50.                                 }
  51.                 case 2: cerca(p); break;
  52.                 case 3: visualizza(p); break;
  53.                 }
  54.         }
  55. }
  56.  
  57. struct cliente * crea(){
  58.  
  59. struct cliente *p;
  60.                
  61.         p = malloc(sizeof(struct cliente));
  62.        
  63.         printf("\nInserisci nome del cliente  ");
  64.         scanf("%s", p->nome);
  65.         printf("\nInserisci cognome  ");
  66.         scanf("%s", p->cognome);
  67.         p->codice = 1;
  68.         printf("\nAl cliente è stato assegnato il codice [1]\n");
  69.         p->next=NULL;
  70.         return p;
  71. }
  72.  
  73. struct cliente * inserisci(struct cliente *p){
  74.  
  75.  
  76. printf("\nInserisci nome del cliente ");
  77.         scanf("%s", p->nome);
  78.         printf("\nInserisci cognome  ");
  79.         scanf("%s", p->cognome);
  80.         p->codice = i;
  81.         printf("\nAl cliente è stato assegnato il codice [%d]\n",i);
  82.         i++;
  83.         p->next= NULL;
  84.  
  85.         return p;
  86. }
  87.  
  88. void cerca(struct cliente *p)
  89. {
  90. int codice;
  91. printf("\ndigita il codice cliente---->");
  92. scanf("%d", &codice);
  93.  
  94.  
  95. do
  96.         {
  97.         if (p->codice==codice)
  98.                 {
  99.                 printf("\n\nil codice cliente appartiene a  [ %s %s ]",p->nome,p->cognome);
  100.                 }
  101.        
  102.         }
  103. while ((p = p->next) !=NULL);
  104.        
  105. }      
  106.  
  107. void visualizza(struct cliente *p)
  108. {
  109. int d=1;
  110.         printf("[codice]  [nome]  [cognome]");
  111. while (p!=NULL)
  112.         {
  113.         printf("\n   [%d]    %s   %s\n",d,p->nome,p->cognome);
  114.         d++;
  115.         p = p->next;
  116.         }
  117. }



con questa porzione di programma ho creato la lista clienti identificati da un numero codice unico assegnato ad ogni cliente, adesso dovrei creare una funzione per la prenotazione di una stanza nell'albergo con una data di arrivo e una di partenza, avevo pensato ad una coda di stanze di albergo che mi avvisa su quante stanze ci sono libere per una determinata data come potrei fare?

PM Quote