Ragazzi ho un problema con queste funzioni in fase di compilazione
void inserire_matricola(int posizione_corrente){
int pass=1;
char *matricola_acquisita;
matricola_acquisita = acquisire_matricola(pass);
strcpy(lista_studenti[posizione_corrente].matricola, matricola_acquisita);
return;
}
char* acquisire_matricola(int variabile){
char *matricola_provvisoria;
do{
printf("inserisci la matricola");
scanf("%s",&matricola_provvisoria);
if(controllo_formattazione_matricola(&matricola_provvisoria)==0){
printf("La matricola puo' contenere solo numeri");
}
if(controllo_matricola(&matricola_provvisoria)==variabile){
if(variabile==0){
printf("La matricola non è presente");
}
else{
printf("La matricola e' presente");
}
}
}while(controllo_matricola(&matricola_provvisoria) == 1 || controllo_formattazione_matricola(&matricola_provvisoria)==0);
return &matricola_provvisoria;
}
int controllo_matricola(char matricola_cercata[6]){
int risultato=0;
int i =0;
while(i<studenti_presenti){
if(strcmp(matricola_cercata , lista_studenti[i].matricola)){
risultato=1;
i=studenti_presenti;
}
else{
i++;
}
}
return risultato;
}
int controllo_formattazione_matricola (char *stringa_numerica){
int risultato;
int i;
risultato=1;
i=0;
while (*stringa_numerica+i != '\0' && risultato==1) {
if (*stringa_numerica+i < '0' || *stringa_numerica+i > '9'){
risultato=0;
}
i=i+1;
}
return risultato;
}
questi sono i prototipi delle funzioni
void inserire_matricola(int posizione_corrente);
char* acquisire_matricola(int variabile);
int controllo_matricola(char *matricola_cercata);
int controllo_formattazione_matricola(char *stringa_numerica);
questo è invece il log del compilatore
Compilatore: TDM-GCC 4.7.1 64-bit Release
Building Makefile "G:\4_codice_libreria_studenti\Makefile.win"
Esecuzione di make...
mingw32-make.exe -f "G:\4_codice_libreria_studenti\Makefile.win" all
gcc.exe -c funzioni.c -o funzioni.o -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include"
funzioni.c: In function 'acquisire_matricola':
funzioni.c:32:9: warning: passing argument 1 of 'controllo_formattazione_matricola' from incompatible pointer type [enabled by default]
In file included from funzioni.c:1:0:
variabili_globali.h:33:5: note: expected 'char *' but argument is of type 'char **'
funzioni.c:35:9: warning: passing argument 1 of 'controllo_matricola' from incompatible pointer type [enabled by default]
In file included from funzioni.c:1:0:
variabili_globali.h:32:5: note: expected 'char *' but argument is of type 'char **'
funzioni.c:44:9: warning: passing argument 1 of 'controllo_matricola' from incompatible pointer type [enabled by default]
In file included from funzioni.c:1:0:
variabili_globali.h:32:5: note: expected 'char *' but argument is of type 'char **'
funzioni.c:44:9: warning: passing argument 1 of 'controllo_formattazione_matricola' from incompatible pointer type [enabled by default]
In file included from funzioni.c:1:0:
variabili_globali.h:33:5: note: expected 'char *' but argument is of type 'char **'
Oltre ad errori di tipo loop o qualcosa scritta in maniera non convenzionale, dove cavolo stanno questi errori o possibili errori nascosti?? non riesco a capire
Se avete bisogno di qualche commento sul codice chiedete pure