
已解决问题
谷歌dd**mber4用户在2014.06.12提交了关于“昊锐学生成绩管理系统**结构”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-26T17:26:11。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !
详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !
#include<stdio.h>
#include<stdlib.h>
intShu;
typedefstructstud
{
int**m;
floatmg
floatzong,p
}stu;
typedefstructnode
{
stux
structnode
}LNode,*
Link
{
LinkL
L=(
L->next=**LL;
returnL;
}
LinkL
{
LinkListL;
LNode*s,*r;
inti,x;
floatm,c,
L=InitLink
r=L;
x=0;
printf
scanf("%d",&Shu);
p
while(x<Shu)
{
s=(LNode*)malloc(
scanf("%d",&i);
s->***.**m=i;
scanf("%
s->***.mgar
scanf("%f",&c);
s->***.cgar=c;
scanf("%f",&e);
s
s->***.zong=m+c+e;
s->***.ping=(m+c+e)/3;
s->next=**LL;
r->nex
r=s;
x++;
return(L);
}
vo
{
LNode*p;
printf("\n学号数学语文英语平均成绩总成绩\n");
while(p!=**LL)
{
printf("%d%0.2
p=p->next;
}
printf("\n");
}
v
{
LNod
intx,y;
p=L->next;
printf("请
scanf("%d",&x);
while(p)
{
if(x==p->***.**m)
{
printf("\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);
}
希望对你能有所帮助。