请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面

6、成绩管理系统现有学生成绩信息,内容如下姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈东明05673847... 6、成绩管理系统
现有学生成绩信息,内容如下
姓名 学号 语文 数学 英语
张明明 01 67 78 82
李成友 02 78 91 88
张辉灿 03 68 82 56
王露 04 56 45 77
陈东明 05 67 38 47
…. .. .. .. …
请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:
(一)功能要求:
(1)信息维护:
要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息
(2)信息查询:
要求:查询时可实现按姓名查询、按学号查询
(3)成绩统计:
要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。
(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序)
谁会的话帮我做一下 我的邮箱:354672075@qq.com 谢谢了!
展开
 我来答
急速兰博法拉梨
2013-12-03
知道答主
回答量:1
采纳率:0%
帮助的人:1428
展开全部
#include <iostream>
#include
<string>
using namespace std;
class Student
{
public:
Student()
{
score1=0;
score2=0;
score3=0;
}
Student(string name1,int s1,int
s2,int s3);//三科成绩
static void Aver(int &s1,int
&s2,int &s3,int &E_s);//修改引用,得到三科成绩平均分和总平均分
void Show(int flag);//显示个人信息
int
Get(int flag);//获取个人总分

private:
static int sum_score1,
sum_score2, sum_score3;
static int people;
string name;
int score1,
score2,score3;
};
int
Student::sum_score1=0;
int Student::sum_score2=0;
int Student::sum_score3=0;
int
Student::people=0;
Student::Student(string name1,int s1,int
s2,int s3)
{

name=name1;
score1=s1;
score2=s2;
score3=s3;
sum_score1+=score1;
sum_score2+=score2;
sum_score3+=score3;
people++;
}
void Student::Aver(int &s1,int &s2,int &s3,int
&sum_s)
{

s1=sum_score1/people;
s2=sum_score2/people;
s3=sum_score3/people;

sum_s=(sum_score1+sum_score2+sum_score3)/people;
}
int Student::Get(int flag)
{
if(flag==1)
return score1;
else
if(flag==2)
return score2;
else
if(flag==3)
return score3;
else
return
(score1+score2+score3);
}
void
Student::Show(int flag)
{
if(flag==1)

cout<<"第一科成绩:"<<score1<<" 姓名:"<<name<<endl;
else
if(flag==2)

cout<<"第二科成绩:"<<score2<<" 姓名:"<<name<<endl;
else
if(flag==3)
cout<<"第三科成绩:"<<score3<<"
姓名:"<<name<<endl;
else

{
cout<<"姓名:"<<name<<endl;
cout<<"第一科成绩:"<<score1<<endl;
cout<<"第二科成绩:"<<score2<<endl;
cout<<"第三科成绩:"<<score3<<endl;
}
}
int main()
{
void Sort(Student *p,int num,int
flag);
string name;//性名
int
num;//人数
int i;//循环变量
int
flag;//标记排名的科目,1表示按第一课排序、2表示按第二课排序、3表示按第三课排序、4表示按总分排序

int s1, s2, s3;//三科成绩
int
aver1=0,aver2=0,aver3=0,sum_aver=0;//三科平均成绩和总平均成绩

cout<<"请输入人数:" ;
cin>>num;
Student *p;
p=new
Student[num];//声明指针数组
for(i=0;i<num;i++)
{

cout<<endl<<"请输入第"<<i+1<<"人的姓名和三科信息:" ;

cin>>name>>s1>>s2>>s3;
p[i]=Student (name,s1,s2,s3);
}

Student::Aver(aver1,aver2,aver3,sum_aver);

cout<<"三科和总的平均成绩分别是:"<<aver1<<"、"<<aver2<<"、"<<aver3<<"、"<<sum_aver<<endl;
for(flag=1;flag<=4;flag++)

Sort(p,num,flag);
system("pause");
delete []p;
return 0;
}
void Sort(Student *p,int num,int flag)
{
int i, j;
Student
t;//用做交换变量
for(i=0;i<num-1;i++)//冒泡排序
for(j=0;j<num-1-i;j++)
{

if(p[j].Get(flag)<p[j+1].Get(flag))
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
for(i=0;i<num;i++)//显示信息

p[i].Show(flag);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小强624
2011-06-08 · 超过24用户采纳过TA的回答
知道答主
回答量:208
采纳率:0%
帮助的人:128万
展开全部
我记得夜影写过。。
去bcwhy找找吧

www.bcwhy.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式