学生信息管理系统(简单版)源代码(2)

来源:网络收集 时间:2025-09-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

简单的学生管理,运用链表、指针等

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)在线全文阅读。

学生信息管理系统(简单版)源代码(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/fanwen/1187292.html(转载请注明文章来源)

相关推荐:

Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219