Ragazzi ho un problema che non riesco a risolvere in alcun modo
Posto il codice
#include <centro.h>
/*-------- STRUCT --------*/
struct Corso {
int id;
char nome_corso[100];
char responsabile_corso[100];
};
struct Soci {
int id[100];
char nome_socio[100];
char cognome_socio[100];
};
struct Iscrizioni {
int id[100];
char data_iscrizione[100];
char costo[100];
};
struct Ingressi {
int id[100];
char orario_entrata[100];
char orario_uscita[100];
};
/*-------- VARIABILI GLOBALI --------*/
int n = 0;
char c;
char l;
/*-------- FUNZIONI PER GESTIONE CORSI --------*/
void add_course(char nome_corso,char responsabile_corso){
int id[100];
printf("Inserire l'id:\n");
if( scanf("%d", id) != 1 )
{
fprintf( stderr, "Input ERRATO\n");
exit(1);
}
printf("Inserire corso:\n");
if( scanf("%s", nome_corso) != 1 )
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserire responsabile:\n");
if( scanf("%s", responsabile_corso) != '1' )
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
n++;
}
void read_course(char nome_corso, char responsabile_corso){
int i;
for (i=0;i<n;i++) {
printf("\nCorso %d:\nID: %d\nNOME CORSO: %s\nRESPONSABILE: %s\n", i, n, nome_corso, responsabile_corso);
}
}
void update_course(char nome_corso, char responsabile_corso){
int i;
int id[100];
int check = 0;
printf("\nInserire l'id del corso da modificare:\n");
if( scanf("%d", id) != 1 )
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id[i])
printf("Inserisci nome del corso:\n");
if( scanf("%s", nome_corso) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserisci responsabile:\n");
if( scanf("%s", responsabile_corso) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
if (check==0){
printf("L'id inserito NON è presente");
}
void delete_course(char nome_corso, char responsabile_corso){
int i, j;
int id[100];
int check = 0;
printf("\nInserisci l'id del corso da eliminare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id[i]){
n--;
for(j=*id; j<n; j++){
j = j+1;
id[i]--;
}
check = 1;
}
}
if(check == 0)
printf("\nL'id inserito non è presente!\n");
realloc(id, sizeof(struct Corso));
}
/*-------- FUNZIONI PER GESTIONE SOCI --------*/
void add_member(char nome_socio, char cognome_socio){
id[100]=n;
printf("Inserire l'id:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRARO!\n");
exit(1);
}
printf("Inserire nome:\n");
if( scanf("%s", nome_socio) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserire cognome:\n");
if( scanf("%s", cognome_socio) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
void read_member(char nome_socio, char cognome_socio){
int i;
for (i=0;i<n;i++) {
printf("\nSoci %d:\nID: %d\nNOME: %s\nCOGNOME: %s\n", i, n, nome_socio, cognome_socio);
}
}
void update_member(char nome_socio, char cognome_socio){
int i;
int id[100];
int check = 0;
printf("\nInserire l'id del socio da modificare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
printf("Inserisci nome:\n");
if( scanf("%s", nome_socio) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserisci cognome:\n");
if( scanf("%s", cognome_socio) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
check = 1;
}
}
if(check==0){
printf("L'id inserito NON è presente");
}
}
void delete_member(char nome_socio, char cognome_socio){
int i, j;
int id[100];
int check = 0;
printf("\nInserisci l'id del socio da eliminare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
n--;
for(j=*id; j<n; j++){
j = j+1;
id[i]--;
}
check = 1;
}
}
if(check == 0)
printf("\nL'id inserito NON è presente!\n");
realloc(id, sizeof(struct Soci));
}
/*-------- FUNZIONI PER GESTIONE ISCRIZIONI/PAGAMENTI --------*/
void add_enrollment(char data_iscrizione, char costo){
id[100]=n;
printf("Inserire data:\n");
if( scanf("%s", data_iscrizione) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserire costo:\n");
if( scanf("%s", costo) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
void read_enrollment(char data_iscrizione, char costo){
int i;
for (i=0;i<n;i++) {
printf("\nCorso %d:\nID: %d\nDATA ISCRIZIONE: %s\nCOSTO: %s\n", i, n, data_iscrizione, costo);
}
}
void update_enrollment(char data_iscrizione, char costo){
int i;
int id[100];
int check = 0;
printf("\nInserire l'id del corso da modificare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
printf("Inserisci data dell'iscrizione:\n");
if( scanf("%s", data_iscrizione) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserisci costo:\n");
if( scanf("%s", costo) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
}
if(check==0){
printf("L'id inserito NON è presente");
}
}
void delete_enrollment(char data_iscrizione, char costo){
int i, j;
int id[100];
int check = 0;
printf("\nInserisci l'id dell'iscrizione da eliminare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
n--;
for(j=*id; j<n; j++){
j = j+1;
id[i]--;
}
check = 1;
}
}
if(check == 0)
printf("\nL'id inserito non è presente!\n");
realloc(c, sizeof(struct Iscrizioni));
}
/*-------- FUNZIONI PER GESTIONE INGRESSI --------*/
void add_entrance(char orario_entrata, char orario_uscita){
id[100]=n;
printf("Inserire data ingresso:\n");
if( scanf("%s", orario_entrata) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
printf("Inserire responsabile:\n");
if( scanf("%s", orario_uscita) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
void read_entrance(char orario_entrata, char orario_uscita){
int i;
for (i=0;i<n;i++) {
printf("\nIngressi %d:\nID: %c\nOrario ingresso: %s\nOrario uscita: %s\n", i, n, orario_entrata, orario_uscita);
}
}
void update_entrance(char orario_entrata, char orario_uscita){
int i;
int id[100];
int check = 0;
printf("\nInserire l'id dell'ingresso da modificare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
printf("Inserisci orario ingresso:\n");
if( scanf("%s", orario_entrata) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
}
printf("Inserisci orario uscita:\n");
if( scanf("%s", orario_uscita) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
}
}
if(check==0){
printf("L'id inserito NON è presente");
}
}
void delete_entrance(char orario_entrata, char orario_uscita){
int i, j;
int id[100];
int check = 0;
printf("\nInserisci l'id dell'ingresso da eliminare:\n");
if( scanf("%d", id) != 1)
{
fprintf( stderr, "Input ERRATO!\n");
exit(1);
}
for(i = 0; i<n; i++){
if(*id == id){
n--;
for(j=*id; j<n; j++){
j = j+1;
id[i]--;
}
check = 1;
}
}
if(check == 0)
printf("\nL'id inserito non è presente!\n");
realloc(id, sizeof(struct Ingressi));
}
/*-------- FUNZIONE MENU --------*/
void menu_principale()
{
int scelta;
char torna;
do
{
system("cls");
printf("Menù Principale:\n\n");
/*Inizio elenco delle funzioni disponibili in output*/
printf("[1]Corso\n");
printf("[2]Soci\n");
printf("[3]Iscrizioni\n");
printf("[4]Ingressi\n");
/*fine elenco funzioni*/
printf("\nEffettua la scelta: ");
scanf("%d", &scelta);
/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
switch(scelta)
{
case 1:
system("cls");
menu_corso();
system("pause");
system("cls");
break;
case 2:
system("cls");
menu_soci();
system("pause");
system("cls");
break;
case 3:
system("cls");
menu_iscrizioni();
system("pause");
system("cls");
break;
case 4:
system("cls");
menu_ingressi();
system("pause");
system("cls");
break;
default:
printf("Numero non valido\n");
break;
}
}while (torna != 'n');
void menu_corso()
{
int scelta;
char torna;
do
{
system("cls");
printf("Menù Corso:\n\n");
/*Inizio elenco delle funzioni disponibili in output*/
printf("[1]Aggiungi\n");
printf("[2]Visualizza\n");
printf("[3]Modifica\n");
printf("[4]Elimina\n");
/*fine elenco funzioni*/
printf("\nEffettua la scelta: ");
scanf("%d", &scelta);
/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
switch(scelta)
{
case 1:
system("cls");
add_course (nome_corso, responsabile_corso);
system("pause");
system("cls");
break;
case 2:
system("cls");
read_course (nome_corso, responsabile_corso);
system("pause");
system("cls");
break;
case 3:
system("cls");
update_course (nome_corso, responsabile_corso);
system("pause");
system("cls");
break;
case 4:
system("cls");
delete_course(nome_corso, responsabile_corso);
system("pause");
system("cls");
break;
default:
printf("Numero non valido\n");
break;
}
printf("Si desidera tornare al Menù Corso?\n\n");
printf("[y] Si, desidero tornare al Menù Corso\n");
printf("[n] No, desidero uscire\n\n");
printf("Effettua la tua scelta: ");
scanf("%s", &torna);
}while (torna != 'n');
}
void menu_soci()
{
int scelta;
char torna;
do
{
system("cls");
printf("Menù Soci:\n\n");
/*Inizio elenco delle funzioni disponibili in output*/
printf("[1]Aggiungi\n");
printf("[2]Visualizza\n");
printf("[3]Modifica\n");
printf("[4]Elimina\n");
/*fine elenco funzioni*/
printf("\nEffettua la scelta: ");
scanf("%d", &scelta);
/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
switch(scelta)
{
case 1:
system("cls");
add_member(nome_socio, cognome_socio);
system("pause");
system("cls");
break;
case 2:
system("cls");
system("pause");
system("cls");
break;
case 3:
system("cls");
system("pause");
system("cls");
break;
case 4:
system("cls");
system("pause");
system("cls");
break;
default:
printf("Numero non valido\n");
break;
}
printf("Si desidera tornare al Menù Principale?\n\n");
printf("[y] Si, desidero tornare al Menù Principale\n");
printf("[n] No, desidero uscire\n\n");
printf("Effettua la tua scelta: ");
scanf("%s", &torna);
}while (torna != 'n');
}
void menu_iscrizioni()
{
int scelta;
char torna;
do
{
system("cls");
printf("Menù Iscrizioni:\n\n");
/*Inizio elenco delle funzioni disponibili in output*/
printf("[1]Aggiungi\n");
printf("[2]Visualizza\n");
printf("[3]Modifica\n");
printf("[4]Elimina\n");
/*fine elenco funzioni*/
printf("\nEffettua la scelta: ");
scanf("%d", &scelta);
/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
switch(scelta)
{
case 1:
system("cls");
add_enrollment(data_iscrizione, costo);
system("pause");
system("cls");
break;
case 2:
system("cls");
read_enrollment(data_iscrizione, costo);
system("pause");
system("cls");
break;
case 3:
system("cls");
edit_enrollment(data_iscrizione, costo);
system("pause");
system("cls");
break;
case 4:
system("cls");
delete_enrollment(data_iscrizione, costo);
system("pause");
system("cls");
break;
default:
printf("Numero non valido\n");
break;
}
printf("Si desidera tornare al Menù Principale?\n\n");
printf("[y] Si, desidero tornare al Menù Principale\n");
printf("[n] No, desidero uscire\n\n");
printf("Effettua la tua scelta: ");
scanf("%s", &torna);
}while (torna != 'n');
}
void menu_ingressi()
{
int scelta;
char torna;
do
{
system("cls");
printf("Menù Ingressi:\n\n");
/*Inizio elenco delle funzioni disponibili in output*/
printf("[1]Aggiungi\n");
printf("[2]Visualizza\n");
printf("[3]Modifica\n");
printf("[4]Elimina\n");
/*fine elenco funzioni*/
printf("\nEffettua la scelta: ");
scanf("%d", &scelta);
/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
switch(scelta)
{
case 1:
system("cls");
add_entrance(orario_entrata, orario_uscita);
system("pause");
system("cls");
break;
case 2:
system("cls");
read_entrance(orario_entrata, orario_uscita);
system("pause");
system("cls");
break;
case 3:
system("cls");
edit_entrance(orario_entrata, orario_uscita);
system("pause");
system("cls");
break;
case 4:
system("cls");
delete_entrance(orario_entrata, orario_uscita);
system("pause");
system("cls");
break;
default:
printf("Numero non valido\n");
break;
}
printf("Si desidera tornare al Menù Principale?\n\n");
printf("[y] Si, desidero tornare al Menù Principale\n");
printf("[n] No, desidero uscire\n\n");
printf("Effettua la tua scelta: ");
scanf("%s", &torna);
}while (torna != 'n');
}
}
}
Il problema è che il compilatore alla riga add_member(nome_socio,cognome_socio); mi da uno strano errore, ovvero, riconosce la funzione add_member ma dice che le variabili sono UNDECLARED o FIRST DECLARED HERE. Quando invece stanno all'inizio nella corrispondente struct Soci
Che debbo fare??
AIUTOOOOOOO