编程一道C语言C语言编程

读取文件source.txt中的5个职工信息并创建链表,编写程序实现新进员工的插入,离职员工的删除,并查找出名字叫”wang zi”的员工修改他的工作年限为10年。

source.txt中文件具体是什么样子的,不然读取不知道怎么解析出数据项啊

typedef struct _worker
{
  char name[20];
  char wid[20];
  int years;
  _worker *next;
}WORKER;
WORKER * head = NULL;

void read()
{
   FILE *fp = fopen("sorce.txt","r");
   if(fp == NULL)
      return;
   head = (WORKER*)malloc(sizeof(WORKER));
   head->next = NULL;
   WORKER *p = head;
   char buf[100] = {0};
   while(fgets(buf,100,fp) != NULL)
   {
      WORKER *q = (WORKER*)malloc(sizeof(WORKER));
      sscanf("%s\t%s\t%d",q->wid,q->name,&q->years);
      q->next = NULL;
      p->next = q;
      p = q;
   }
  fclose(fp);
}

void find(char *name)
{
  if(head == NULL)
    return;
  WORKER *p = head->next;
  while(p != NULL)
  {
    if(strcmp(p->name,name) == 0)
    {
      p->years = 10;
      printf("修改完成\n");
      return;
    }
  }
  printf("查无此人\n");
}

void add()
{
  printf("请输入新人工号、名字和工龄(用TAB键分隔):");
  WORKER * q = (WORKER*)malloc(sizeof(WORKER));
  q->next = NULL;
  scanf("%s\t%s\t%d",q->wid,q->name,&q->years);
  if(head == NULL)
  {
    head = q;
    return;
  }
  WORKER *p  = head;
  while(p->next!=NULL)
    p = p->next;
  p->next = q;
}

void main()
{
  read();
  find("wang zi");
}

之前写个一个学生管理的,跟你这个就是结构体不一样,改改就行。https://blog.csdn.net/qfl_sdu/article/details/118326835?utm_source=app&app_version=4.11.0&code=app_1562916241&uLinkId=usr1mkqgl919blen