程序设计语言(VC++)课程设计(学生成绩管理系统)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.
2.
3.
4.题目:学生成绩管理系统
5.基本要求
(1)要求用Visual C++语言来实现一个简单的学生成绩管理系统,该系统完成之后,基本上要能够无错运行,能达到学生成绩管理系统的基本要求。
(2)各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.CPP文件中,要求使用头文件。
(3)准备系统模拟的数据,不得少于10条。
(4)成绩管理程序至少应具备以下功能:
1)输入:学生的基本信息,包括学号.姓名.性别.籍贯. Visual C++成绩.英语成绩.
物理成绩等;
2)计算:每个学生的总成绩.平均成绩.所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;
3)查询:可以按学号.姓名. Visual C++成绩查询
4)4)排序:可以按学号.姓名. Visual C++成绩. 英语成绩.物理成绩.总成绩.平均成绩等进行排序并输出;
5)删除:删除某条记录;
6)帮助和关于;
7)退出:退出整个系统的运行。
8)可以增加更多的菜单项,比如设置颜色.字体风格等。
程序如下:
#include
#include
struct node{
int num;
char name[10];
char sex[10];
char jiguan[10];
float Cscore;
float Escore;
float Pscore;
float sum;
float average;
node *next;
};
node *create(){
node *head;
node *p,*pend;
int a;
char b[10];
char c[10];
char f[10];
float d1,d2,d3;
cout<<"请输入学号,姓名,性别,籍贯,C++成绩,英语成绩,物理成绩:";
cin>>a>>b>>c>>f>>d1>>d2>>d3;
head=0;
int i=0;
while(i<2){
p=new node;
p->num=a;
strcpy(p->name,b);
strcpy(p->sex,c);
strcpy(p->jiguan,f);
p->Cscore=d1;
p->Escore=d2;
p->Pscore=d3;
p->sum=(d1+d2+d3);
p->average=(d1+d2+d3)/3;
if(head==0){
head=p;
pend=p;}
else{ pend->next=p;
pend=p;}
i++;
cout<<"请输入学号,姓名,性别,籍贯,C++成绩,英语成绩,物理成绩:";
cin>>a>>b>>c>>f>>d1>>d2>>d3;
}
if(head) pend->next=0;
return head;
}
void print(node *head){
node *p;
float m,n,k;
p=head;
while(p){
m+=p->Cscore;
n+=p->Escore;
k+=p->Pscore;
p=p->next;
}
m/=3;
n/=3;
k/=3;
node *p1,*p2,*p3,*p4,*p5;
p1=p2=p3=p4=p5=head;
while(p2)
{ if(p2->sum>p1->sum) p1=p2;
if(p2->Cscore>p3->Cscore) p3=p2;
if(p2->Escore>p4->Escore) p4=p2;
if(p2->Pscore>p5->Pscore) p5=p2;
p2=p2->next;
}
cout<<"总成绩最高的学生:";
cout< jiguan<<'\t'< ore< cout<<"C++成绩最高的学生:"; cout< jiguan<<'\t'< cout<<"英语成绩最高的学生:"; cout< jiguan<<'\t'< cout<<"物理成绩最高的学生:"; cout< jiguan<<'\t'< } void search(node *head,int data){ node *p; int m=0; p=head; if(head->num==data) { m=1; }