Questo topic e' stato chiuso dal moderatore.
12/11/14 22:10
dita94
Salve a tutti, sto svolgendo un esercizio per l'università e sono incappato in un errore che proprio non capisco.
In poche parole devo creare un programma con menù che mi permetta di gestire una lista di studenti.
Il file progetto è composto da più sorgenti, vi posterò solo le parti che credo siano interessate.
FILE lista.h
FILE lista.c
FILE item.h
FILE item.c
Il compilatore mi restituisce l'errore del titolo nel file item.c 26 volte! ogni volta che provo ad accedere a i dati di struct studente(Item) con tmp->item->nome(oppure cognome/matricola/....)
Ringrazio in anticipo ogni eventuale aiuto!
p.s Credo che l'errore sia in queste parti di codice ma se così non fosse, chiedete per altre parti!
In poche parole devo creare un programma con menù che mi permetta di gestire una lista di studenti.
Il file progetto è composto da più sorgenti, vi posterò solo le parti che credo siano interessate.
FILE lista.h
#ifndef LIST_H_DEFINED #define LIST_H_DEFINED typedef struct nodolista* link; typedef struct lista* Lista; ...prototipi funzioni... #endif
FILE lista.c
#include "item.h" #include "lista.h" #include <stdlib.h> #include <stdio.h> #include <string.h> struct nodolista { Item item; //guardare item.h e item.c link next; link prev; }; struct lista { link primo; link ultimo; int n; }; //...........varie funzioni............ void ricercaestampa(Lista l, char *s, int n) { int trovati = 0; link tmp; for(tmp=l->primo; tmp!=NULL; tmp=tmp->next) { if(n == 1) { if(strcmp(s, tmp->item->nome) == 0) //ERRORE QUI( E ANCHE NELLA PRINTF IN BASSO { printf("NOME: %s\nCOGNOME: %s\nMATRICOLA: %s\nCREDITI:%d\nMEDIA VOTI: %.2f\n\n", tmp->item->nome, tmp->item->cognome, tmp->item->matricola, tmp->item->carriera.crediti, tmp->item->carriera.media); trovati = 1; }
FILE item.h
#ifndef ITEM_H_DEFINED #define ITEM_H_DEFINED #define MAX_STR 36 typedef struct studente* Item; Item nuovoitem(); #endif
FILE item.c
#include "item.h" #include <stdio.h> #include <stdlib.h> #include <string.h> struct carriera { int crediti; float media; }; struct studente { char *nome; char *cognome; char *matricola; struct carriera carriera; }; //...
Il compilatore mi restituisce l'errore del titolo nel file item.c 26 volte! ogni volta che provo ad accedere a i dati di struct studente(Item) con tmp->item->nome(oppure cognome/matricola/....)
Ringrazio in anticipo ogni eventuale aiuto!
p.s Credo che l'errore sia in queste parti di codice ma se così non fosse, chiedete per altre parti!
Ultima modifica effettuata da dita94 12/11/14 22:11
aaa