第十四周项目二(3)——带姓名的成绩单

来源:互联网 发布:js数组join方法 编辑:程序博客网 时间:2024/06/06 08:59
/* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2014年 12 月 01 日 * 版 本 号:v1.0 * * 问题描述: 无 * 输入描述: 输入一些整型数 * 程序输出: 输出成绩单 */#include <fstream>   //操作文件必写#include <cstdlib>   //调用exit(1)需要包含cstdlib#include <iostream>#include <string>using namespace std;const int N=100;int main(){    int i,j,t;    string name[N];    double score[N];    int num=0;    //实际的学生人数    string temp;    ifstream infile("score.txt",ios::in);    if(!infile)    {        cerr<<"open error"<<endl;        exit(1);    }    while(infile>>name[num]>>score[num])   //当到达文件尾,则循环处理结束    {        num++;    }    infile.close();    //(1)按成绩排序并输出结果    for(i=0; i<num-1; i++)        for(j=0; j<num-1-i; j++)        {            if(score[j]<score[j+1])            {                t=score[j];                score[j]=score[j+1];                score[j+1]=t;                temp=name[j];                name[j]=name[j+1];                name[j+1]=temp;            }        }    cout<<"按同学成绩排序后的结果是:"<<endl;    for(j=0; j<num; j++)        cout<<name[j]<<"\t"<<score[j]<<endl;    //(2)按姓名排序并输出结果    for(i=0; i<num-1; i++)        for(j=0; j<num-i-1; j++)        {            if(name[j]<name[j+1])            {                temp=name[j];                name[j]=name[j+1];                name[j+1]=temp;                t=score[j];                score[j]=score[j+1];                score[j+1]=t;            }        }    cout<<"按同学姓名排序后的结果是:"<<endl;    for(j=0; j<num; j++)        cout<<name[j]<<"\t"<<score[j]<<endl;    return 0;}

0 0
原创粉丝点击