int DeleteNote(int num)
{
STU *pc/*當(dāng)前指針*/,*pb;
pb=head;
pc=head->next;
while(pc->num!=num)
{
pb=pc;
pc=pc->next;
}
if(pc->num==num)//找到,即刪除pc所指向的節(jié)點(diǎn)
{
pb->next=pc->next;
free(pc);
}else
{
printf("不存在!\n")
}
}
#include<stdio.h>
#include<stdlib.h>
typedef struct student S;
S *head;
S *p;
struct student
{
char num;
char sex;
char name[100];
struct student *next;
};
int Add()
{
S *New;
New=(S *)malloc(sizeof(S));
printf("輸入個(gè)樣式:學(xué)號(hào) 性別 姓名\n");
scanf("%d",&New->num);
getchar();
scanf("%c",&New->sex);
getchar();
scanf("%s",New->name);
getchar();
New->next=NULL;
p->next=New;
p=p->next;
return -1;
}
int print()
{
printf("全部信息如下:\n");
p=head->next;//從head的下一個(gè)開始打印
while(p!=NULL)
{
printf("%d %c %s\n",p->num,p->sex,p->name);
p=p->next;
}
return 0;
}
int Find(int num)
{
S *s;
s=head->next;
while(s!=NULL)
{
if (s->num==num)
{
printf("%d %c %s\n",s->num,s->sex,s->name);
return 0;
}
s=s->next;
}
printf("No Have\n");
return -1 ;
}
int DeleteNote(int num)
{
S *pc/*當(dāng)前指針*/,*pb/*上一個(gè)指針*/;
pb=head;
pc=head->next;
while(pc->num!=num)
{
pb=pc;
pc=pc->next;
}
if(pc->num==num)//找到,即刪除pc所指向的節(jié)點(diǎn)
{
pb->next=pc->next;
free(pc);
}else
{
printf("不存在!\n");
}
return 0;
}
int renew(int num_1)
{
S *e;
e=head->next;
while(p!=NULL)
{
if(e->num==num_1)
{
//printf("%d %c %s\n",p->num,p->sex,p->name);
printf("請(qǐng)輸入%d學(xué)生的新信息:\n",e->num);
scanf("%d",&e->num);
getchar();
scanf("%c",&e->sex);
getchar();
scanf("%s",e->name);
getchar();
printf("%d %c %s\n",e->num,e->sex,e->name);
printf("修改完畢!\n");
break;
}
e=e->next;
}
return -1;
}
int main()
{
int num_1;
int num,i;
head=(S *)malloc(sizeof(S));
p=(S *)malloc(sizeof(S));
/*head->num=100;
head->sex='m';
strcpy(head->name,"zhangsan");
head->next=NULL;*/
p=head;//這是一個(gè)頭節(jié)點(diǎn)
printf("請(qǐng)輸入y,回車后輸入數(shù)據(jù):\n");
for(i=0;i<99999;i++)
{
fflush(stdin);
switch(getchar())
{
case 'y': Add();
break;
case 'c':
printf("輸入學(xué)號(hào)查找:\n");
scanf("%d",&num);
Find(num);
break;
case 's':
printf("輸入修改的學(xué)號(hào):\n");
scanf("%d",&num_1);
renew(num_1);
break;
case 'h':
printf("輸入刪除的學(xué)號(hào):\n");
scanf("%d",&num);
DeleteNote(num);
break;
case 'x': print();
break;
default:return 0;
}
printf("輸入y繼續(xù),c查找,s更改,h刪除,其他字符結(jié)束\n");
}
system("cls");
return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。