第十七周 项目六:学生成绩统计(6.5)

来源:互联网 发布:京东算法大赛代码 编辑:程序博客网 时间:2024/05/16 07:02

问题及代码:

/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:Project4.cpp* 作    者:李楠* 完成日期:2014年12月19日* 版 本 号:v1.0** 问题描述:score.txt中是一些同学的学号、姓名、C++、高数、英语成绩,利用前面定义的结构体数组,            读取文件score.txt中的数据,完成下面的应用:* 输入描述:略* 程序输出:略*/#include <iostream>#include <fstream>#include <cstdlib>  //exit(1)需要这个头文件using namespace std;struct Student{    char num[13];    char name[10];    int cpp;    int math;    int english;    int grade;};const int N=200;int main( ){    int i, j, k, stuNum=0;    Student stu[N], t_stu;    //(1)从文件中读出数据,存放到你定义的结构体数组中;    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();    //(2)求出每名同学的总分(可以在读入过程中“顺便”计算)    //(3)输出结构体数组中所有同学的记录。     cout<<"成绩单"<<endl;    for(i=0; i<stuNum; ++i)    {        cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].grade<<endl;    }    cout<<endl;    system("PAUSE");    //(4)按总分排序(降序)选择排序    for(i=0; i<stuNum-1; i++)    {        k=i;        for(j=i+1; j<stuNum; j++)            if(stu[j].grade>stu[k].grade) k=j;        t_stu=stu[k];  //交换结构体数组元素        stu[k]=stu[i];        stu[i]=t_stu;    }    //(5)输出排序后的成绩单;    cout<<"排序后的成绩单"<<endl;    for(i=0; i<stuNum; ++i)    {        cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].grade<<endl;    }    cout<<endl;    system("PAUSE");    //(6)有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖学金。请输出可以得奖学金同学的名单。    cout<<"以下同学获得奖学金:"<<endl;    i=0,j=1;    while (j<=30)    {        if (stu[i].cpp>=60&&stu[i].math>=60&&stu[i].english>=60)        {            cout<<j<<'\t'<<stu[i].name<<'\t'<<stu[i].grade<<endl;            j++;        }        i++;    }    return 0;}



运行结果:

 

知识点总结:

结构体+文件+各种知识~~

学习心得:

6的选做我就不写了!!哈哈哈哈~~

0 0
原创粉丝点击