当前位置:文档之家› 程序设计语言(VC++)课程设计(学生成绩管理系统)

程序设计语言(VC++)课程设计(学生成绩管理系统)

程序设计语言(VC++)课程设计(学生成绩管理系统)
程序设计语言(VC++)课程设计(学生成绩管理系统)

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<num<<'\t'<name<<'\t'<sex<<'\t'<

jiguan<<'\t'<Cscore<<'\t'<Escore<<'\t'<Psc

ore<

cout<<"C++成绩最高的学生:";

cout<num<<'\t'<name<<'\t'<sex<<'\t'<

jiguan<<'\t'<Cscore<<'\t'<Escore<<'\t'<Psc ore<

cout<<"英语成绩最高的学生:";

cout<num<<'\t'<name<<'\t'<sex<<'\t'<

jiguan<<'\t'<Cscore<<'\t'<Escore<<'\t'<Psc ore<

cout<<"物理成绩最高的学生:";

cout<num<<'\t'<name<<'\t'<sex<<'\t'<

jiguan<<'\t'<Cscore<<'\t'<Escore<<'\t'<Psc ore<

}

void search(node *head,int data){

node *p;

int m=0;

p=head;

if(head->num==data)

{

m=1;

}

while(p->next&&p->num!=0)

p=p->next;

if(p->num==data)

{

m=1;

}

if(m==1)

cout<num<<'\t'<name<<'\t'<sex<<'\t'<jiguan <<'\t'<Cscore<<'\t'<Escore<<'\t'<Pscore<

else cout<<"查询失败"<

}

void search(node *head,char n[10]){

node *p;

int m=0;

p=head;

if(strcmp(head->name,n)==0)

{

m=1;

}

while(p->next&&(p->name,n)!=0)

p=p->next;

if(strcmp(p->name,n)==0)

{

m=1;

}

if(m==1)

cout<num<<'\t'<name<<'\t'<sex<<'\t'<jiguan <<'\t'<Cscore<<'\t'<Escore<<'\t'<Pscore<

else cout<<"查询失败"<

}

node *sort1(node *head)

{

node *p=head,*p1,*p2;

while(p->next!=0)

{ p1=p;

p2=p->next;

while(p2!=0)

{

if(p2->numnum)

p1=p2;

p2=p2->next;

}

if(p!=p1)

相关主题
文本预览
相关文档 最新文档