学生成绩管理系统C课程设计.docx
《学生成绩管理系统C课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统C课程设计
/*要求:
1)该系统主要处理学生的成绩信息。
2)学生信息主要包括:
学号、班级、姓名、科目1、科目2、科目3等内容。
3)完成以下的操作:
实现成绩信息的添加、修改、删除和查询,可以计算每个学生的平均成绩及各科目的平均成绩,将学生信息保存为文件。
提示:
1)建立学生类
2)学生信息的初始化
3)学生信息的添加、修改、删除、查找
4)学生信息的输出
5)对学生信息按学号、成绩排序
6)计算一门课的平均分和总分*/
#include
#include
#include
#include
//类的声明
classStudent{
public:
Student(intstu_no1=-1,char*name1="",char*class_no1="",floatc=0.0,floate=0.0,floatm=0.0);
~Student();
voidsetstu(intstu_no1);
voidsetname(char*name1);
voidsetclass(char*class_no1);
voidsetc(floatc);
voidsete(floate);
voidsetm(floatm);
intgetstu()
{returnstu_no;};
char*getname()
{returnname;};
char*getclass()
{returnclass_no;};
floatgetc()
{returncomputer;};
floatgete()
{returnenglish;};
floatgetm()
{returnmath;};
voidshow();
floatsum();
staticintcount;
private:
intstu_no;
char*name;
char*class_no;
floatcomputer;
floatenglish;
floatmath;
}Student[1000],tempstudent;
//类的实现
Student:
:
Student(intstu_no1,char*name1,char*class_no1,floatc,floate,floatm)
{
stu_no=stu_no1;
name=newchar[strlen(name1)+1];
strcpy(name,name1);
class_no=newchar[strlen(class_no1)+1];
strcpy(class_no,class_no1);
computer=c;
english=e;
math=m;
}
Student:
:
~Student()
{
delete[]name;
delete[]class_no;
}
voidStudent:
:
show()
{
cout<:
left)<:
left)<:
left)<<:
left)<:
left)<:
left)\
<:
left)<}
floatStudent:
:
sum()
{
floatsum;
sum=computer+english+math;
returnsum;
}
voidStudent:
:
setstu(intstu_no1)
{
stu_no=stu_no1;
}
voidStudent:
:
setname(char*name1)
{
name=newchar[strlen(name1)+1];
strcpy(name,name1);
}
voidStudent:
:
setclass(char*class_no1)
{
class_no=newchar[strlen(class_no1)+1];
strcpy(class_no,class_no1);
}
voidStudent:
:
setc(floatc)
{
computer=c;
}
voidStudent:
:
sete(floate)
{
english=e;
}
voidStudent:
:
setm(floatm)
{
math=m;
}
intStudent:
:
count=0;
//初始化函数
voidinput()
{
inti;
cout<<"+++++++++++请输入信息:
+++++++++++++"<for(i=0;;i++)
{
cout<<"请输入第"<
"<intstu_no1,g=0;
cin>>stu_no1;
Student[i+1].setstu(stu_no1);
cout<<"请输入第"<
"<charname[20];
cin>>name;
Student[i+1].setname(name);
cout<<"请输入第"<
"<charclass_no[20];
cin>>class_no;
Student[i+1].setclass(class_no);
cout<<"请输入第"<
"<floatc;
cin>>c;
Student[i+1].setc(c);
cout<<"请输入第"<
"<floate;
cin>>e;
Student[i+1].sete(e);
cout<<"请输入第"<
"<floatm;
cin>>m;
Student[i+1].setm(m);
Student:
:
count++;
cout<<"是否继续输入?
退出:
1,输入:
任意数字键"<intt;
cin>>t;
if(t==1)
{
break;
}
}
}
//插入函数
voidinsert()
{
if(Student:
:
count==1000)
cout<<"磁盘空间已满"<else
cout<<"请输入要插入的学生个数:
"<inti,j;
cin>>j;
for(i=0;i{
if(Student:
:
count<20)
{
cout<<"请输入第"<:
count+1<<"个学生的学号:
"<intstu_no1;
cin>>stu_no1;
Student[Student:
:
count+1].setstu(stu_no1);
cout<<"请输入第"<:
count+1<<"个学生的姓名:
"<charname1[20];
cin>>name1;
Student[Student:
:
count+1].setname(name1);
cout<<"请输入第"<:
count+1<<"个学生的班级:
"<charclass_no1[20];
cin>>class_no1;
Student[Student:
:
count+1].setclass(class_no1);
cout<<"请输入第"<:
count+1<<"个学生的计算机成绩:
"<floatc;
cin>>c;
Student[Student:
:
count+1].setc(c);
cout<<"请输入第"<:
count+1<<"个学生的英语成绩:
"<floate;
cin>>e;
Student[Student:
:
count+1].sete(e);
cout<<"请输入第"<:
count+1<<"个学生的数学成绩:
"<floatm;
cin>>m;
Student[Student:
:
count+1].setm(m);
Student:
:
count++;
cout<<"----插入成功----"<}
else
cout<<"磁盘空间已满"<}
}
//删除函数
voiddel()
{
cout<<"输入要删除的学生学号"<intm,t=1;
cin>>m;
for(inti=1;i<=Student:
:
count;i++)
{
if(Student[i].getstu()==m)
{
Student[i].setstu(-1);
Student[i].setname("");
Student[i].setclass("");
Student[i].setc(0);
Student[i].sete(0);
Student[i].setm(0);
cout<<"----删除成功----"<Student[i]=Student[Student:
:
count];
Student:
:
count--;
t=0;
}
}
if(t==1)
cout<<"没有找到该学号,删除失败"<}
//修改函数
voidmodify()
{
cout<<"输入要修改的学生的学号"<intp,t=1;
cin>>p;
for(inti=1;i<=Student:
:
count;i++)
{
if(Student[i].getstu()==p)
{
cout<<"1++++修改学号"<cout<<"2++++修改姓名"<cout<<"3++++修改班级"<cout<<"4++++修改计算机成绩"<cout<<"5++++修改英语成绩"<cout<<"6++++修改数学成绩"<cout<<"++任意数字键退出++"<intq;