кто разбирается в очередях????
мне нужно организовать программу магазин и что бы 3 кассы были.. Покупатель, когда выбирает в очередь к какой кассе стать, он выбирает кассу, в которой стоит меньше людей.
я начала писать, пока создала лишь очередь продуктов...получается из многих очередей продуктов нужно очереди покупателей составить.
вот что я набросала
Код:
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <string>
#include <queue>
using namespace std;
int menu_select(void);
void Tovari(void);
int _tmain()
{
char choise;
queue<int> myqueue2;
cout<<"Dobro pojalovat' v nash magazin\n\nViberite deistvie: ";
for(;;)
{
choise=menu_select();
switch(choise)
{
case 1:
{class Tovar
{
public:
char moloko[10];
int mol;
char hleb[10];
int hl;
char kartofel[10];
int kar;
char ris[10];
int ri;
char kolbasa[10];
int kol;
char chai[10];
int cha;
char tvorog[10];
int tvo;
char vino[10];
int vi;
char kofe[10];
int ko;
char soli[10];
int sol;
void get(void){
strcpy(moloko,"moloko");mol=12;
strcpy(hleb,"hleb");hl=8;
strcpy(kartofel,"kartofel");kar=35;
strcpy(ris,"ris");ri=47;
strcpy(kolbasa,"kolbasa");kol=119;
strcpy(chai,"chai");cha=74;
strcpy(tvorog,"tvorog");tvo=110;
strcpy(vino,"vino");vi=500;
strcpy(kofe,"kofe");ko=90;
strcpy(soli,"soli");sol=11;
}
void show(void){
cout<<"V magazine imeiytsia sledyishie prodykti:\n";
cout<<"\n"<<moloko<<": tsena - "<<mol<<" ryb";
cout<<"\n"<<hleb<<": tsena - "<<hl<<" ryb";
cout<<"\n"<<kartofel<<": tsena - "<<kar<<" ryb";
cout<<"\n"<<ris<<": tsena - "<<ri<<" ryb";
cout<<"\n"<<kolbasa<<": tsena - "<<kol<<" ryb";
cout<<"\n"<<chai<<": tsena - "<<cha<<" ryb";
cout<<"\n"<<tvorog<<": tsena - "<<tvo<<" ryb";
cout<<"\n"<<vino<<": tsena - "<<vi<<" ryb";
cout<<"\n"<<kofe<<": tsena - "<<ko<<" ryb";
cout<<"\n"<<soli<<": tsena - "<<sol<<" ryb";
}
int pok(void)
{
queue<string> myqueue;
int n, sum;
string st;
cout<<"\nSkol'ko tovarov vi bi hoteli priobresti?\n";
cin>>n;
sum=0;
for(int count=1, i=0;i<n;i++,count++)
{
cout<<count<<". ";
cin>>st;
if (st==moloko) sum=sum+mol;
if (st==hleb) sum=sum+hl;
if (st==kartofel) sum=sum+kar;
if (st==ris) sum=sum+ri;
if (st==kolbasa) sum=sum+kol;
if (st==chai) sum=sum+cha;
if (st==tvorog) sum=sum+tvo;
if (st==vino) sum=sum+vi;
if (st==kofe) sum=sum+ko;
if (st==soli) sum=sum+sol;
myqueue.push(st);
}
cout<<"\n Itog: "<<sum<<" ryb";
return sum;
}
};
Tovar i;
int k, n1;
queue<int> myqueue1;
i.get();
i.show();
k=i.pok();
cout<<"\n Kakyiy iz 3-h kass vi predpochitaete?" ;
cin>>n1;
if (n1==1) cout<<"\nvibrana 1-ia kassa";
if (n1==2) cout<<"\nvibrana 2-ia kassa";
if (n1==3) cout<<"\nvibrana 3-ia kassa";
myqueue1.push(k);
while(!myqueue1.empty()) // ну это цыкл чисто для себя...(чтобы проверить как работает прога)
{cout<<"!!!!!!!!!!!!!!";
cout<<myqueue1.front()<<endl;
myqueue1.pop();
}
}
//pokypatel();
// break;
case 2: //chek();
break;
case 3: //kassi();
break;
case 4: //nomerpok();
case 5: exit(0);
}
}
}
int menu_select(void)
{
char s[80];
int c;
printf("\n1. Novii pokypatel'\n");
printf("2. Pokypka po nomery tovarnogo cheka\n");
printf("3. Spisok prodannih tovarov v opredelennoi kasse\n");
printf("4. Spisok pokypok opredelennogo pokypatelia\n");
printf("5. Vihod\n");
do
{
printf("\nVvedite nomer nujnogo punkta ");
gets(s);
c=atoi(s);
} while (c<0||c>8);
return c;
}