#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
typedef struct employees
{
char ID[20];
float salary;
struct employee* next;
}epy;
void PrintT(epy* Head)
{
epy* p;
p = Head;
printf("员工的ID和薪资\n");
while (p)
{
printf("ID:%s\n salary:%f\n", p->ID, p->salary);
p = p->next;
}
}
epy* Delete_T(epy* head, char* id)
{
epy* p = head;
epy* D = NULL;
while (p && strcmp(p->ID, id) != 0)
{
D = p;
p = p->next;
}
if (!p)
{
printf("无对应编号");
}
else
{
if (D == NULL)
{
head = p->next;
}
else
{
D->next = p->next;
}
free(p);
}
return head;
}
epy* CreatT(int n)
{
epy* Head, * cur, * pnew;
int i;
Head = cur = NULL;
for (i = 0; i < n; i++)
{
pnew = (epy*)malloc(sizeof(epy));
printf("请输入第%d个员工的ID和salary\n", i + 1);
scanf("%s%f", &pnew->ID, &pnew->salary);
if (i == 0)
{
Head = cur = pnew;
}
else
{
cur->next = pnew;
cur = pnew;
}
}
cur->next = NULL;
return Head;
}
int main()
{
char ID[20];
epy* head = CreatT(5);
PrintT(head);
printf("\n请输入需要删除的ID:");
scanf_s("%s", ID);
head = Delete_T(head, ID);
PrintT(head);
system("pause");
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/334186024256196.png "#left")
无法从employee*转换为epy*,该如何解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 山河君 2022-05-13 13:51关注
有些粗心了 童鞋
typedef struct employees
{
char ID[20];
float salary;
struct employee* next;
}epy;struct employee* next;改为 struct employees* next;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用