超好的学生成绩管理系统链表实现的代码含详细的注释哦Word文件下载.doc
- 文档编号:14588753
- 上传时间:2022-10-23
- 格式:DOC
- 页数:16
- 大小:13.20KB
超好的学生成绩管理系统链表实现的代码含详细的注释哦Word文件下载.doc
《超好的学生成绩管理系统链表实现的代码含详细的注释哦Word文件下载.doc》由会员分享,可在线阅读,更多相关《超好的学生成绩管理系统链表实现的代码含详细的注释哦Word文件下载.doc(16页珍藏版)》请在冰豆网上搜索。
inti,n;
LinkListL,p;
L=(LinkList)malloc(sizeof(LNode));
L->
next=NULL;
//建立一带头结点的空单链表//
//单链表初始化结束
printf("
请输入要输入的学生个数:
\n"
);
scanf("
%2d"
&
n);
//逆序建立
for(i=n;
i>
0;
i--)
{
printf("
**************************************\n"
**请输入第%d个学生的信息**\n"
i);
p=(LinkList)malloc(sizeof(LNode));
//生成新结点//
请输入学生的学号:
"
scanf("
%d"
p->
stuid);
请输入学生的姓名:
%s"
p->
name);
请输入学生的英语成绩:
%f"
english);
请输入学生的高数成绩:
math);
请输入学生的数据结构成绩:
database);
p->
sum=p->
english+p->
math+p->
database;
average=p->
sum/3;
next=L->
next;
L->
next=p;
//把新结点插入到链表头部
}
returnL;
}
//函数2.显示学生信息
voidDisplay(LinkListL)
LinkListp;
p=L->
//L为头指针p指向第一个结点
if(L==NULL)
请先输入数据\n"
else{
所有同学信息如下:
printf("
学号\t姓名\t总分\t平均分\t英语成绩\t高数成绩\t数据结构成绩\n"
while(p)
%d\t%s\t%.2f\t%.2f\t%.2f\t\t%.2f\t\t%.2f\n"
stuid,p->
name,p->
sum,p->
average,p->
english,p->
math,p->
p=p->
}
//函数3.插入单个学生到表头
voidInsert(LinkListL)
p=(LinkList)malloc(sizeof(LNode));
//p指向要插入的结点
请输入学生的高数成绩:
p->
//将p插入L中
插入成功!
//函数4.删除某个学生
//要知道要删除的这个结点的前一个结点的位置
voidDelete(LinkListL)
LinkListp,q;
intnum,ch;
chars[20];
if(L==NULL)
else{
p=L;
//L是头结点的头指针,最后p指向要删除的结点的前一个位置
q=p->
//q指向p的下一个结点,即最后指向要删除的结点
1.按姓名删除\n2.按学号删除\n请选择:
ch);
if(ch==1)
{
printf("
请输入姓名:
scanf("
s);
while(strcmp(q->
name,s)!
=0&
&
q->
next!
=NULL){
p=q;
q=q->
}
if(strcmp(q->
name,s)==0)//q指向的结点要被删除,p指向要删除的结点的前一个位置
{
p->
next=q->
printf("
被删除学生的信息如下:
q->
stuid,q->
name,q->
sum,q->
average,q->
english,q->
math,q->
free(q);
//释放要删除的结点q
else
没有该学生的信息\n"
}//按姓名删除
else
请输入要删除学生的学号:
%10d"
num);
while(q->
stuid!
=num&
if(q->
stuid==num)//q指向的结点要被删除,p指向要删除的结点的前一个位置
{ p->
free(q);
}//按学号删除
}//有学生信息
//函数5.顺序查找某个学生
voidSearch(LinkListL)
intnum,ch;
charsn[20];
if(!
L)
else
1.按学号查找\n2.按姓名查找\n请选择:
scanf("
if(ch==1){
请输入要查找学生的学号:
while(p&
=num)
p=p->
if(p->
stuid==num)
}
}//按学号查找ch==1
else
{
请输入要查找学生的姓名:
sn);
strcmp(p->
name,sn)!
=0)
if(strcmp(p->
name,sn)==0)
}//按姓名查找ch==2
}//有数据
//函数6.显示各科最高分
voidMax(LinkListL)
LinkListp1=L->
next,p2=L->
next,p3=L->
floatmax1=0,max2=0,max3=0;
************************************************\n"
*显示各科最高分*\n"
//英语最高分
for(p1;
p1->
=NULL;
p1=p1->
next)
if(p1->
english>
next->
english)
max1=p1->
english;
//数学最高分
fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 实现 代码 详细 注释
![提示](https://static.bdocx.com/images/bang_tan.gif)