Esercizio funzioni

di il
9 risposte

Esercizio funzioni

Buonaserata a tutti, sto iniziando le funzioni e mi blocco sempre su alcune parti specie in questo codice che sto cercando di fare: la consegna e che devo stampare le informazione di 11 giocatori contenuti in un array di struct :
#include<stdio.h>
#include<stdlib.h>
struct cal{
                   char nomecognome[15];
                   int maglia;
                   int goal;
                           }cal squadra[11];
void carica(cal squadra[11]);
 main(){
        int   squadra[11];
        carica(squadra);
        system("pause");
        return 0;
        }
  
  void carica(cal squadra[11]){
       
       int i;
      
       printf("inserisci prima attaccante , poi centro e poi difensoore: \n");
       for(i=0;i<10;i++){
                        printf("nome e cognome:");
                        scanf("%s",squadra[i].nomecognome);
                        printf("maglia:");
                        scanf("%d",&squadra[i].maglia);
                        printf("goal:");
                        scanf("%d",&squadra[i].goal);
                        }
                        printf("\n");
return;
                        }
avendo appena iniziato sto facendo moltissime ricerche per cercare di risolvere i miei dubbi ma nulla, quello che so è:
-la funzione si divide in prototipo, chiamata e definizione
il prototipo l'ho intuito subito, solo che credo si aver problemi anche li,ma la cosa che veramente mi mette in difficoltà è la chiamata nel main, infatti non so proprio cosa scriverci e il procedimento da seguire :per programmi semplici riesco a capire , per questi un pò più complessi cerco di basarmi sulla logica di quelli semplici e applicare lo stesso ragionamento ma nulla, mi blocco e non so cosa fare, magari se potete darmi un aiuto per farmi capire effettivamente come si lavora sulle funzioni(perchè sono sicuro che quello è il problema, una volta che riesco a capire poi sarà tutto più semplice) ve ne sarei grato,ci sto sbattendo da più di un'ora ma nulla ..
grazie ancora

9 Risposte

  • Re: Esercizio funzioni

    Ho modificato il programma in questo modo ma mi da un errore alla chiamata :
    #include<stdio.h>
    #include<stdlib.h>
    struct cal{
                       char nomecognome[15];
                       int maglia;
                       int goal;
         
                               } ;
         
    void carica(struct cal squadra[11]){
           
           int i;
          
           printf("inserisci prima attaccante , poi centro e poi difensoore: \n");
           for(i=0;i<10;i++){
                            printf("nome e cognome:");
                            scanf("%s",squadra[i].nomecognome);
                            printf("maglia:");
                            scanf("%d",&squadra[i].maglia);
                            printf("goal:");
                            scanf("%d",&squadra[i].goal);
                            }
                            printf("\n");
    return;
                            }
    
     main(){
            struct cal squadra[11];
            carica(cal squadra);
            system("pause");
            return 0;
            }
      
  • Re: Esercizio funzioni

    Carica(squadra);
  • Re: Esercizio funzioni

    oregon ha scritto:


    carica(squadra);
    innanzitutto grazie della risposta
    avevo pensato di fare come dici te però mi da questo errore : cannot convert `cal*' to `int*' for argument `1' to `void carica(int*)' e non capisco proprio cosa significhi..
  • Re: Esercizio funzioni

    oregon ha scritto:


    carica(squadra);
    EDIT : ora funziona , dovevo aggiustare una cosuccia
    grazie ancora
  • Re: Esercizio funzioni

    oregon ha scritto:


    carica(squadra);
    una cosa però : perche mettere "squadra " e non " cal squadra"? nella chiamata devo inserire il nome del vettore (cal squadra), no?
  • Re: Esercizio funzioni

    Il nome del vettore è

    squadra
  • Re: Esercizio funzioni

    oregon ha scritto:


    Il nome del vettore è

    squadra
    ah quindi il nome del vettore è "squadra" e il "cal " davanti si mette unicamente per "legare" lo struct al vettore , giusto?
  • Re: Esercizio funzioni

    Non direi "legare".

    cal è il tipo del vettore

    Come può essere int o double
  • Re: Esercizio funzioni

    oregon ha scritto:


    Non direi "legare".

    cal è il tipo del vettore

    Come può essere int o double
    capito ora, grazie ancora
Devi accedere o registrarti per scrivere nel forum
9 risposte