📄 infdelete.cpp
字号:
#include "include.h"
extern Inflinklist *head;
//------------------------------------------------
//--删除信息
//------------------------------------------------
char Infindelete(Inflinklist * ps, char *name)
{
char cc;
int n=0; //通过n的值来判断是否链表中有输入的删除姓名项
Inflinklist * q0, *q1, *del; //q0指向q1的前一位置,del用来标志姓名符合时的位置
q1=ps->next;
q0=ps;
if( q1 == NULL) //链表只有头结点
printf("No information left in the linklist!\n");
else
{
while(q1!=NULL) //有同名时需比较到底
{
if(!( q1->name[0]==name[0])) //比较名字的第一个字符是否相同,不同则继续
{ //节省比较时间
q0=q1;
q1=q1->next;
}
else
{
if(!(strcmp(q1->name, name))) //比较是否全部相同,相同则找到继续往下
{
printf(" delete information is below:\n");
printf(" name:%s\t sex:%c\t age:%d\t spousename:%s\n",q1->name,q1->sex,q1->age,q1->spousename);
q0->next=q1->next;
del=q1; // 将位置赋与del,q1继续向前
q1=q1->next;
free(del);
n=n+1;
}
else
{
q0=q1;
q1=q1->next;
}
}
}//end while
if(n==0) printf("No such name in the list! Be sure the name input is correct!\n");
}//end else
fflush(stdin);
printf("Dlete continue? press Y/y continue;to end,press N/n:\t");
cc= GetContinueNote();
return cc;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -