Vedo che ancora hai un po' di confusione ...
Intanto il codice corretto
... leggi anche le note accanto alle righe ...codice:#include <stdio.h> #define MAX 2 // E' meglio utilizzare il maiuscolo per le costanti typedef struct { char nome[30]; char cognome[30]; } persona; persona persone[MAX]; // il nome usato per l'argomento non deve essere uguale a quello // della variabile passata ... qui ho usato arg void stampa_nome(int arg); void prendi_nome(int arg); void stampa_cognome(int arg); void prendi_cognome(int arg); void main() { int i; // questa variabile puo' essere dichiara nel main for (i=0; i<MAX; ++i) { // quando richiami le funzioni, devi passare gli argomenti attuali // tramite variabili e/o espressioni compatibili ... prendi_nome(i); prendi_cognome(i); stampa_nome(i); stampa_cognome(i); } } // il nome dell'argomento non deve essere uguale // a quello della variabile usata per passare il valore // Ho usato arg ed e' solo importante che arg sia // usato all'interno della funzione ... il compilatore // provvedera' a copiare il valore di i in quello di arg void stampa_nome(int arg) { printf("il nome utente è: %s\n", persone[arg].nome); } void prendi_nome(int arg) { printf("inserisci nome utente\n"); scanf ("%s", persone[arg].nome); } void stampa_cognome(int arg) { printf("il cognome utente è: %s\n", persone[arg].cognome); } void prendi_cognome(int arg) { printf("inserisci cognome utente\n"); scanf ("%s", persone[arg].cognome); }
E leggi un buon libro per le basi di C ...

Rispondi quotando