第十七周 项目六:学生成绩统计(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
- 第十七周 项目六:学生成绩统计(6.5)
- 第十七周项目六:学生成绩统计
- 第十七周项目六 学生成绩统计
- 第十七周 项目六:学生成绩统计(6.4)
- 第十七周项目六:学生成绩统计(1)
- 第十七周项目六学生成绩统计(4)
- 第十七周项目六 学生成绩统计(1-3)
- 第十七周项目六学生成绩统计(5)
- 第十七周项目六-学生成绩统计--1
- 第十七周项目六—学生成绩统计
- 第十七周项目六—学生成绩统计
- 第十七周项目六—学生成绩统计
- 第十七周项目六学生成绩统计(1)(2)(3)
- 第十七周 项目六:学生成绩统计(6.1&6.2&6.3)
- 第十七周项目六——学生成绩统计(1~3)
- 第十七周项目六——学生成绩统计(4)
- 第十七周项目6学生成绩统计
- 第十七周 项目6.4 学生成绩统计
- JS replace函数的用法
- 比较C#与C++、Java的异同
- centos 安装mysql时错误unknown variable 'defaults-file=/opt/redmine-2.6.0-2/mysql/my.cnf'
- 利用Envi Idl和MRT 对MODIS影像批量转投影
- 数据库中两张表之间的数据同步增加、删除
- 第十七周 项目六:学生成绩统计(6.5)
- UIView xib创建和切换/控制器传值
- tomcat 内存配置优化 Xms Xmx
- VC++组合框操作辅助类使组合框显示字符串与任意数据类型配对
- 创建型模式--工厂方法模式
- Objective C的SEL类型
- MySQL 安装与使用(EER图建立与数据插入)
- Arrays in C#
- go语言的官方包sync.Pool的实现原理和适用场景