文件加结构体
来源:互联网 发布:印度崛起 知乎 编辑:程序博客网 时间:2024/05/19 00:15
#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;};void calculate(Student s[],int n); //计算总分和均分,数据在s数组中,共有n个元素void sort1(Student [],int); //按总分降序排序void outlist(Student [],int); //输出成绩单void outputExcellent(Student s[],int n); //输出优秀者:总分超285,单科不低于90int main(){ int i=0,stuNum=0; Student stu[200]; 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(); calculate(stu,stuNum); cout<<"下面是成绩单:"<<endl; outlist(stu,stuNum); cout<<"优秀者名单:"<<endl; outputExcellent(stu,stuNum); //按总分降序排序后输出 sort1(stu,stuNum); cout<<"按总分降序排序后:"<<endl; outlist(stu,stuNum); return 0;}void calculate(Student s[],int n){ int i; for (i=0;i<n;i++) { s[i].grade=s[i].math+s[i].cpp+s[i].english; s[i].average=s[i].grade/3; }}void sort1(Student s[],int n){ int i,j,k; for (i=0;i<n-1;i++) { for (j=0;j<i;j++) { if(s[i].grade>s[j].grade) { k=s[i].grade; s[i].grade=s[j].grade; s[j].grade=k; } } }}void outlist(Student s[],int n){ int i; cout<<"学号 姓名 C++ 高数 英语 总分"<<endl; for(i=0;i<n;i++) { cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<endl; }}void outputExcellent(Student s[],int n){ int i; for(i=0;i<n;i++) { if(s[i].cpp>=90&&s[i].math>=90&&s[i].english>=90&&s[i].grade>285) { cout<<s[i].num<<" "<<s[i].name<<endl; } }}
总算做出来了~~~~
0 0
- 文件加结构体
- 02周:项目三:文件加结构体实现系统
- C++ 项目3 文件加结构体实现实用系统
- FLV文件结构分析(转载加修改)
- 结构体成员赋值-标记化结构体初始化语法-结构体成员前面加小数点
- 文件操作结构体
- FILE 文件结构体
- 结构体、文件
- 文件与结构体
- c语言中结构体成员变量加“点”问题
- 结构体数组指针加1到底加多少字节?
- C语言 struct结构体的变量声明加冒号
- 6.25 被虐记v 4 结构体 发工资加奖金
- linux中结构体成员变量加“点”问题
- hd1862 EXCEL排序(结构体加sort快排)
- 心急的c小加(结构体排序+标记)
- C语言---结构体成员变量加“点”赋值
- struct结构体的变量声明加冒号
- Github for windows 安装教程(历尽千辛终于可以安装了)
- 通过web安装iOS app
- 关于数据结构的详细介绍,自己总结的 ,勿喷。谢谢
- linux下串口gps应用
- Linux操作系统文件系统基础知识详解
- 文件加结构体
- GCC下用C写for循环延迟函数并且不被优化的实现
- Source Insight工程中tab键显示乱码解决方法
- 正则表达式初步
- Maven学习 (二) Eclipse 上安装 Maven3插件
- HDU find the most comfortable road
- 介绍linux下vi命令的使用
- MFC 鼠标消息
- MyBatis的动态SQL详解