C++ STL 第三次实验

来源:互联网 发布:vmware11 mac os补丁 编辑:程序博客网 时间:2024/06/02 02:26

作业习题:
根据现有的student.txt文件如下
1 Jone 1 90 80
2 Rose 0 100 75
3 Li 1 85 80
4 Tom 1 70 85
5 Anna 0 100 95
6 Smith 1 70 75
要求输出:
Jone 170
Rose 175
Li 165

看完这个题,看下面的代码,一行一行的解释,肯定有涉及文件打开和关闭的操作,那就少不了<fstream>头文件,也涉及输入字符串流的操作,加入头文件<sstream>,同时为了输出流,加入头文件<iostream>,再写上using namespace std;

#include <fstream>#include <sstream>#include <iostream>using namespace std;int main(){    //通过构造函数创建文件读入流,这个流的名字是in    ifstream in("student.txt");    //如果文件不存在,返回    if(!in) return 0;    //定义一个字符数组(字符串)    char output[100];    //定义下面的各种数据,用来存放对应的数据    int xuhao;    string name;    int xingbie;    int wenxue;    int shuxue;    //从流in中一行一行的读取内容,放到刚刚定义的output中    while(in.getline(output,100)){        //定义一个字符串输入流(这个流的名字是data),用来解析output        istringstream data(output);        //将data流中的数据依次赋值给xuhao name xingbie wenxue shuxue         data >> xuhao;        data >> name;        data >> xingbie;        data >> wenxue;        data >> shuxue;        //按要求的格式输出        cout << name << '\t';        cout << wenxue+shuxue << endl;    }    //关闭文件    in.close();    return 0;}

这里写图片描述

运行结果:
这里写图片描述

原创粉丝点击