我想在这个程序中创建一个createLinkedListNode函数。在这个函数中,我打开一个参数文本文件,并且询问用户结构中的信息,然后从文件指针中引用的文件逐行读取它。我将数据添加到链接列表。我初始化链表的结构部分,并将下一个指针设置为NULL,并返回一个指向这个新创建节点的指针。我有两个结构,这混淆了我,因为我不知道我将如何将数据添加到指定的结构:阅读纺织,并添加到链接列表C
struct List{
struct EMPLOYEE{
int ID;
char *fName[25];
char *lName[35];
double salary;
char Location;
}employee;
struct List *next;
};
这是我有两个链表的主要功能,我没有他们尚未初始化。但我在这里呼吁createLinkedList功能,我呼吁文件指针:
void main() {
FILE *fp;
struct List *onHead = NULL;
struct List *offHead = NULL;
createLinkedListNode();
}
,当涉及到逐行读取文本文件并相应添加数据我只是迷路。所以如果有人能做到这一点会很棒。
struct List *createLinkedListNode(FILE *fp, struct List *list, int ID, char fName, char lName, double salary, char Location){
//This is the created node with its memory allocated.
struct List* node = (struct List)*malloc(sizeof(struct List));
fp =fopen("textfile.txt","r");
//prompt for all info required in passenger struct
printf("Enter Passenger ID:\n");
fgets()
node ->passenger.ID = ID;
printf("Enter first name:\n");
node ->passenger.fName = fName;
printf("Enter last name:\n");
node ->passenger.lName = lName;
printf("Enter salary:\n");
node ->passenger.CBalance= CBalance;
printf("Enter location:\n");
printf("1- on\n");
printf("0- off\n");
node ->passenger.Location =Location;
node ->next = list;
return node;
}
比方说正在读取的纺织品是这样的:
0001
John
Tyler
23.00
1
0002
Erin
Marc
25.00
0
0003
Jason
Ed
15.00
1
你的问题有点混乱。 1.您是否有意从文件中读取学生数据或提示用户使用它?你似乎同时暗示了两者。 2.这两个链表应该代表什么? 3.您对'createLinkedListNode'的调用与定义不匹配(缺少参数并忽略返回值)。 4.你的具体问题是什么?你需要比“不工作”更具体。 – kaylum
1)数据只能从文件中读取,而不能从用户读取。问题就在那里,所以你可以看到每一行都被单独阅读。 2)稍后使用两个链表,如果员工位置是1,他被添加到onHead列表中,并且如果他们的位置是0,则他被添加到offHead列表中。 3)我不知道我在函数中的参数是否正确,所以现在我留下了空白。 4)我的具体问题是,我将如何从文件中读取这些数据并将其添加到结构和链接列表中,并创建此节点以便稍后使用它。 – user2188315