MyException - 我的异常网
当前位置:我的异常网» C++ » 生手秀作业:C++ PRIMER中文第四版习题11.18

生手秀作业:C++ PRIMER中文第四版习题11.18

www.MyException.Cn  网友分享于:2013-01-12  浏览:0次
新手秀作业:C++ PRIMER中文第四版习题11.18
题目:编写程序使用istream_iterator对象从标准输入读入一系列整数。使用ostream_iterator对象将其中的奇数写到一个文件中,并在每个写入的值后面加一个空格。同样使用ostream_iterator对象将偶数写到第二个文件,每个写入的值都存放在单独的行中。


#include <iostream>
#include <string>
#include <iterator>
#include <fstream>
using namespace std;

int main()
{
ofstream WriteFile1, WriteFile2;
while (true)
{
cout << "Enter the file's name you want to write ji int:" << endl;
string OutFileName1, OutFileName2;
cin >> OutFileName1;
cout << "Enter the file's name you want to write ji int:" << endl;
cin >> OutFileName2;
WriteFile1.open(OutFileName1);
WriteFile2.open(OutFileName2);
if (!WriteFile1.fail() && !WriteFile2.fail())
{
cout << "Enter a array of int numbers:" << endl;
int val;
ostream_iterator<int> it_wf1(WriteFile1, " "),
it_wf2(WriteFile2, "\n");
istream_iterator<int> it_cin(cin), eof;
while (it_cin != eof)
{
if (*it_cin % 2 != 0){
*it_wf1 = *it_cin;
++it_wf1;
}
else {
*it_wf2 = *it_cin;
++it_wf2;
}
++it_cin;
}
WriteFile1.close();
WriteFile2.close();
break;
}
else
cout << "File can't be opened!" << endl;
}
return 0;
}

------解决方案--------------------
 恭喜LZ贺喜LZ。
------解决方案--------------------
恭喜
------解决方案--------------------
加油,年轻人
------解决方案--------------------
#include <vector>
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
using namespace std;
 
int main() {
vector<int> vec;
copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(vec));
ofstream ofile("file1.txt");
copy_if(vec.begin(),vec.end(),ostream_iterator<int>(ofile," "),[](int i){return i%2==1;});
ofile.close();
ofile.open("file2.txt");
copy_if(vec.begin(),vec.end(),ostream_iterator<int>(ofile,"\n"),[](int i){return i%2==0;});
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有