读取文件source.txt中的5个职工信息并创建链表,编写程序实现新进员工的插入,离职员工的删除,并查找出名字叫”wang zi”的员工修改他的工作年限为10年。
2条回答 默认 最新
- CSDN专家-link 2021-07-13 20:25关注
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"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
- ¥15 机器人轨迹规划相关问题
- ¥15 word样式右侧翻页键消失