【发布时间】:2021-07-17 02:04:49
【问题描述】:
我是编程的初学者,我有一个我必须做的程序:所以基本上是“在医生办公室预约” 我快完成了,但是有一个功能,我有一个问题,它会打印病人的等待名单:先打印那些有预约的人,然后打印那些没有预约的人。 我显然使用了一个双向链表,其中包含 n 个患者信息。除了个人信息之外,信息还包含,如果来的患者有预约。如果他有,他有一个数字 >0(第一个有预约的人得到 1)如果不是,那么一个数字
void waiting(void)
{
currentc=firstc;
while (currentc->next!=NULL)
{
currentc=currentc->next;
}
while(currentc!=NULL)
{
if(currentc->prio>0)
{printf("%6d: %-20s %-6s %-15s %-20s %-8s %-8d\n",\
currentc->number,\
currentc->name,\
currentc->age,\
currentc->phone,\
currentc->numcin,\
currentc->state,\
currentc->prio);
}
currentc=currentc->prev;
}
currentc=firstc;
while (currentc->next!=NULL)
{
currentc=currentc->next;
}
while(currentc!=NULL)
{
if(currentc->prio<0)
{printf("%6d: %-20s %-6s %-15s %-20s %-8s %-8d\n",\
currentc->number,\
currentc->name,\
currentc->age,\
currentc->phone,\
currentc->numcin,\
currentc->state,\
currentc->prio);
}
currentc=currentc->prev;
}
}
【问题讨论】:
-
请提供一个最小的、可重现的例子,见stackoverflow.com/help/minimal-reproducible-example。
-
你的循环将打印东西[按reverse顺序] 如果
prio是either i>>0或<0但 not 如果它 是 零。因此,请编辑您的问题并发布更多代码,因为问题可能出在其他地方。 (例如)prio值或prev和/或next成员的设置不正确。
标签: c linked-list doubly-linked-list