Тема: помилка з функціонуванням і викликом функції Put()
функція Put () повинна виводити вибрані об'єкти у зворотному порядку, допоможіть виправити це в коді
// stek.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
const int size=50;
// Створення узагальненого класу queueClass.
template <class qType> class queueClass
{ qType array[size];
int sloc, rloc,response,i;
public:
queueClass() { sloc = rloc = 0;i=1; }
void Get(qType c);
void func(int response);
qType Put(); // Виведення з об'єкта значення
};
// Занесення об'єкта в чергу.
template <class qType> void queueClass<qType>::Get(qType c)
{ if(sloc>=size)
{ cout << "Стек заповнений" << endl; return; }
sloc++;
array[sloc] = c;
}
// Вилучення об'єкта з черги.
template <class qType> qType queueClass<qType>::Put()
{ if(rloc == i)
{ cout << "Стек порожній" << endl; return 0; }
rloc=i;
i--;
cout<<array[rloc];
return array[rloc];
}
template <class qType> void queueClass<qType>::func(int response)
{
//cout<<"ghfth"
//while(response<1||response>5);
switch(response)
{
case 1:
array[i]="Komp";
for (int k=1;k<=i;k++)
cout<<array[k]<<" , ";
//cin>>response;
//size++;
i++;
break;
case 2:
cout<<"Flesh"<<endl;
array[i]="Flesh";
i++;
break;
case 3:
cout<<"Nout"<<endl;
array[i]="Nout";
i++;
break;
case 4:
cout<<"Phone"<<endl;
array[i]="Phone";
i ++;
break;
case 5:
// return 0;
//exit (1);
cout<<Put();
break;
}
cout<<endl;
}
void main()
{
setlocale (LC_ALL,".1251");
int response;
int q=1;
queueClass<char*> ObjA; // Створюємо дві черги для int-значень.
cout<<"1.Komp"<<endl
<<"2.Flesh"<<endl
<<"3.Nout"<<endl
<<"4.Phone"<<endl
<<"5.korzuna"<<endl;
cout<<"Vvedin № tovaru: "<<endl;
cin>>response;
while(response!=5)
{ObjA.func(response); cin>>response;}
ObjA.Put();
system("pause");
}