c++编程《学生期末成绩及平均分最高最低分计算》

一、 目的与要求:
1. 目的
培养学生综合利用C++语言进行程序设计的能力,通过学生独立思考,提高学生将所学知识转化为分析和设计简单实际问题的能力,建立程序文档、归纳总结的能力,从而增强创新和实践能力。
2. 基本要求
要求用C++语言编程,在Visual C++环境下调试完成。
3. 创新要求
进一步完善程序,按班级分类后,再分别求出平时成绩的和总成绩的最高分最低分;进一步考虑结构体数组大小设定为100或50,每次输入学生个数,再进行处理。
1. 课题功能描述
在计算机文化基础课中讲了用EXCEL处理数据表,可以对数据表进行填充数据、分类汇总等操作,要求对表1所示的数据表填充总成绩,并按班级求期末成绩、平时成绩和总成绩的平均分,各班期末成绩的最高分和最低分。
2. 问题详细描述
对表1所示的数据表进行填充和分类汇总,具体操作如下:
1)填充总成绩,公式为:总成绩=期末成绩*70%+平时成绩*30%。
2)分类汇总:
(1)按班级求期末成绩、平时成绩和总成绩的平均分
(2)各班期末成绩的最高分和最低分。
3)输出结果要求:
(1)输出填充结果的数据表,形式如表1。
(2)输出按班级汇总后的期末成绩、平时成绩和总成绩平均分,形式如下:

班级
期末成绩平均分
平时成绩平均分
总成绩平均分
传媒1

传媒2

传媒3

(3)输出各班期末成绩的最高分和最低分,形式如下:
班级
最高分
最低分
传媒1

传媒2

传媒3
如果有会的,请发我邮箱2215230828@qq.com
急求!!表一格式
表1 各班学生成绩信息表
班级
学号
姓名
期末成绩
平时成绩
总成绩
传媒1
10641301
刘晓玮
65
80
 
传媒2
10641302
夏海霞
74
85
 
传媒1
10641303
陈威
81
90
 
传媒2
10641304
周莉
87
90
 
传媒3
10641305
贾君
75
90
 
传媒1
10641306
韩晓萍
58
80
 
传媒2
10641307
奚景泊
80
90
 
传媒3
10641308
胡华
85
95
 
传媒1
10641309
李栋
93
95
 后面还有一些,一共39个学生

#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
const int studentNum=39; //学生数目
const int nameLen=20; //学生姓名长度
const int idLen=15; //学生学号长度
int main()
{
char name[studentNum][nameLen]; //学生姓名
char id[studentNum][idLen]; //学生学号
float score[studentNum][4]; //学生成绩
float sum;
float average[studentNum]; //平均成绩

int i,j;
/*******读入学生的姓名、学号、成绩和计算平均成绩**********/
cout <<"请输入"<<studentNum<<"个" <<"学生资料:" <<endl;
cout <<"格式为:姓名 学号 成绩1 成绩2 成绩3 总分" <<endl;
for(i=0;i<studentNum;i++)
{
cin >>name[i] >>id[i];
sum=0;
for(j=0;j<4;j++)
{
cin >>score[i][j];
}
for(j=0;j<3;j++)
{
sum+=score[i][j];
}
average[i]=sum/3;
cout <<average[i] <<endl;
}
/******按照学生成绩排序************/
int max; //排序,记录当前一趟排序的最大值
for(i=0;i<studentNum-1;i++)
{
max=i; //假定第i个元素是最大值
for(j=i+1;j<studentNum;j++)
{
if(average[j]>average[max])
max=j;
}
/***将找到的具有最大值的元素放到当前一趟排序的第一个位置***/
if(i!=max)
{
float tempFloat;
char tempStr[nameLen];
/***交换两个位置成绩****/
tempFloat=average[i];
average[i]=average[max];
average[max]=tempFloat;
for(j=0;j<4;j++){
tempFloat=score[i][j];
score[i][j]=score[max][j];
score[max][j]=tempFloat;}
/***交换两个位置的学生姓名***/
strcpy(tempStr,name[i]);
strcpy(name[i],name[max]);
strcpy(name[max],tempStr);
/****交换两个位置的学号***/
strcpy(tempStr,id[i]);
strcpy(id[i],id[max]);
strcpy(id[max],tempStr);
}
}
/*****输出排序后的结果******/
cout <<endl <<"排序后的结果为:" <<endl;
for(i=0;i<studentNum;i++){
cout <<name[i] <<" " <<id[i]<<" "<<score[i][0]<<" "<<score[i][1]<<" "<<score[i][2]<<" "<<score[i][3]<<" "<<endl;
}
system("pause");
return 0;
}
这是我给另一个人的,你自己改下吧,我写的是输入姓名 学号 3课成绩 总成绩 最后按总分从大到小排名
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-06
历害

c++编程《学生期末成绩及平均分最高最低分计算》
int main(){ char name[studentNum][nameLen]; \/\/学生姓名 char id[studentNum][idLen]; \/\/学生学号 float score[studentNum][4]; \/\/学生成绩 float sum;float average[studentNum]; \/\/平均成绩 int i,j;\/***读入学生的姓名、学号、成绩和计算平均成绩***\/ cout <<"请输入...

一、 题目:学生期末成绩及平均分、最高最低分计算
include<iostream.h>const int N=3,M=10;struct student { char bj[N]; char xh[10]; char xm[10]; double qmchj; double pshchj; double zchj; };student stu[10];void sort(student stu[],int M);void main(){ cout<<"please input students info:"; for(int i=0;...

C语言编程,求出某学生期末三门课程的总分及平均分
include"stdio.h"int main (void){int a,b,c;\/\/定义三个变量啊a,b,c分别存放三门课的成绩double sum,ave;\/\/定义sum和ave分别存放三门成绩的和与平均值printf("请输入三门课程的成绩a= b= c= ");scanf("%d%d%d",&a,&b,&c);sum=a+b+c;\/\/求三门课程的和ave=(a+b+c)\/3...

跪求一个学生成绩管理系统的C++程序!!!
要求:1)设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比2)计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平... 要求:1)设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比2)计算学生总评成绩:总评成绩=平...

某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6...
include <stdlib.h> include <string.h> define MAX_LEN 10 \/* 字符串最大长度 *\/ define STU_NUM 30 \/* 最多的学生人数 *\/ int Menu(void);void ReadScore(long num[], char name[][MAX_LEN], float score[], int n);void AverSumofScore(float score[],...

C语言程序设计作业:四个问题如下!
第一题:void main(){ int n,sum;n=20;sum=0;sum=fun(n);printf("%ld\\n",sum);return;} long fun(int n){ int i;long tmp;i=1;while(i<=n){ tmp+=i*i;i++;} return tmp;} 第二题:void main(){ int n;n=1000;fun(n);return;} void fun(int n){ int i,sum,tmp...

excel怎样用函式计算成绩最低分
跪求c++程式设计题:学生期末成绩及平均分、最高最低分计算(不出现 printf和scanf函式)! #include <iostream> #include <conio.h> using namespace std; void main() { float score,sum,count; float max,min,average; char select; cout<<"请输入成绩:"; cin>>score; ...

我是个菜鸟,求学习方法!
学习效率高,用于学习的时间是通常学习时间的三分之一。 学习中没有人与人的差异,无论智商高低和是否有学习经验,所有的学生都能很轻易地掌握这种方法。 记忆过的内容遗忘率低,可经久不忘。 超级学习法以其高效率和多方面的功用,成为世界优秀学习方法中最优秀的一种。它一问世,便受到了包括东西方在内的所有人的...

美国留学的具体要求有哪些?
语言成绩与SAT标准化考试,每所美国大学要求的标准化考试成绩不尽相同。前35的学校托福一般最低要求100,36-50学校一般要求,托福90以上,也有个别学校托福最低要求80。 申请材料:1. 标准化考试SAT或者ACT成绩 2.语言成绩 3.高中成绩单4.高中毕业证 5.推荐信 6.文书 7.活动研究生申请:GPA成绩:3...

计算机什么专业最好
新加坡国立大学计算机专业通过最前沿的理论知识与贴近实践的教学方式培养尖端人才,该校的课程模式偏向西化,教授们授课模式认真严谨,平时课程并不算多,项目作业量则视具体科目而定。而最终成绩也不取决于期末成绩,更偏向整个学期学生的综合表现。此外,学院经常举办社交晚宴和酒会,邀请各行业的校友回校同应届学生交谈交际,让...

相似回答