hey guys
am trying to build a linked list that reads info from a text file into the list.
but i get an error saying ..request for member nextPtr in something not a structure or union..
this is my code ..
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct listnode
{
int data1;
int data2;
int weight;
struct listnode *nextPtr;
};
typedef struct listnode LISTNODE ;
typedef LISTNODE *NodePtr;
NodePtr insert(NodePtr *, int ,int , int);
void print(NodePtr);
NodePtr createNode (NodePtr *, int, int, int);
main()
{
FILE *fptr;
char filename[255];
NodePtr node = NULL;
int d1,d2,d3;
printf("enter filename\n");
scanf ("%s",filename);
printf("%s\n",filename);
fptr = fopen(filename,"r");
if (fptr == NULL)
{
printf ("file cannot be found");
exit(0);
}
while (!feof(fptr))
{
fscanf (fptr, "%d %d %d", &d1,&d2,&d3);
insert(&node , d1,d2,d3 );
print(node);
}
fclose(fptr);
}
NodePtr createNode (NodePtr *anode ,int value1,int value2,int value3)
{
NodePtr node;
node = malloc(sizeof(LISTNODE));
node->data1 = value1;
node->data2 = value2;
node->weight = value3;
node->nextPtr = NULL;
return node;
}
NodePtr insertnew(NodePtr *node, int value1, int value2, int value3 )
{
NodePtr newNode ;
newNode = createNode(&newNode,value1,value2,value3);
newNode->nextPtr = node->nextPtr; ( AM GETTING THE ERROR.....
node->nextPtr = newNode; ON THESE 2 LINES )
return newNode;
}
void print(NodePtr newNode)
{
if( newNode == NULL)
printf("List is empty\n\n");
else {
printf("The List is:\n");
while (newNode != NULL )
{
printf ("%d %d %d --->", newNode->data1, newNode->data2, newNode->weight);
newNode = newNode->nextPtr;
}
printf("NULL\n\n");
}
}
can anyone please help me out here..it has been bugging my brains out..
any help would be much appreciated