用结构体数组做计算、

来源:互联网 发布:佳能dpp软件 编辑:程序博客网 时间:2024/05/17 22:10
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称:score.cpp                           * 作    者:                            * 完成日期: 2013 年 3 月 9  日* 版本号: v1.0      * 输入描述:*/#include <fstream>   //操作文件必写#include<iostream>using namespace std;struct Student{char num[14];char name[30];int cpp;int math;int english;int score;};void sort(Student [],int );void output(Student [],int );void obtain(Student [],int );int main( ){ Student student[200];int i; int stuNum=0;//以输入的方式(ios::in)打开文件,注意f1.dat必须在文件夹中存在ifstream infile("score.txt",ios::in);//测试是否成功打开,打开失败时(如要读的数据文件不存在)退出if(!infile)       {cerr<<"open error!"<<endl;exit(1);}while (!infile.eof())      {  infile>>student[stuNum].num>>student[stuNum].name>>student[stuNum].cpp>>student[stuNum].math>>student[stuNum].english; ++stuNum;//从文件中读取数据,类似cin>>a,只不过来源是打开的文件}for(i=0;i<stuNum-1;i++){student[i].score=student[i].cpp+student[i].math+student[i].english;cout<<student[i].num<<'\t'<<student[i].name<<'\t'<<student[i].cpp<<'\t'<<student[i].math<<'\t'<<student[i].english<<'\t'<<student[i].score<<endl; }cout<<"学号"<<'\t'<<'\t'<<"姓名"<<'\t'<<"c++"<<'\t'<<"高数"<<'\t'<<"英语"<<'\t'<<"总分"<<endl;sort(student,stuNum);//按总成绩排序output(student,stuNum);//输出排序后的成绩obtain(student,stuNum);infile.close();    //读入完毕要关闭文件return 0;}  void sort(Student student[],int stuNum){int i,j;int t;for(j=0;j<stuNum-1;j++)for(i=0;i<stuNum-j;i++)if(student[i].score<student[i+1].score){t=student[i].score;student[i].score=student[i+1].score;student[i+1].score=t;}}void output(Student student[],int stuNum){int i;cout<<"按总成绩排序后为:"<<endl;for(i=0;i<stuNum-1;i++){  cout<<student[i].num<<'\t'<<student[i].name<<'\t'<<student[i].cpp<<'\t'<<student[i].math<<'\t'<<student[i].english<<'\t'<<student[i].score<<endl;}}void obtain(Student student[],int stuNum){int i,count;cout<<"获得奖学金的同学有:"<<endl;    for(i=0;i<stuNum;i++){if(student[i].cpp>=60 && student[i].english>=60 && student[i].math>=60)count++;}for(i=0;i<30;i++)cout<<student[i].name<<'\t';}


 

原创粉丝点击