实验5 C++练习题
- 格式:doc
- 大小:25.00 KB
- 文档页数:3
实验5 C++ I/O流
题目1:编一个程序用于复制文本文件
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
char ch;
ifstream file("C:/test.txt");//读取c盘的文本文件
ofstream file1("C:/test1.txt");//创建文本文件
while(file.get(ch))//读取文本中的内容
{
cout << ch;//输出文本内容到控制台
file1<<ch;//写入内容到文件
}
file.close(); //关闭文件流
file1.close();
cout<<endl;
}
题目2:编一个程序从一个文本文件source.txt中读入若干整数,用选择法将这些数据排成升序,将排序后的结果写入另一个文件文本文件target.txt中。
注意两个文件均在d盘的data 文件夹中。
在程序运行前,先准备好输入数据文件source.txt,放入d盘的data文件夹中,内容可以如下:
2 3 10 45
33 8 9 20
45 67 888 3
7 2 32 -2
0 -1
程序运行结束后,查看d盘的data文件夹中的结果文件target.txt内容是否正确。
1#include <iostream> #include <vector> #include <fstream> using namespace1#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("C:/source.txt"); //文件路径加文件名
ofstream fout("C:/source111.txt");//输文件路径加文件名
vector<int> num;
int i;
while(fin>>i)
num.push_back(i);
for(vector<int>::iterator index_one=num.begin();index_one!=num.end();++index_one)
for(vector<int>::iterator index_two=index_one+1;index_two!=num.end();++index_two)
if(*index_one<=*index_two){
int x=*index_one;
*index_one=*index_two;
*index_two=x;
}
for(vector<int>::iterator index=num.begin();index!=num.end();++index)
fout<<*index<<" ";
return 0;
} std; int main() {
ifstream fin("C:/source.txt"); //文件路径加文件名ofstream fout("C:/source111.txt");//输文件路径加文件名vector<int> num; int i; while(fin>>i)
num.push_back(i);
for(vector<int>::iterator index_one=num.begin();index_one!=num.end();++index_one) for(vector<int>::iterator index_two=index_one+1;index_two!=num.end();++index_two) if(*index_one<=*index_two){
int x=*index_one;
*index_one=*index_two;
*index_two=x;
}
for(vector<int>::iterator index=num.begin();index!=num.end();++index) fout<<*index<<" "; return 0; }。