I am trying to write a program in C++ which will read from a text file, and write to a text file. The read text file will have number of days (int) in the first line, followed by three sales persons first and last names on different lines. Then it will have enough lines of data (doubles) to provide daily sales for each sales person for the given numbers of week: The sample text file is given below:
2 // number of days, could change
sales person1 //first sales person's first and last name
sales person2
sales person3
11.45 30.23 34.56 37.84 45.96 //first day of sales for sales person1
20.45 33.0 22 11 26.87 90 //first day of sales for sales person2
33.57 40 20.87 23.9 45.8 //first day of sales for sales person3
56.6 75.8 39.0 23.3 10 //second day of sales for sales person1
40.34 54.2 12.4 43.5 23
23 45.6 75.34 27.45
I have got to the part to read three sales person's names. But i don't know how to read the doubles in each lines since they correspond to different sales person in each line. I only need total for each lines though. How should i proceed with this? Following code is what i have so far. Somebody help please!
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string>
#include<cctype>
using namespace std;
void get_input(char input_file[]);
void get_output(char output_file[]);
void readFile(char name[]);
string getName(ifstream &in);
void writeFile(char output[]);
int main()
{
ifstream in;
char input_file[30];
char output_file[30];
get_input(input_file);
get_output(output_file);
//int total = readFile(input_file);
writeFile(output_file);
}
void get_input(char input_file[])
{
cout << "Enter name of the input file: ";
cin >> input_file;
}
void get_output(char output_file[])
{
cout << "Enter name of the output file: ";
cin >> output_file;
}
void readFile(char fileName[])
{
int weeks;
double total1 =0, sales1, total2 = 0, sales2, total3 = 0, sales3;
ifstream in;
in.open(fileName);
if(in.fail())
{
cout << " failed to open the input file" << endl;
exit(-1);
}
in >> weeks;
cout << "Total weeks processed: " << weeks << endl;
string name1 = getName(in);
cout << name1 << endl;
string name2 = getName(in);
cout << name2 << endl;
string name3 = getName(in);
cout << name3 << endl;
int i = 1;
/*do // this is where i want to process the sales and get the total
{
in >> sales1;
total1 = total1 + sales1;
in >> sales2;
total2 = total2 + sales2;
in >> sales3;
total3 = total3 +sales3;
} while(i <= 3);*/
in.close();
}
string getName(ifstream &in)
{
string first, last;
in >> first >> last;
return first + " " + last;
}
void writeFile(char output[])
{
ofstream out;
out.open(output);
out.close();
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…