我必须在女童军饼干上做一个程序,输入一个.txt文件,该文件有客户名,购买的盒子数和cookie的名称。盒子价格是3.50美元。在程序中,我必须显示客户名称,销售的盒子,cookie的名称和到期金额。最后,显示客户数量,销售总箱数和应付总金额。这是我到目前为止,我不知道它为什么不运行,或至少说文件没有找到,我已经在我的项目文件夹中创建了.txt文件,任何帮助表示赞赏谢谢! 我得到的错误是“无法启动程序...系统无法找到指定的文件”。我很确定我的文件在正确的位置
#include <iomanip>
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream inFile;
//Declare Variables
string firstName;
string cookieName;
int boxesSold;
int numCustomers;
double amountDue;
int totalCustomers;
int totalBoxesSold = 0;
double totalAmount = 0;
inFile.open("girlscout.txt");
if (inFile)
{
cout << "Customer Boxes Cookie Name" << endl;
cout << "Name " << endl;
while(!inFile.eof())//Not end of file
{
inFile >> firstName;
inFile >> boxesSold;
inFile >> cookieName;
totalBoxesSold += boxesSold;
totalAmount = boxesSold * 3.50;
cout << setprecision(2) << fixed << showpoint;
cout << setw(2) << firstName
<< right << setw(7) << boxesSold
<< cookieName << endl;
}
cout << "Total Boxes Sold: " << totalBoxesSold;
cout << "Total Amount: " << totalAmount;
inFile.close();
}
else
{
cout << "Could not open file " << endl;
}
system("pause");
return 0;
}
答案 0 :(得分:1)
我认为您的问题是文件girlscout.txt不在您需要的目录中供您的程序找到它。你可以通过在inFile.open调用中放入完整路径,或者在同一目录中编译和运行带有girlscout.txt文件的可执行文件来解决这个问题
答案 1 :(得分:0)
您的代码看起来正确(尽管它缺少所有错误处理)。运行应用程序时,请检查您的文件是否在工作目录中。要查看查找文件是否只是一个问题,请尝试将完整路径放到文件中,看看它是否发生了任何变化。
否则,请检查您是否拥有对文件的阅读权限。如果它仍然不起作用,您将必须检查in
状态并查看其失败的原因。根据您的操作系统,您可以使用特定于操作系统的功能调查情况(Windows上的ReadFile,当您尝试打开文件时查看错误代码)。当您找到根本原因并修复它时,您可以返回到ifstream代码。
我想你的意思是:
totalAmount += boxesSold * 3.50;
答案 2 :(得分:0)
您是否在Visual Studio上编译并运行?我认为你的错误只是意味着* .exe文件会自动移动到其他地方 - 当点击“Run”时它就找不到可执行文件。