#include
#include
#include
struct s //定义一个s的结构体
{
char num[12];
char name[15];
char sex[15];
char birthday[15];
char address[10];
char position[10];
char money[10];
};
typedef struct node //声明了一个struct node 类型
{
struct s data;
struct node *next; //定义1个struct node类型的指针,它可以指向相应类型的变量。
}Node;
void Add(Node *student) //自定义函数
{
Node *p,*r,*s;
char n[12];
r=student;
s=student->next;
while(r->next!=NULL) //这个循环的作用是使r为最后一个结点
r=r->next; //将指针置于最末尾
while(1)
{
printf("************************** 输入0 返回主菜单!\n");
printf("\n请你输入学号号:");
scanf("%s",n);
if(strcmp(n,"0")==0) break;
p=(Node *)malloc(sizeof(Node)); //申请sizeof(Node)大小的空间
printf("\n请输入姓名:");
scanf("%s",&p->data.name);
printf("\n请输入性别:");
scanf("%s",&p->data.sex);
printf("\n请输入出生年月:");
scanf("%s",&p->data.birthday);
printf("\n请输入籍贯:");
scanf("%s",&p->data.address);
printf("\n请输入政治面貌:");
scanf("%s",&p->data.position);
printf("\n请输入家庭收入:");
scanf("%s",&p->data.money);
printf("提示:已经完成一条记录的添加。\n");
p->next=NULL;
r->next=p;
r=p;
}
}
void change(Node *student)
{
Node *p;
char find[20];
if(!student->next)
{
printf("\n************************** 没有资料可以修改!\n");
fflush(stdin);
getchar();
return;
}
printf("请输入要修改的学号:");
scanf("%s",find);
p=student->next;
while(p!=NULL)
{
if(strcmp(p->data.num,find)==0)
break;
p=p->next;
}
if(p!=NULL)
{
int x;
while(1)
{
printf("完成修改请输入0\n输入任意数再