第17周项目6-学生成绩统计(从文件中读入)

来源:互联网 发布:php把字符串变成数组 编辑:程序博客网 时间:2024/05/23 01:54

问题及代码:

</pre><pre class="cpp" name="code">/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:score.cpp *作    者:赵敏 *完成日期:2014年12月23日 *版 本 号:v1.0 * *问题描述:每位同学的信息学号、姓名、C++、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)、均分(average))。 (1)从键盘上输入N名学生的信息(N定义为常变量); (2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算); (3)输出每位同学的信息学号、姓名、总分和均分。 */  #include <iostream>#include<fstream>#include<cstdlib>using namespace std;struct Student{   char num[13];   char name[10];   int cpp;   int math;   int english;   int grade;   double average;};const int N=200;int main(){    Student stu[N],t;    int i,stuNum=0,j;//从文件中读出数据,存放到你定义的结构体数组中;    ifstream infile("score.txt",ios::in); //以输入的方式打开文件    if(!infile)   //测试是否成功打开    {        cerr<<"open error!"<<endl;        exit(1);    }    i=0;    while(infile>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english)    {        stu[i].grade=stu[i].cpp+stu[i].math+stu[i].english;        ++stuNum;        ++i;    }    infile.close();  cout<<"成绩单为:"<<endl;  for(i=0;i<stuNum;i++)  {      cout<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].cpp<<" "<<stu[i].math<<" "<<stu[i].english<<" "<<stu[i].grade<<endl;  }  cout<<endl;  for(i=0;i<stuNum-1;i++)    for(j=0;j<stuNum-i-1;j++)  {      if(stu[j].grade<stu[j+1].grade)        {            t=stu[j+1];            stu[j+1]=stu[j];            stu[j]=t;        }  }  cout<<"排序后成绩:"<<endl;  for(i=0;i<stuNum;i++)  {      cout<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].cpp<<" "<<stu[i].math<<" "<<stu[i].english<<" "<<stu[i].grade<<endl;  }  cout<<"获奖名单为:"<<endl;i=0,j=1;int s;  while(j<=30)  {      if (stu[i].cpp>=60&&stu[i].math>=60&&stu[i].english>=60)     {      cout<<j<<"、"<<stu[i].name<<endl;      s=stu[i].grade;      j++;     }     i++;  }while(s==stu[i].grade){ if (stu[i].cpp>=60&&stu[i].math>=60&&stu[i].english>=60)     {      cout<<j<<"、"<<stu[i].name<<endl;      j++;     }     i++;}}


运行结果:

学习心得:

  在最后的相同成绩也得奖不会,参考了老师的。。。。

0 0
原创粉丝点击