首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

其次周项目三————结构体数组计算

2013-03-16 
第二周项目三————结构体数组计算/*【项目3-用结构体数组作计算】接项目2,* Copyright (c)2013, 烟台大学计算

第二周项目三————结构体数组计算

/*【项目3-用结构体数组作计算】接项目2,* Copyright (c)2013, 烟台大学计算机学院学生  * All rightsreserved.  * 文件名称:score.cpp                             * 作    者:蛋蛋                              * 完成日期:2013  年3  月13  日  * 版本号: v1.0        * 输入描述:  * 问题描述:(1)从文件中读出数据,存放到你定义的结构体数组中,即项目2(1);(2)求出每名同学的总分(可以在读入过程中“顺便”计算);(3)按总分排序(降序);(4)输出排序后的成绩单;(5)有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖学金。请输出可以得奖学金同学的名单。(6)选做:统计各门课及总分的平均成绩、最高和最低成绩、标准偏差,并输出。   建议做两个版本:(1)所有功能全在main()函数中;(2)用自定义函数实现各任务* 输出:读取后的的获得奖学金学生名单及成绩单  * 操作感悟:还是读取失败,完全不懂呢,找不到.dat呢5555 */  #include <iostream>#include <fstream>using namespace std;struct Student{    char num[12];     char name[12];     int cpp;    int math;    int english;    int score;};const int N=200;int main( ){    int i, stuNum=0;    Student stu[N];    ifstream infile("score.txt",ios::in); //以输入的方式打开文件    if(!infile)   //测试是否成功打开    {        cerr<<"open error!"<<endl;        exit(1);    }    i=0;    while(!infile.eof())    {        infile>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english;        stu[i].score=stu[i].cpp+stu[i].math+stu[i].english;        ++stuNum;        ++i;    }    infile.close();Student t;for(i=0;i<stuNum-1;i++){for(int j=0;j<stuNum-i-1;j++){if(stu[j].score<stu[j+1].score){t=stu[j];stu[j]=stu[j+1];stu[j+1]=t;}}}    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].score<<endl;    }cout<<"获得奖学金的有以下同学"<<endl;if(stu[i].cpp>=60&&stu[i].math>=60&&stu[i].english>=60){int j=0;while(j<30){ cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].score<<endl;j++;}i++;}    return 0;}

1楼sxhelijian昨天 21:13
保持这种劲头,也要注意和同学们交流。

热点排行