c++ write neg and pos numbers to file
Dec 11, 2013 at 7:48am UTC
im supposed to create a program that reads in a list of integers from the terminal and writes the negative numbers to one file and the positive numbers to another file.
i got most of it doen but for some reason its not writting the negative numbers. any ideas on what im doing wrong?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int pos_num = 0;
int neg_num = 0;
int positive_numbers = pos_num % 5;
int negative_numbers = neg_num % 5;
int input_numbers;
string name1;
string name2;
ofstream fout1;
ofstream fout2;
cout << "Enter file name for positive integers: " ;
cin >> name1;
cout << "Enter file name for negative integers: " ;
cin >> name2;
fout1.open(name1.c_str(), ios::out);
if (!fout1.is_open())
{
cerr << "Unable to open file " << name1 << endl;
}
fout2.open(name2.c_str(), ios::out);
if (!fout2.is_open())
{
cerr << "Unable to open file " << name2 << endl;
}
cout << "Enter list of negative and positive integers (followed by 0): " << endl;
while ((cin >> input_numbers) && (input_numbers != 0))
{
if ((input_numbers > 0) && (positive_numbers !=0))
{
fout1 << input_numbers << " " ;
pos_num++;
}
else if ((input_numbers > 0) && (positive_numbers == 0))
{
fout1 << input_numbers << endl;
pos_num++;
}
else if ((input_numbers < 0) && (negative_numbers !=0))
{
fout2 << input_numbers << " " ;
neg_num++;
}
else if ((input_numbers < 0) && (negative_numbers == 0))
{
fout2 << input_numbers << endl;
neg_num++;
}
}
fout1 << endl;
fout2 << endl;
cout << name1 << " contains " << pos_num << " positive integers." << endl;
cout << name2 << " contains " << neg_num << " negative integers." << endl;
fout1.close();
fout2.close();
return 0;
}
Dec 11, 2013 at 11:09am UTC
it works for me.
Apart from that positive_numbers
/negative_numbers
don't have any effect. They're allways 0
Dec 11, 2013 at 12:36pm UTC
i have no any idea...
Topic archived. No new replies allowed.