数据结构学生信息管理系统Word格式.docx
- 文档编号:20355632
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:16.73KB
数据结构学生信息管理系统Word格式.docx
《数据结构学生信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构学生信息管理系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
voidreverse(st1*head);
//反序输入信息
voidsort(st1*head);
//链表排序(用值交换的方式)
voidinterface()
{
inti;
printf("
\n"
);
for(i=0;
i<
20;
i++)
===="
printf("
*学生信息管理系统*\n"
请选择你的操作\n"
3;
"
7;
*****"
*1.初始化系统信息*\n"
*2.插入学生信息*\n"
*3.删除学生信息*\n"
*4.修改学生信息*\n"
*5.查找学生信息*\n"
*6.显示所有学生信息*\n"
*7.逆序显示学生信息*\n"
*0.退出系统*\n"
请输入以上序号(0-7):
"
}
intmain()
intk;
inta;
intindex;
//用于选择
intexit=1;
intchoose;
//用于判断
st1*head=NULL,*p;
head=(st1*)malloc(sizeof(st1));
//分配头指针空间
do
{
system("
cls"
interface();
scanf("
%d"
&
a);
if(a==0)//退出系统
for(k=1;
k>
0;
k--)
{system("
正在退出系统,请稍等"
for(i=0;
89999999;
{};
...."
\n\n"
是否退出系统(1/0):
choose);
if(choose==1)
exit=0;
\n\n\n\n"
欢迎下次使用学生信息管理系统!
!
\n\n\n"
switch(a)//选择7以内的数字进行链表操作system("
case1:
\n*初始化系统信息*\n\n"
creat(head);
\n初始化信息完毕!
,请输入1返回主菜单:
while(choose!
=1)
请输入1返回主菜单:
scanf("
break;
case2:
//插入学生信息
\n*插入学生信息*\n\n"
insert(head);
\n插入学生信息完毕!
case3:
//删除学生信息
\n*删除学生信息*\n\n"
dele(head);
\n删除信息完毕,请输入1返回主菜单:
case4:
\n*修改学生信息*\n\n"
change(head);
\n修改信息完毕!
case5:
//查找学生信息
\n*查找学生信息*\n\n"
输入你要查找第几位学生:
index);
p=find(head,index);
//查找学生信息并返回地址
姓名:
%s年龄:
%d分数:
%d\n"
p->
name,p->
age,p->
score);
\n查找信息完毕!
case6:
//排序
for(i=0;
\n*显示所有学生信息*\n\n"
sort(head);
print(head);
//打印排序后的学生信息
\n信息输出完毕!
case7:
//链表反转
\n*逆序显示学生信息*\n\n"
reverse(head);
default:
}while(1&
&
exit);
}
voidcreat(st1*head)
{
intn;
st1*p,*q;
输入学生人数:
n);
n;
输入第%d个学生信息:
i+1);
p=(st1*)malloc(sizeof(st1));
输入姓名:
%s"
p->
name);
输入年龄:
age);
输入分数:
输入第%d个学生信息完成"
if(0==i)
head->
next=p;
else
q->
q=p;
p->
next=NULL;
voidprint(st1*head)
st1*x;
x=head->
next;
学生信息如下:
while(x)
x->
name,x->
age,x->
x=x->
st1*find(st1*head,intidex)
st1*p;
inti=1;
p=head->
while(p)
if(i<
idex)
p=p->
i++;
returnp;
st1*insert(st1*head)
st1*newst,*p;
inti=1;
要插入的位置:
//所要插入第几位学生信息
newst=(st1*)malloc(sizeof(st1));
newst->
输入学生信息完成\n\n"
if(1==index)
st1*q=head->
next=newst;
newst->
next=q;
while(p)
if(i==(index-1))
st1*q=p->
voiddele(st1*head)
inti=1;
输入删除第几位学生信息:
//所要删除第几位学生信息
next=p->
next;
free(p);
p=NULL;
while(p)
if(i==(index-1))
q=p->
next=q->
free(q);
第%d位学生信息已经删除\n"
index);
voidchange(st1*head)
st1*p=NULL;
inta;
输入修改第几位学生信息:
p=find(head,a);
//修改之前调用find函数找到该学生信息
输入学生信息完成\n"
voidreverse(st1*head)
st1*p=head->
next,*q;
while(p!
=NULL)
next=head->
p=q;
//打印学生信息
voidsort(st1*head)
intm;
inttemp;
//交换score临时变量
inttemp1;
//交换age临时变量
chartemp2[10];
//交换name临时变量
选择1.按成绩2.按年龄排序\n"
m);
switch(m)
for(p=head;
p!
=NULL;
next)
for(q=p->
q!
q=q->
next)
if(p->
score>
q->
score)
temp=q->
score;
score=p->
score=temp;
temp1=q->
age;
age=p->
age=temp1;
strcpy(temp2,q->
strcpy(q->
strcpy(p->
name,temp2);
}
age>
age)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学生 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)