Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stack>
- #include <vector>
- using namespace std;
- struct Llibre{
- string nom;
- int categoria;
- };
- void treure_elements_pila(vector< stack<string> >& v, int nelem, int pila){
- for(int i = 0; i < nelem; ++i){
- v[pila-1].pop();
- }
- }
- void mostrar_pila(vector< stack<string> > v, int mostrar, int n){
- cout << "Pila de la categoria " << mostrar << endl;
- vector< stack<string> > aux(n);
- aux[mostrar-1] = v[mostrar-1];
- while(not aux[mostrar-1].empty()){
- cout << aux[mostrar-1].top() << endl;
- aux[mostrar-1].pop();
- }
- cout << endl;
- }
- int main(){
- int n; //categories, es a dir nombre de piles que hi hauran
- int opcions; //tareas a realizar
- cin >> n;
- vector< stack<string> > v(n); //creamos un vector de stacks(tantas pilas como nos dice n)
- while(cin >> opcions and opcions != -4){
- if(opcions == -1){
- Llibre ll;
- cin >> ll.nom >> ll.categoria;
- v[ll.categoria - 1].push(ll.nom);
- }
- else if(opcions == -3){
- int mostrar;
- cin >> mostrar; //pila a mostrar
- mostrar_pila(v, mostrar, n);
- }
- else if(opcions == -2){
- int treu_llibres, pila_treu; //pila on esta el llibre a retirar
- cin >> treu_llibres >> pila_treu;
- treure_elements_pila(v, treu_llibres, pila_treu);
- }
- }
- }
- /*
- (Opció -1) Un usuari retorna un llibre i ho posa en la pila de devolucions corresponent a la seva categoria
- (Opció -2) El personal de la biblioteca retira un cert nombre de llibres correlativament a partir de la cima d’una de las pilas del mostrador; tal nombre no pot ser major que la alçada de la pila
- (Opció -3) consistent en escriure el contengut d’una de las piles del mostrador
- (Opció -4) serà la de terminar el programa
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement