第十七周项目 6 学生成绩统计(5)
来源:互联网 发布:vb九九乘法表代码简单 编辑:程序博客网 时间:2024/05/16 18:53
/* *Copyright (C) 2014,烟台大学计算机学院 *All rights reserved. *文件名称 :mian.cpp *作 者 :韩娟 *完成日期 :2014年12月22日 *版 本 号 :v1.0 * *问题描述 :score.txt中是一些同学的学号、姓名、C++、高数、英语成绩,利用前面定义的结构体数组,读取文件score.txt中的数据,完成下面的应用: •从文件中读出数据,存放到结构体数组中; •求出每名同学的总分(可以在读入过程中“顺便”计算); •输出结构体数组中所有同学的记录。 •按总分排序(降序); •输出排序后的成绩单; •有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖学金。请输出可以得奖学金同学的名单。若符合得将的最后一名同学有重复(例如总分全为S),则总分为S的同学全得奖。 *输入描述 :略 *程序输出 :略 */#include <iostream>#include <fstream>#include <cstdlib> //在codeblocks下,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(); 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"); 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; } 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"); cout<<"以下同学获得奖学金:"<<endl; i=0,j=1; int g; 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; g=stu[i].grade; j++; } i++; } while(g==stu[i].grade) { 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;}
知识点总结 :
这个程序要用到前面的读入程序,要记得固定的模板。
学习心得 :
程序员真的好累。
0 0
- 第十七周 【项目6-学生成绩统计】(5)
- 第十七周项目 6 学生成绩统计(5)
- 第十七周项目6-学生成绩统计(5)
- 第十七周项目6学生成绩统计
- 第十七周 【项目6-学生成绩统计】(6)
- 第十七周项目6-学生成绩统计(6)
- 第十七周项目6-学生成绩统计(一)
- 第十七周 【项目6-学生成绩统计】(1.2.3)
- 第十七周 【项目6-学生成绩统计】(4)
- 第十七周项目 6 学生成绩统计(4)
- 第十七周项目6-学生成绩统计(4)
- 第十七周项目6--学生成绩统计(4)
- 第十七周项目6-学生成绩与统计(3)
- 第十七周项目六学生成绩统计(5)
- 第十七周 项目6.4 学生成绩统计
- 第十七周项目六:学生成绩统计
- 第十七周项目六 学生成绩统计
- 第十七周项目6——学生成绩统计
- LeetCode:Balanced Binary Tree
- leetcode------Implement pow(x, n).
- Web开发之JDBC
- MySQL学习之事务
- 怎样开启SQL数据库服务综合总结(前人之鉴)
- 第十七周项目 6 学生成绩统计(5)
- 写给已有编程经验的 Python 初学者的总结
- Java中Math类的常用方法
- CI学习随手记(二)
- delphi xe 之路(14)使用FireMonkeyStyle
- hbase exporter importer 导出 导入
- 堆排序(小根堆)
- 第十七周项目今天第几秒
- JTAG的描述及与JLINK的区别