读取文件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 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵