C++中 文件输入输出流 如何对数据进行排序和整行移动?
比如说我有三组数据姓名学号物理化学henty1233219599henry4566549898Henty1236549779这些数据是存在f1.txt文件里的我现在需要做...
比如说 我有三组数据
姓名 学号 物理 化学
henty 123321 95 99
henry 456654 98 98
Henty 123654 97 79
这些数据是存在f1.txt文件里的
我现在需要做的就是分别按照 学号 物理 化学 给这三组数据排序
(学号的排序方式又有不同 前三个数是班级 后三个数是位置。先按班级排 后按位置排)
并将排序的结果存入f2.txt文件里面
我应该如何实现呢?
我的问题主要集中在
1、如何分别将一行中的数据分别存入不同的数组 如int i【】 string
2、如果排序的结果出来了 我怎么整行移动它们 存入 f2.txt 呢? 展开
姓名 学号 物理 化学
henty 123321 95 99
henry 456654 98 98
Henty 123654 97 79
这些数据是存在f1.txt文件里的
我现在需要做的就是分别按照 学号 物理 化学 给这三组数据排序
(学号的排序方式又有不同 前三个数是班级 后三个数是位置。先按班级排 后按位置排)
并将排序的结果存入f2.txt文件里面
我应该如何实现呢?
我的问题主要集中在
1、如何分别将一行中的数据分别存入不同的数组 如int i【】 string
2、如果排序的结果出来了 我怎么整行移动它们 存入 f2.txt 呢? 展开
2个回答
展开全部
数据存入结构体数组中,然后分别按学号、物理、化学直接按顺序排出来。学号不用考虑什么前三个后三个的,你自己举上几个例子就看出来了。整行移动是啥意思??一行一行输出吗?用“\n”啊。
追问
就是比如按照物理排序是231的顺序
我需要把原来的1、2、3行 以2、3、1的顺序在f2.txt里排列。
学号是题目希望我实现这样的功能的,所以我才会想要用数组存放学号
请问这样应该怎么办呢?
追答
按学号大小排序就可以实现啊,你是刚开始学C吧!
道理和数组排序一样,一个数组排序完后数据顺序就变了啊,你把结构体数组就看成数组就懂了
2015-01-23
展开全部
struct stu{
string name;
long id;
float fh;
float ex;
}
vecotr<stu> data;
stu temp;
ifstream in("f1.txt");
while(in.feof()){
in>>temp.name>>temp.name>>..
data.push();
}...
string name;
long id;
float fh;
float ex;
}
vecotr<stu> data;
stu temp;
ifstream in("f1.txt");
while(in.feof()){
in>>temp.name>>temp.name>>..
data.push();
}...
追问
请问data.push();和vecotr data;是啥作用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询