可能在从文本文件输入数据时遇到问题 我有一个C++类的作业,基本上我想使用Struts以及一个或两个数组来允许客户从早餐菜单中查看和选择项目。每当我去运行程序时,它只会说它退出时返回值为0。我试过抽查,但我不知道出了什么问题。我怀疑我可能没有正确地从文本文件加载数据,因此它不会导致任何结果,因为没有加载数据
这是我的密码:可能在从文本文件输入数据时遇到问题 我有一个C++类的作业,基本上我想使用Struts以及一个或两个数组来允许客户从早餐菜单中查看和选择项目。每当我去运行程序时,它只会说它退出时返回值为0。我试过抽查,但我不知道出了什么问题。我怀疑我可能没有正确地从文本文件加载数据,因此它不会导致任何结果,因为没有加载数据,c++,file,input,text-files,C++,File,Input,Text Files,这是我的密码: //Student Name: Jacob Gillespie //Date: 10/18/13 //Program: Breakfast Billing System //Summary: Program allows customer to select different items from a menu and sums up their total //Headers #include <iostream>
//Student Name: Jacob Gillespie
//Date: 10/18/13
//Program: Breakfast Billing System
//Summary: Program allows customer to select different items from a menu and sums up
their total
//Headers
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//Define structs
struct menuItemType
{
string menuItem;
double menuPrice;
};
//Declare variables and arrays
ifstream inData;
const double tax = 0.05;
int itemSelected[8];
menuItemType menuList[8];
//Provide function prototypes
void getData(ifstream& inFile);
void showMenu();
void printCheck();
void customerSelection();
//Main Program Execution
int main()
{
//Initialize itemSelected to 0
for (int counter = 0; counter < 8; counter++)
itemSelected[counter] = 0;
//Open input file
inData.open("menu.txt");
//Execute functions
void getData(ifstream& inData);
void showMenu();
void customerSelection();
void printCheck();
inData.close();
return 0;
}
//Function Definitions
//getData
void getData(ifstream& inFile)
{
for (int counter = 0; counter < 8; counter++)
{
inData >> menuList[counter].menuItem
>> menuList[counter].menuPrice;
}
}
//showMenu
void showMenu()
{
for (int counter = 0; counter < 8; counter++)
cout << menuList[counter].menuItem << " " << menuList[counter].menuPrice << endl;
}
//printCheck
void printCheck()
{
double total = 0;
double addedTax = 0;
for (int counter = 0; counter < 8; counter++)
if (itemSelected[counter] = 1)
{
cout << menuList[counter].menuItem << " " << menuList[counter].menuPrice << endl;
total = total + menuList[counter].menuPrice;
}
addedTax = total * tax;
cout << "Tax " << addedTax << endl;
cout << "Amount Due " << total << endl;
}
//customerSelection
void customerSelection()
{
string choice;
for (int counter = 0; counter < 8; counter++)
{
cout << "If you would like to order the item, " << menuList[counter].menuItem << ", please enter 'yes'. "
<< endl << "If not, please enter 'no'." << endl;
if (choice == "yes")
itemSelected[counter] = 1;
}
}
在main中所有函数调用之前的空白是不必要的
//执行功能切中要害。这些void-s导致所有这些函数都是声明而不是调用。作为声明,他们什么也不做。非常感谢你们!现在可以了!这本该是多么明显,这很愚蠢,但这表明,从外面看东西,你甚至可以发现一些小东西。