【c++】2020大一下期中考前小练习3

  • 期中考前小练习3

按以下要求编写程序。

  1. 请各位考生从课程信息发布网站下载数据文件input.txt,然后将该数据文件手动保存在D盘根目录中。在该文件中以文本文件的方式存放了若干个用于表示工人信息的结构体类型数据,每个工人信息占一行,每个工人的各数据之间以空格来间隔。结构体类型的声明如下所示。
    typedef struct
    {
    int ID; //工号
    string Name; //姓名
    int WorkYears; //工龄
    float Salary; //工资
    }WORKER;
  2. 编写一个函数,将input.txt文件中的数据读出,并且构建1个工人向量A。要求使用C++中文件流的方法。
  3. 编写一个函数,将上述向量A针对姓名Name按照字典序进行增序排序。本函数的声明形式规定如下:
    void Sort(vector &Arr);
  4. 编写一个函数,将向量A中所有工人的信息显示在屏幕上,显示格式要求如下:
    《工号》
    10列,左对齐 《姓名》
    10列,右对齐 《工龄》
    5列,右对齐 《工资》
    保留1位小数,右对齐
    111 TOM 25 3091.0
    122 MIKE 3 2393.5
    ……
  5. 编写一个Fliter函数,将向量A中工龄大于等于X的工人数据输出到新的向量B中,并按照上述第4步中相同的要求显示向量B。如不输入工龄范围值X,X等于10。
  6. 编写一个与上面第5步中同名的Fliter函数,将向量A中工资大于等于Y的工人数据输出到新的向量C中,并按照上述第4步中相同的要求显示向量C。如不输入工资范围值Y,Y等于1500.0。
  7. 要求使用流的方法来完成程序流程中所有的数据输入和输出操作;要求使用向量来保存工人信息。
  • 代码:
#include<iostream>
#include<vector>
#include<string>
#include<fstream>
#include<sstream>
#include<algorithm>
#include<iomanip>
using namespace std;
typedef struct
{
   
	int ID;				//工号
	string Name;			//姓名
	int WorkYears;		//工龄
	float Salary;			//工资
}WORKER;

void read_data(vector<WORKER>& A) {
   
	A.clear();
	ifstream data(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值