Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Modifica di prototipi e dichiarazioni di funzioni
Forum - C/C++ - Modifica di prototipi e dichiarazioni di funzioni

Avatar
drewnik99 (Normal User)
Pro


Messaggi: 69
Iscritto: 28/03/2008

Segnala al moderatore
Postato alle 17:35
Giovedì, 01/12/2011
Questo è la struttura del programma:

Codice sorgente - presumibilmente C++

  1. void apri(void);
  2. void inserisci(void);
  3. void cerca(void);
  4. void aggiorna(void);
  5. void elimina(void);
  6. void visualizza(void);
  7. void salva(void);
  8.  
  9. struct comp
  10. {
  11.     int code;
  12.     char name[27];
  13.     char des[52];
  14.     int disp;
  15.     struct comp *n;
  16. };
  17.  
  18. struct comp *comps = 0;
  19.  
  20. void (*cmd[])(void) = {apri, inserisci, cerca, aggiorna, elimina, visualizza, salva};
  21.  
  22. int main()
  23. {
  24. int c;
  25.  
  26. for(;;)
  27. {
  28. scanf("%i", &c);
  29. (*cmd[c])();
  30. }
  31. }





Come devo modificare i prototipi e le dichiarazioni delle funzioni e il vettore di puntatori a funzione in modo da dichiarare comps nella funzione main e passarlo come parametro a tutte le altre funzioni?

Ultima modifica effettuata da drewnik99 il 01/12/2011 alle 17:45
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6390
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:44
Giovedì, 01/12/2011
Ad esempio

Codice sorgente - presumibilmente C++

  1. typedef struct comp
  2. {
  3.     int code;
  4.     char name[27];
  5.     char des[52];
  6.     int disp;
  7.     struct comp *n;
  8. } *pcomp;
  9.  
  10. void apri(pcomp pc);
  11. void inserisci(pcomp pc);
  12. void cerca(pcomp pc);
  13. void aggiorna(pcomp pc);
  14. void elimina(pcomp pc);
  15. void visualizza(pcomp pc);
  16. void salva(pcomp pc);
  17.  
  18. pcomp comps = NULL;
  19.  
  20. void (*cmd[])(pcomp pc) = {apri, inserisci, cerca, aggiorna, elimina, visualizza, salva};
  21.  
  22. int main()
  23. {
  24.         int c;
  25.  
  26.         for(;;)
  27.         {
  28.                 scanf("%i", &c);
  29.                
  30.                 (*cmd[c])(comps);
  31.         }
  32. }



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
drewnik99 (Normal User)
Pro


Messaggi: 69
Iscritto: 28/03/2008

Segnala al moderatore
Postato alle 21:19
Giovedì, 01/12/2011
Grazie mille.

PM Quote