当前位置:首页 > 问答大全 > C语言程序设计 学生成绩管理系统 (急)

C语言程序设计 学生成绩管理系统 (急)

被浏览: 0次 2023年08月12日 22:07
热门回答(2个)
游客1

我自己写了一个关于C语言的链表程序,,里面有插入学生信息和和成绩排名。。也有查找和删除,插入,但是我没有做修改的功能。。。
是没有界面的我还不会图形的。但是我觉得基本代码也应该还是有用的。你给看下我的。看可不可以帮到你。以后希望多多交流 。。。

#include "iostream.h"
#include "stdio.h"
#define manfen 150
typedef struct student {
char name[20];
double fen[4];
struct student * next;
} student;

int i=1;
int strcmp(char *a, char *b)
{
while((*a++ == *b++)&&(*a))
;
if((*a==NULL)&&(*b==NULL))
return 1;
else
return 0;
}

void SqlistStudent(student *&L,int j=1)
{
void heli(student *,int);
int a;
student *p,*q;
q=p=L=new student;
for(a=0;a {
cout< cout<<"请输入第";
cout< cout<<"位学生的名字:";
cin>>q->name;
cout<<" 语文分数:";
cin>>q->fen[0];
heli(q,0);
cout<<" 数学分数:";
cin>>q->fen[1];
heli(q,1);
cout<<" 英语分数:";
cin>>q->fen[2];
heli(q,2);
q->fen[3]=q->fen[0]+q->fen[1]+q->fen[2];
q=new student();
p->next=q;
p=q;
q->next=NULL;
i++;
}
cout<<"输入截止"<}

void heli(student *t,int e)
{
while(t->fen[e]<0||t->fen[e]>manfen)
{
cout<<"输入的分数不合理,输入范围为:0-"< cin>>t->fen[e];
}
}

void shanchu(student *&l)
{
int strcmp(char *a, char *b);
student *q,*p;
char na[20];
int a=0,b=0;
q=p=l;
while(a!=-1)
{
cout<<"输入请删除学生信息的名字"< cin>>na;
while(q->next!=NULL)
{
if( strcmp(na,q->name)==1 )
break;
p=q;
q=q->next;
b++;
}
if(strcmp(na,q->name)==1 )
{
if(b==0)
{
l=q->next;
i--;
break;
}
else
{
p->next=q->next;
i--;
break;
}
}
else
cout<<"没有梁或此学生信息,请检查和重新输入"竖隐< q=p=l;
}

}

void charu(student *&l)
{
int strcmp(char *a, char *b);
void heli(student *t,int e);
student *q,*p;
q=p=l;
int a=0,b=0,c=1,d=1;
char na[20];
student *f;
f=new student;
i++;
cout< cout<<"请输入学生的名字";
cin>>f->name;
cout<<" 语文分数:";
cin>>f->fen[0];
heli(f,0);
cout<<" 数学分数:";
cin>>f->fen[1];
heli(f,1);
cout<<" 英语分数:";
cin>>f->fen[2];
heli(f,2);
f->fen[3]=f->fen[0]+f->fen[1]+f->fen[2];
f->next=NULL;
while(d!=0)
{
cout<<"请输入插入结点位置相邻的学生姓名"< cin>>na;
while(q->next!=NULL)
{
b=strcmp(na,q->name);
if(b==1)
break;
p=q;
q=q->next;
d++;
}
if(b==1)
{
cout<<"在输入的名字前插入请输入1"< cout<<"在输入的名字后插入请输入2"< cin>>a;
if(a==1)
{
if(d==1)
{
f->next=l;
l=f;
cout<<"插入完成"< break;
}
else
{
p->next=f;
f->next=q;
cout<<"插入完成"< break;
}

}
if(a==2)
{
f->next=q->next;
q->next=f;
cout<<"插入完成"<
break;
}
}
if(b==0)
{
cout<<"没有找到此名字"< }
q=p=l;
}
}

void print(student *l)
{
student *q;
q=l;
while(q->next!=NULL)
{
cout<<"学生的名字:"<name< cout<<"语文:"<fen[0]< cout<<"数学:"<fen[1]< cout<<"英语:"<fen[2]< cout<<"总分:"<fen[3]< q=q->next;
}

}

void anfencha(int a,double b,student *l)
{
student *q;
q=l;
int h=0;
while(q->next!=NULL)
{
if(q->fen[a]==b)
{
cout<<"学生的名字:"<name< cout<<"语文:"<fen[0]< cout<<"数学:"<fen[1]< cout<<"英语:"<fen[2]< cout<<"总分:"<fen[3]< h++;
}
q=q->next;
}
cout<<"您要查询的学生不存在"<}

void anmin(char *na,student *l)
{
student *q;
int h=0;
q=l;
while(q->next!=NULL)
{
if(strcmp(na,q->name)==1)
{
cout<<"学生的名字:"<name< cout<<"语文:"<fen[0]< cout<<"数学:"<fen[1]< cout<<"英语:"<fen[2]< cout<<"总分:"<fen[3]< h++;
}
q=q->next;
}
if(h==0)
cout<<"没有此学生信息。"<}

void paixu(student *l,int e)
{
student *q,*p;
student *a[30];
int b=0,c;
q=p=l;
for(b=0;b<30;b++)
a[b]=q;
b=0;
while(q->next!=NULL)
{
a[b]=q;
q=q->next;
b++;
}
for(b=0;b {
for(c=b+1;c {
if(a[b]->fen[e]<=a[c]->fen[e])
{
p=a[b];a[b]=a[c];a[c]=p;
}
}
}
switch(e)
{
case 0:cout<<"按照语文分数的排名情况是:"< case 1:cout<<"按照数学分数的排名情况是:"< case 2:cout<<"按照英语分数的排名情况是:"< case 3:cout<<"按照总分分数的排名情况是:"< }
for(b=0;b {
cout<<"第"< cout<<"学生的名字:"<name< cout<<" 语文:"<fen[0]< cout<<" 数学:"<fen[1]< cout<<" 英语:"<fen[2]< cout<<" 总分:"<fen[3]< cout< }

}

void main()
{
student *head;
int a=1,b=1,c=1,d;
char na[20];
cout<<"请输入需要保存的学生人数:"< cin>>a;
SqlistStudent(head,a);
while(a!=0)
{
cout< cout<<"退出请输入:0"< cout<<"要查询请输入:1"< cout<<"要插入学生信息请输入:2"< cout<<"要查询各科排名情况:3"< cout<<"要删除学生信息请输入4"< cin>>a;
if(a==0)
break;
if(a==1)
{
cout<<"根据分数查询请输入1"< cout<<"根据名字查询请输入2"< cout<<"查询所有学生请输入3"< cin>>b;
if(b==1)
{
cout<<"根据语文分数查询请输入0"< cout<<"根据数学分数查询请输入1"< cout<<"根据英语分数查询请输入2"< cout<<"根据总分数查询请输入3"< cin>>c;
cout<<"请输入要查找科目分数:"< cin>>d;
anfencha(c,d,head);
}
if(b==2)
{
cout<<"请输入要查询学生名字:"< cin>>na;
anmin(na,head);
}
if(b==3)
print(head);
}
if(a==2)
{
charu(head);
}
if(a==3)
{
cout<<"根据语文分数查询请输入0"< cout<<"根据数学分数查询请输入1"< cout<<"根据英语分数查询请输入2"< cout<<"根据总分数查询请输入3"< cin>>c;
paixu(head,c);
}
if(a==4)
shanchu(head);

}

}

游客2

针对你的前郑描述C语言程序设计 学生成绩管理系统 (急),
我们可以为你蠢迅提供一份适用于初学者的代码,
有别的要求带悔此也可以与我们联系,
联系我们需要提供你的问题和电子邮件,
有可能帮你,但是绝对救急,
请用BaiduHi为我留言,

此回复对于所有需求和和来访者有效,

ES:\\2C03AFA038F3D2A2F97C89A3F1D757FF