标题:
成绩管理系统c++源代码下载
[打印本页]
作者:
lxiiii
时间:
2017-12-25 20:04
标题:
成绩管理系统c++源代码下载
成绩管理系统 c++工程:
0.png
(8.73 KB, 下载次数: 62)
下载附件
2017-12-25 22:32 上传
单片机源程序如下:
// 学生成绩管理系统.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<cstdio>
using namespace std;
const int Max=5;//字符串最大长度
class Student;//类声明
void setData(Student &s);//设置对象s的数据
void count(Student &s);//计算对象s的总分,平均分
void sort(Student S[],int N);//把长度为N的对象数组S,按平均分排序
double getAverage(Student S[],int N);//计算全班的平均分
void print(Student &s);//打印信息
int search(Student S[],int N,char *n);//从长度为M的对象数组中,查找学号n的位置
class Student
{
public:
char number[Max]; //学号
char name[Max]; //姓名
double chinese; //语文成绩
double math; //数学成绩
double english; //英语成绩
double total; //总分
double average; //平均分
int rank;//只有比较才不为了0
};
void setData(Student &s) //成绩录入模块
{
cout<<"输入学号,姓名,语文,数学,英语成绩:";//录入数据
cin>>s.number>>s.name>>s.chinese>>s.math>>s.english;
s.total=0;//初始化
s.average=0;
s.rank=0;
}
void count(Student &s)//成绩统计
{
s.total=s.chinese+s.math+s.english;
s.average=s.total/3;
}
void sort(Student S[],int N)//插入法排序 (成绩排名)
{
int index;
Student inserter;
for(int i=1;i<N;i++)
{
inserter=S[i];
index=i-1;
while(index>=0&&inserter.average>S[index].average)
{
S[index+1]=S[index];
index--;
}
S[index+1]=inserter;
}
for(int j=0;j<N;j++)
S[j].rank=j+1;//设置排名
}
double getAverage(Student S[],int N)
{
double Average=0;
for(int i=0;i<N;i++)
Average+=(S[i].chinese+S[i].math+S[i].english);
Average/=(N*3);
return Average;
}
void print(Student &s) //输出结果
{
cout<<"排名"<<"\t"<<"学号"<<"\t"<<"姓名"<<"\t"<<"语文:"<<"\t"
<<"数学:"<<"\t"<<"英语:"<<"\t"<<"总分"<<"\t"<<"平均分"<<endl;
cout<<s.rank<<"\t"<<s.number<<"\t"<<s.name<<"\t"<<s.chinese<<"\t"
<<s.math<<"\t"<<s.english<<"\t"<<s.total<<"\t"<<s.average<<endl;
}
int search(Student S[],int N,char *n) //成绩查询模块
{
for(int i=0;i<N;i++)
{
if(strcmp(S[i].number,n)==0)
return i;
}
return -1;
}
int main() //系统集成
{
const int M=3;
Student S[M];
for(int i=0;i<M;i++)
{
cout<<"下面输入第"<<i+1<<"位同学的数据:"<<endl;
setData(S[i]);
count(S[i]);
cout<<endl;
}
sort(S,M);
int order=1;
while(order!=4)
{
cout<<"*****************************命令菜单******************************"<<endl;
cout<<"1.打印所有排名"<<endl;
cout<<"2.打印出成绩在全班平均分以上的学生名单和数据信息"<<endl;
cout<<"3.任意输入一个学号,查找出该学生在班级中的排名及其考试成绩"<<endl;
cout<<"4.退出系统"<<endl;
cout<<"*******************************************************************"<<endl;
cout<<"输入命令选择:";
cin>>order;
switch(order)
{
case 1:
{
for(int j=0;j<M;j++)
print(S[j]);
}
break;
case 2:
{
double compare=getAverage(S,M);
for(int k=0;k<M;k++)
if(S[k].average>compare)
print(S[k]);
}
break;
case 3:
{
char code[Max];
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
学生成绩管理系统.rar
(367.94 KB, 下载次数: 12)
2017-12-25 20:04 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1