C++ 在嵌套类对象数组中搜索?

C++ 在嵌套类对象数组中搜索?,c++,class,nested,C++,Class,Nested,我有一门餐具室的课。Pantry有一个shelf子类/嵌套在Pantry内。我有一个架子对象数组。shelf类有一个cookie Num和juice Num变量 我从一个文件填充shelf类对象的数组。到目前为止,我的文件读取工作正常。我做了一个for循环,看看数组是否正确填充,是否正确。我看不出所有的价值观。但是现在我想做一个搜索功能,这样我就可以找到饼干和果汁的库存量 例如,“输入cookie金额”用户输入5。程序返回任何正好包含5个cookie的工具架的信息 我的问题是,当我尝试使用sea

我有一门餐具室的课。Pantry有一个shelf子类/嵌套在Pantry内。我有一个架子对象数组。shelf类有一个cookie Num和juice Num变量

我从一个文件填充shelf类对象的数组。到目前为止,我的文件读取工作正常。我做了一个for循环,看看数组是否正确填充,是否正确。我看不出所有的价值观。但是现在我想做一个搜索功能,这样我就可以找到饼干和果汁的库存量

例如,“输入cookie金额”用户输入5。程序返回任何正好包含5个cookie的工具架的信息

我的问题是,当我尝试使用search函数时,会从数组返回垃圾值

class PantryClass
{
double nums1,nums2,nums3;

public:
    class ShelfClass
    {
        public:
        double CookieNum;
        double JuiceNum;

    };

    void otherFunction2(double, double, int);
    void otherFucntion3(double, double, int, double);
};
填充数组

int main()
{
PantryClass test;
PantryClass::ShelfClass inventory[50];

ifstream inputs(input file name here (this works fine));
ifstream inputs2(input file name here (this works fine));

for(int i = 0; i < 50; i++)
{
    inputs>> inventory[i].CookieNum;
    inputs2>> inventory[i].JuiceNum;
}

int choice;
cout << "Enter choice" << endl;
cin >> choice;

if (choice == 1)
{
    snackSearch(inventory);
}
intmain()
{
食品储藏室等级试验;
PantryClass::ShelfClass库存[50];
ifstream输入(在这里输入文件名(这很好));
ifstream inputs2(在这里输入文件名(这很好));
对于(int i=0;i<50;i++)
{
输入>>库存[i].CookieNum;
inputs2>>库存[i].JuiceNum;
}
智力选择;
不能选择;
如果(选项==1)
{
snackSearch(库存);
}
}

查找函数

    void snackSearch(PantryClass::ShelfClass inventory[])
{
    cout << "Please enter the cookie amount you'd like to find: " << endl;
            int num1;
            cin >> num1;

        for(int i=0; i < 50; i++)
        {
            if (inventory[i].CookieNum == num1)
            {
                cout << " Cookie num is " << cout <<inventory[i].CookieNum << endl;
                cout << "Juice num is  " << cout <<inventory[i].JuiceNum << endl;

            }
        }
}
void snackSearch(PantryClass::ShelfClass库存[])
{
coutnum1;
对于(int i=0;i<50;i++)
{
if(库存[i].CookieNum==num1)
{
cout问题在于:

cout << " Cookie num is " **<< cout** << inventory[i].CookieNum << endl;
cout << "Juice num is  " **<< cout** <<inventory[i].JuiceNum << endl;

cout您如何调用
snackSearch
函数?您能创建一个函数并演示给我们看吗?当然,请稍等。我在“填充数组”下添加了我的main基本外观第二节还有两件事,首先,声明的
SnackNum
成员在哪里?第二,你能不能也给我们一些输入文件的例子,以及一些特定的输入也给我们显示预期的和实际的输出?对不起,忘了删除snack num。我会在输入示例中编辑到post中,我想可能是输出了内存的位置和值?谢谢你帮我弄清楚。