编写管理系统时遇到的问题
//根据学生信息查找学生Mem *findInfo(char *member)
{
Mem *mem = member->next;//表达式必须包含指向结构或联合的指针类型
while (mem != NULL)
{
if (strcmp(mem->ID, ID) == 0)//ID未定义?
return mem;
mem = mem->next;
}
return NULL; 本帖最后由 jackz007 于 2019-11-11 01:05 编辑
Mem * findInfo(char * member)
根据函数内容判断,这个函数的定义是完全错误的!
Mem * findInfo(Mem * member,char * ID)
这样定义才是对的,第一个输入参数 member 的类型应该是指向 Mem 结构的指针,其实就是指向链表首节点的指针,第二个输入参数 ID 应该是字符串类型,其实,就是需要寻找的字符串。只有这样,变量 ID 才会有着落。 jackz007 发表于 2019-11-11 00:46
根据函数内容判断,这个函数的定义是完全错误的!
这样定义才是对的,第一个输入参 ...
出现findInfo调用中的参数太少,请问怎么解决? HJ123 发表于 2019-11-12 12:43
出现findInfo调用中的参数太少,请问怎么解决?
你是根据什么判断 findInfo() 调用的参数太少? jackz007 发表于 2019-11-12 12:52
你是根据什么判断 findInfo() 调用的参数太少?
编译器显示错误 HJ123 发表于 2019-11-12 13:03
编译器显示错误
把你的代码贴出来,注意,必须贴进代码框。 本帖最后由 HJ123 于 2019-11-12 13:18 编辑
jackz007 发表于 2019-11-12 13:11
把你的代码贴出来
Mem* findInfo(char *ID);//查找成员信息
//根据学生信息查找学生
Mem* findInfo(Mem* member, char* ID)
{
Mem *mem = member->next;
while (mem != NULL)
{
if (strcmp(mem->ID, ID) == 0)
return mem;
mem = mem->next;
}
return NULL;
}
case 4:
printf("请输入学号:");
scanf("%s", tempID);
Mem *mem = findInfo(tempID);
if (mem != NULL)
{
printf("学号:%s\n姓名:%s\n数字:%d\n", mem->ID, mem->name, mem->num);
}
else
{
printf("学号不存在!按任意键返回");
getchar(); getchar();
}
break;
Mem *mem = findInfo(tempID);
Mem *mem = findInfo(<首节点指针> , tempID);
不好意思,你贴代码这么节省,我就只好这么来帮你了。 jackz007 发表于 2019-11-12 13:19
不好意思,你贴代码这么节省,我就只好这么来帮你了。
谢谢谢谢,可以了
页:
[1]