二周 项目3 文件+结构体实现使用功能

来源:互联网 发布:宁波php招聘 编辑:程序博客网 时间:2024/04/30 22:59
/*烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:zhaojiaxiang*完成日期:2013年3月6日*版本号:v1.0*我的程序:*/#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 output(Student s[],int);void sort1(Student s[],int);void sort2(Student s[],int);int main( ){    int i;    Student stu[1000];    int stuNum=0;    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;    output(stu,stuNum);    cout<<"总分高低的顺序为"<<endl;    sort1(stu,stuNum);    cout<<"获得奖学金的同学是"<<endl;    sort2(stu,stuNum);    return 0;}void output(Student s[],int n){    cout<<"学号  姓名 C++ 数学 英语 总分"<<endl;    for(int 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 sort1(Student s[],int n){    int i,j;    Student t;    for(i=0; i<n; i++)    {        for(j=0; j<n-i-1; j++)        {            if(s[j].grade<s[j+1].grade)            {                t=s[j];                s[j]=s[j+1];//张玉老师指点,这里不用交换成绩                s[j+1]=t;            }        }    }    cout<<"学号  姓名 C++ 数学 英语 总分"<<endl;    for(int 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 sort2(Student s[],int n){    int i,j=0;    cout<<"学号  姓名 C++ 数学 英语 总分"<<endl;    for(i=0; i<n; i++)    {        if(s[i].cpp>60&&s[i].math>60&&s[i].english>60&&j<30)        {            j++;            cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<endl;        }        if(j==30)            break;    }}


感悟 做了一个半小时才做好了 老是出现一些平常出现的错误 心太乱  静下心来 继续努力

0 0