Oppure

Loading
29/07/10 9:55
giovybus
Salve ragazzi!... mi sapete dire perché mi da errore il compilatore con questo codice??.. cosa c'è di sbagliato??

list_t *
init_list(list_t *list, FILE *fp){

	list_t *head;
	fp = fopen("file.gn", "a+");

	if(fp){
		list = (list_t *)malloc(sizeof(list_t)); /*Alloco il primo elemento della lista*/
		
		fscanf(fp, "%s\t", list ->name_matter);/*Inserisco i vari dati dal file*/
		fscanf(fp, "%d\t", list ->valutation);
		fscanf(fp, "%d\t", list ->day);
		fscanf(fp, "%d\t", list ->mounth);
		fscanf(fp, "%d\t", list ->year);
		head = list; /*tengo il riferimento della testa della lista*/
		while(feof(fp)){
			list ->next = (list_t *)malloc(sizeof(list_t));/*alloco l'elemento successivo*/
			list = list -> next;/*sposto il puntatore all'elemento successivo che ho allocato precedentemente*/
			fscanf(fp, "%s\t", list ->name_matter);/*Inserisco i vari dati dal file*/
			fscanf(fp, "%d\t", list ->valutation);
			fscanf(fp, "%d\t", list ->day);
			fscanf(fp, "%d\t", list ->mounth);
			fscanf(fp, "%d\t", list ->year);		
		}
			list -> next = NULL;
			return head;
	}else{
		return list = NULL;
	}

}
aaa
29/07/10 10:05
a_butta
posta l'errore no?
aaa
29/07/10 10:08
giovybus
prima mi da quest errore nel file.h
'list_t' : 'struct' type redefinition

e poi questi errori a raffica in corrispondenza di ogni fscanf
use of undefined type 'list_t'
aaa
29/07/10 10:09
giovybus
da premettere che sto usando visual studio!...
aaa
29/07/10 10:49
Ultimo
tipo di lista non definito :heehee:

forse manca un # define 8-|
Ultima modifica effettuata da Ultimo 29/07/10 10:51
If ok Then GOTO Avanza else GOTO Inizia

29/07/10 16:02
giovybus
Questa è una funzione!... :)
aaa
29/07/10 18:13
Pitagora
ma perchè non posti tutti il codice ?
aaa
30/07/10 8:40
giovybus
da premettere che sto programmando con la programmazione strutturata qundi ho tre file due .c e uno .h

questo è il file.c

#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
#include "materie2.0.h"

list_t *
init_list(list_t *list, FILE *fp){

	list_t *head;
	fp = fopen("file.gn", "w");

	if(fp){
		list = (list_t *)malloc(sizeof(list_t)); /*Alloco il primo elemento della lista*/
		
		fscanf(fp, "%s\t", list ->name_matter);/*Inserisco i vari dati dal file*/
		fscanf(fp, "%d\t", list ->valutation);
		fscanf(fp, "%d\t", list ->day);
		fscanf(fp, "%d\t", list ->mounth);
		fscanf(fp, "%d\t", list ->year);
		head = list; /*tengo il riferimento della testa della lista*/
		while(feof(fp)){
			list ->next = (list_t *)malloc(sizeof(list_t));/*alloco l'elemento successivo*/
			list = list -> next;/*sposto il puntatore all'elemento successivo che ho allocato precedentemente*/
			fscanf(fp, "%s\t", list ->name_matter);/*Inserisco i vari dati dal file*/
			fscanf(fp, "%d\t", list ->valutation);
			fscanf(fp, "%d\t", list ->day);
			fscanf(fp, "%d\t", list ->mounth);
			fscanf(fp, "%d\t", list ->year);		
		}
			list -> next = NULL;
			return head;
	}else{
		return list = NULL;
	}

}


nel file .h ci sono solo i prototipi delle funzioni e la struttura lista
e nell'eltro file.c c'è il main con la chiamata a funzione
il resto funzione benissimo solo qui ho il problema!...
aaa