简单的学生管理,运用链表、指针等
f("学号(输入0结束):");
scanf("%d",&p2->number);
if(p2->number==0)
{
break;
}
printf("姓名:");
scanf("%s",&p2->name);
printf("分数:");
scanf("%f",&p2->score);
n=n+1;
//p2->next=NULL;
p1->next=p2;
p1=p2;
}
p1->next=NULL;
return head;
}
//对学生信息进行排序
struct student * sort(struct student *head)
{
int t1;
float t2;
struct student *p1,*p2;
if(head==NULL)
{
printf("未建立链表!!\n");
return NULL;
}
p1=head;
p2=head->next;
for(int i=1;i<n;i++)
{
p1=head->next;
p2=p1->next;
do
{
if((p1->number)<(p2->number))
{
t1=p1->number;
t2=p1->score;
p1->number=p2->number;
p1->score=p2->score;
p2->number=t1;
p2->score=t2;
}
p2=p1;
p1=p1->next;
}while(p1!=NULL);
}
printf("自动排序……");
return head;
}
//插入学生信息
struct student * insert(struct student *head)
{
struct student *p1,*p2,*stu;
if(head==NULL)
{
printf("未建立链表!!\n");
return NULL;
}
while(1)
{
p1=head->next;
p2=p1;
stu=(struct student *)malloc(LEN);
if(stu==NULL)
{
printf("没有足够的空间!\07\n");
return 0;
}
printf("\n学号(输入0结束):");
scanf("%d",&stu->number);
if(stu->number==0)
{
break;
}
printf("姓名:");
scanf("%s",&stu->name);
printf("分数:");
scanf("%f",&stu->score);
n=n+1;
if(stu->number<p1->number)
{
stu->next=p1;
head->next=stu;
}
else
{
while((stu->number)>(p1->number)&&p1!=NULL)
{
p2=p1;
p1=p1->next;
}
if((stu->number)<=(p1->number))
{
p2->next=stu;
stu->next=p1;
}
else
{
p1=stu;
stu->next=NULL;
}
}
}
return head;
}
//删除学生信息
struct student * del_num(struct student *head)
{
struct student *p1,*p2;
if(head==NULL)
{
printf("未建立链表!!\n");
return NULL;
}
int num;
while(1)
{
printf("学号(输入0结束):");
scanf("%d",&num);
if(num==0)
{
break;
}
p1=head;
if(num==head->number)
{
head=p1->next;
}
else
{
do
{
p2=p1;
p1=p1->next;
if(num==p1->number)
{
printf("\n已找到要删除的学生!\n");
p2->next=p1->next;
printf("删除完成!\n");
n=n-1;
break;
}
}while(p1->next!=NULL);
}
}
return head;
}
//查找学生信息
void search(struct student *head)
{
int num;
struct student *p1;
if(head==NULL)
{
printf("未建立链表!!\n");
return;
}
p1=head->next;
while(1)
{
printf("学号(输入0结束):"
;);
scanf("%d",&num);
if(num==0)
{
break;
}
do
{
if(num==p1->number)
{
printf("该生信息已找到!\n其学号为:%d,姓名为:%s成绩为:%.2f\
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典教育范文学生信息管理系统(简单版)源代码(2)在线全文阅读。
相关推荐: