对学生考试成绩的处理
2012-12-08 10:22
288 查看
/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 07 日 * 版 本 号:v1.0 * * 输入描述: * 问题描述: 有一个班四个学生,5门课,1、求第一门课的平均分 2、找出有两门以上课程不及格的学生,输出他们的学号,全部课程成绩和平均成绩; 3、找出平均成绩在90分以上或者全部课程成绩在85分以上的学生 分别编三个函数实现以上功能 * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std; int main() { void avsco(float *pscore,float *paver); void avcour1(char(*pcourse)[10],float *pscore); void fail2(char course[5][10],int num[],float *pscore,float aver[4]); void good(char course[5][10],int num[4],float *pscore,float aver[4]); int i,j,*pnum,num[4]; float score[4][5],aver[4],*pscore,*paver; char course[5][10],(*pcourse)[10]; cout<<"input course:"<<endl; pcourse=course; for(i=0;i<5;i++) { cin>>course[i]; } cout<<"input NO.and score:"<<endl; cout<<"NO."; for(i=0;i<5;i++) { cout<<","<<course[i]; } cout<<endl; pscore=&score[0][0]; pnum=&num[0]; for(i=0;i<4;i++) { cin>>*(pnum+i); for(j=0;j<5;j++) { cin>>*(pscore+5*i+j); } } paver=&aver[0]; cout<<endl<<endl; avsco(pscore,paver); //求每个学生的平均成绩 avcour1(pcourse,pscore);//求出第一门课的平均成绩 cout<<endl<<endl; fail2(pcourse,pnum,pscore,paver);//找出两门课不及格的学生, cout<<endl<<endl; good(pcourse,pnum,pscore,paver);//找出成绩好的学生 return 0; } //求每个学生平均成绩的函数 void avsco(float *pscore,float *paver) { int i,j; float sum,average; for(i=0;i<4;i++) { sum=0.0; for(j=0;j<5;j++) { sum=sum+(*(pscore+5*i+j)); //累计每个学生的各科成绩 } average=sum/5; //计算平均成绩 *(paver+i)=average; } } //求第一课程的平均成绩的函数 void avcour1(char(*pcourse)[10],float *pscore) { int i; float sum,average1; sum=0.0; for(i=0;i<4;i++) { sum=sum+(*(pscore+5*i)); //累计每个学生的得分 } average1=sum/4; cout<<"course1:"<<*pcourse<<",averge score:"<<average1<<endl; } //找两门以上课程不及格的学生的函数 void fail2(char course[5][10],int num[],float *pscore,float aver[4]) { int i,j,k,labe1; cout<<"===========Student who failed in two courses======="<<endl; cout<<"NO. "; for(i=0;i<5;i++) { cout<<course[i]<<" "; } cout<<" averge"<<endl; for(i=0;i<4;i++) { labe1=0; for(j=0;i<5;j++) { if(*(pscore+5*i+j)<60.0) { labe1++; } } if(labe1>=2) { cout<<num[i]<<" "; for(k=0;k<5;k++) { cout<<*(pscore+5*i+j)<<" "; } cout<<" "<<aver[i]<<endl; } } } //找成绩优秀的学生(全部课程在85分以上或平均成绩在90分以上)的函数 void good(char course[5][10],int num[4],float *pscore,float aver[4]) { int i,j,k,n; cout<<"=======Student whose score is good========"<<endl; cout<<"NO. "; for(i=0;i<5;i++) { cout<<course[i]<<" "; } cout<<" averge"<<endl; for(i=0;i<4;i++) { n=0; for(j=0;j<5;j++) { if(*(pscore+5*i+j)>85.0) { n++; } } if((n==5)||(aver[i]>=90)) { cout<<num[i]<<" "; for(k=0;k<5;k++) { cout<<*(pscore+5*i+k)<<" "; } cout<<" "<<aver[i]<<endl; } } }
相关文章推荐
- 20151017数组计算学生考试成绩
- 用二进制文件处理学生成绩
- 第十五周上机项目一用二进制文件处理学生成绩
- 第十六周实践项目2学生成绩处理(1)
- 学生成绩处理
- 第15周项目1-用二进制文件处理学生成绩
- 2015-第15周项目2-用二进制文件处理学生成绩
- 第十六周-学生成绩处理2
- 第十五周项目1:用二进制文件处理学生成绩
- 一组学生成绩处理
- 《C语言及程序设计》实践参考——学生成绩处理
- C++第1周项目3——结构体数组处理学生成绩
- 第十三周oj实践学生成绩处理
- 第十七周实验报告--学生成绩处理
- vb.net ---- 学生考试成绩统计生成系统.txt
- 第十五周 项目一:用二进制文件处理学生成绩
- 第十五周项目1 用二进制文件处理学生成绩
- 十六周—学生成绩处理
- 学生成绩的处理
- 进阶项目2-学生成绩处理