学生成绩管理系统**结构

时间:2014.06.12 发布人:dd**mber4

学生成绩管理系统**结构

已解决问题

谷歌dd**mber4用户在2014.06.12提交了关于“昊锐学生成绩管理系统**结构”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-26T17:26:11。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !

希望以下的回答,能够帮助你。

第1个回答

用户名:jacky65164893  

#include<stdio.h>
#include<stdlib.h>
intShu;
typedefstructstudent
{
int**m;
floatmg来自ar,cgar,egar;
floatzong,p问答ing;
}stu;

typedefstructnode
{
stux底新毫保ue;
structnode*next;
}LNode,*帝LinkList;

LinkListInitLinkList()
{
LinkL期义头阳春官五活附istL;
L=(LinkList)malloc(sizeof(LNode));
L->next=**LL;
returnL;
}

LinkListCreateTail()//尾式答轴插法,带头结点
{
LinkListL;
LNode*s,*r;
inti,x;
floatm,c,列机式大e;
L=InitLinkList();
r=L;
x=0;
printf陈基潍烈学冷价思氧农("输入学生信息的个数:")益;
scanf("%d",&Shu);
p委值款度rintf("学号数学语文英语\n");
while(x<Shu)
{
s=(LNode*)malloc(该妈群坐旧从绿期握sizeof(LNode))丝颅士元以议阿受处;
scanf("%d",&i);
s->***.**m=i;
scanf("%f",&m);
s->***.mgar审=m;
scanf("%f",&c);
s->***.cgar=c;
scanf("%f",&e);
s远联孙石督从胶卷移->***.egar=e;
s->***.zong=m+c+e;
s->***.ping=(m+c+e)/3;
s->next=**LL;
r->next=s;
r=s;
x++;
圆象即探殖}

return(L);
}
voidprn(LinkListL)
{
LNode*p;
p=L->next;
printf("\n学号数学语文英语平均成绩总成绩\n");
while(p!=**LL)
{
printf("%d%0.2f%0.2f%0.2f%0.2f%0.2f\n",p->***.**m,p->***.mgar,p->*审含**.cgar,p->***.egar,p->***.ping,p->***.zong);
p=p->next;
}
printf("\n");
}
voidprn1(LinkListL)
{
LNod元氧期e*p;
intx,y;
p=L->next;
printf("请结全联液为群鸡只城止延输入要查询的学生学号:");
scanf("%d",&x);
while(p)
{
if(x==p->***.**m)
{
y=1;
printf("\n学号心罪苏围厂置切争数学语文英语平均成绩总成绩\n");
printf("%d%0.2f%0.2f%0.2f%0.2f%0.2f\n",p->***.**m,p->***.mgar,p->***.cgar,p->***.egar,p->***.ping,p->***.zong);
}
p=p->next;
}
if(y!=1)
printf("不存在该学生\n");
}
voidxs(LinkListL)
{
LNode*p;

p=L->next;
floatx,y;
printf("输入要查询的数学成绩范围:");
scanf("%f",&x);
scanf("%f",&y);
while(p)
{
if(p->***.mgar>=x&&p->***.mgar<=y)
{printf("\n学号数学语文英语平均成绩总成绩\n");
printf("%d%0.2f%0.2f%0.2f%0.2f%0.2f\n",p->***.**m,p->***.mgar,p->***.cgar,p->***.egar,p->***.ping,p->***.zong);
}
p=p->next;
}
}
voidren(LinkListL)
{
LNode*p;
floatm,c,e,j;
inti=0;
m=0;c=0;e=0;j=0;
p=L->next;
while(p)
{
m=m+p->***.mgar;
c=c+p->***.cgar;
e=e+p->***.egar;
j=j+p->***.ping;
p=p->next;
i++;
}

printf("班级平均成绩\n");
printf("数学语文英语总平均成绩总人数\n");
printf("%0.2f%0.2f%0.2f%0.2f%d",m/i,c/i,e/i,j/i,i);
}
voiddel(LinkListL)
{
intx;
LNode*p,*q;
p=L->next;
q=L;
printf("请输入要删除的学生学号:");
scanf("%d",&x);
while(p)
{
if(p->***.**m==x)
{
q->next=p->next;
bre**;
}
else
{
p=p->next;
q=q->next;
}
}
Shu--;
}
LinkListadd(LinkListL)
{
LNode*s;
intn,i,x;
floatm,c,e;
i=0;
printf("请输入要添加的学生信息的人数:");
scanf("%d",&x);
printf("\n学号数学语文英语\n");
while(i<x)
{
s=(LinkList)malloc(sizeof(LNode));
scanf("%d",&n);
s->***.**m=n;
scanf("%f",&m);
s->***.mgar=m;
scanf("%f",&c);
s->***.cgar=c;
scanf("%f",&e);
s->***.egar=e;
s->***.zong=m+c+e;
s->***.ping=(m+c+e)/3;
s->next=L->next;
L->next=s;
i++;
Shu++;
}
returnL;
}
LinkListpxm(LinkListL)
{
printf("按数学成绩排名:");
inti;
LNode*p,*q,*a;

for(i=0;i<Shu;i++)
{
p=L->next;
q=p->next;
while(q)
{
if(p->***.mgar<=q->***.mgar)
{
p->next=q->next;
q->next=L->next;
L->next=q;
a=p;
p=q;
q=a;
}
p=p->next;
q=q->next;
}
}
prn(L);
}
voidcd()
{
printf("\t\t\t1、输入学生信息\n");
printf("\t\t\t2、查询学生学号信息\n");
printf("\t\t\t3、查询学生成绩信息\n");
printf("\t\t\t4、班级平均成绩及人数\n");
printf("\t\t\t5、删除学生成绩\n");
printf("\t\t\t6、增加学生成绩\n");
printf("\t\t\t7、学生信息排序\n");//按数学成绩排名
printf("\t请先进行操作1,按数字8可显示全部信息,再进行其他操作\n");
printf("请输入选项:");
}
intmain()
{
inti;
LinkListL;
do
{
cd();
scanf("%d",&i);
switch(i)
{
case1:
{
system("cls");
L=CreateTail();
prn(L);bre**;}
case2:
{
system("cls");
prn1(L);
bre**;
}
case3:
{
system("cls");
xs(L);bre**;
}
case4:
{
system("cls");
ren(L);bre**;
}
case5:
{
system("cls");
del(L);bre**;
}
case6:
{
system("cls");
add(L);
prn(L);bre**;
}
case7:
{
system("cls");
pxm(L);bre**;
}
case8:
{
prn(L);bre**;
}
}}while(i<=8&&i>=1);
}
希望对你能有所帮助。