Eccovi il programma:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct classifica* classific;
struct classifica{
char* squadra;
int punti;
classific succ;
};
typedef struct punteggi* squadre;
struct punteggi{
char* casa;
char* ospite;
int goalc;
int goalo;
squadre next;
};
squadre inseriscicoda(squadre il, char* casa, char* ospite, int goalc, int goalo,classific classi);
void creapunteggio(squadre il,classific classi);
void stampasquadre(squadre il);
int main(int argc, char *argv[])
{
squadre il; classific classi;
il=NULL; classi=NULL;
char* squadra; char* squadradue; int goal; int goaldue; squadra=malloc(sizeof(char)*256); squadradue=malloc(sizeof(char)*256);
FILE* fp;
fp=fopen("squadre.txt","r");
if(fp==NULL){
printf("Errore nell'aperture del file\n"); return 0;}
while(!feof(fp))
{
fscanf(fp,"%256[^ ] %256[^ ] %d %d\n",squadra,squadradue,&goal,&goaldue);
il=inseriscicoda(il,squadra,squadradue,goal,goaldue,classi);
if (il==NULL)
{
il=malloc(sizeof(struct punteggi));il->next=NULL;
il->casa=malloc(sizeof(char)*256); il->ospite=malloc(sizeof(char)*256);
strcpy(il->casa,squadra); strcpy(il->ospite,squadradue); il->goalc=goal; il->goalo=goaldue;
crepunteggio(il,classi);
}
}
stampasquadre(il);
system("PAUSE");
return 0;
}
squadre inseriscicoda(squadre il, char* casa, char* ospite, int goalc, int goalo,classific classi)
{
if(il==NULL) return il;
squadre t=il;
while(t->next!=NULL) t=t->next;
squadre nuovo; nuovo=malloc(sizeof(struct punteggi)); nuovo->next=NULL;
nuovo->casa=malloc(sizeof(char)*256); nuovo->ospite=malloc(sizeof(char)*256);
strcpy(nuovo->casa,casa);strcpy(nuovo->ospite,ospite);nuovo->goalc=goalc;nuovo->goalo=goalo;
creapunteggio(nuovo,classi);
t->next=nuovo;
return il;}
void creapunteggio(squadre il,classific classi)
{
classific t=classi;
if (t==NULL) t=malloc(sizeof(struct classifica));
}
void stampasquadre(squadre il)
{
while(il!=NULL){
printf("%s->%s->%d->%d\n",il->casa,il->ospite,il->goalc,il->goalo);
il=il->next;}}
Il problema sta nella funzione creapunteggio, il compilatore mi dice "undefined reference to "creapunteggio". Come mai?