我正在做一个关于C ++文件处理的项目。该项目希望用户创建顺序文件(输入数据),然后从顺序文件(输出数据)读取数据。我使用Visual Studio编写程序。但我想出了一些问题。
Visual Studio在一个项目中只有一个
int main()
。那我怎么写这个程序呢?我为Java做了同样的项目,它工作正常。- 醇>
我尝试创建分离项目。现在,我可以有两个
int main()
,但我无法读取第一个文件(输入)中的数据,因为它们是两个不同的项目。
我是C ++的新手,希望你们能帮助我。我不知道我是否可以在这里发帖提问。非常感谢你!
已更新
INPUT
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
ofstream outClientFile("payroll.txt", ios::out);
if (!outClientFile)
{
cerr << "File could not be opened" << endl;
exit(EXIT_FAILURE);
}
cout << "Enter employee ID, hours and payrate" << endl
<< "Enter end-of-file to end input.\n? ";
int id;
float hours;
float payrate;
while (cin >> id >> hours >> payrate)
{
outClientFile << id << ' ' << hours << ' ' << payrate << endl;
cout << "? ";
}
}
输出
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <cstdlib>
using namespace std;
void outputLine(int, float, float, float);
int main()
{
ifstream inClientFile("payroll.txt", ios::in);
if (!inClientFile)
{
cerr << "File could not be opened" << endl;
exit(EXIT_FAILURE);
}
int id;
float hours;
float payrate;
float grosspay = hours * payrate;
cout << left << setw(10) << "Employee ID" << setw(13) << "hours" << "payrate" << setw(10) << "grosspay" << endl << fixed << showpoint;
while (inClientFile >> id >> hours >> payrate >> grosspay)
outputLine(id, hours, payrate, grosspay);
}
void outputLine(int id, float hours, float payrate, float grosspay)
{
cout << left << setw(10) << id << setw(13) << hours << setw(7) << payrate << setw(7) << setprecision(2) << right << payrate << endl;
}
答案 0 :(得分:1)
您不需要拥有多个main
功能。
您只需制作part1
函数和part2
函数,然后从main
逐个调用它们。
void part1(){
//code for writing the file
}
void part2(){
//code for reading the file
}
int main(){
part1();
part2();
return 0;
}