Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. //4 ejercicios...
  2.  
  3. //Subcadena, muy sencillo, archivos con vectores, arrays, busqueda en archivo. Pilas y colas. El ultimo Punteros.
  4.  
  5. //Hacer un vector con estructuras.
  6.  
  7. #include <iostream>
  8. #include <stdio.h>
  9. #include <fstream>
  10. #include <stack>
  11. #include <queue>
  12.  
  13. //5- Realizar un programa que simule la cola a un recital. Fuera del recinto se encuentran 30 personas listas para entrar. USAR CLASES QUEUE Y STACK.
  14. //La gente comienza a entrar, pero las personas en las posiciones múltiplos de 6, casualmente no pasan la revisión, por tener objetos peligrosos, por lo tanto son eliminados de la cola y se les prohíbe el ingreso, aun teniendo la entrada.
  15. //A las personas en posiciones múltiplos de 10 se les hace reintegro instantáneo del 20% de la entrada, la cual vale $30. Siguiendo la lógica, las personas que primero entran, se encontrarán más cerca del escenario, por lo tanto serán las últimas en salir del recinto, y las personas más alejadas del, escenario, serán las primeras en salir del recinto.
  16. //Utilzar una pila y una cola. El programa deberá mostrar las personas a medida que van entrando (cola), en indicar si esa persona entró o no, de la siguiente forma:
  17.  
  18. //Nicolás – ingresó – Pagó X Pesos.
  19. //Mario – ingresó. – Pagó X Pesos
  20. //Ezequiel - no ingresó, objeto peligroso.
  21. //Julio – ingresó – Pagó X Pesos (por eintegro).
  22.  
  23. //Etc.
  24.  
  25. //Luego, mostrar las personas en el orden que van saliendo
  26.  
  27. //Calcular y mostrar el total recaudado. Escribir en un archivo lamado Prohibidos.txt, en la raíz de la carpeta del proyecto, con los nombres de las personas que no entraron al recinto por poser objetos peligrosos.
  28.  
  29.  
  30. using namespace std;
  31.  
  32. int main()
  33. {
  34. //For hasta 30
  35. //Cuando pasa por %6, sabemos que es la posicion tal, y hacemos POP
  36. //If...
  37.  
  38. //Primero, defino la cola y la pila.
  39. float totalentradas=0;
  40. string aux;
  41. float entrada=30;
  42. queue<string> cola;
  43. stack<string> pila;
  44. ofstream peligrosos;
  45. peligrosos.open("Peligrosos.txt",ios::app);
  46.  
  47. for(int i=1;i<=30;i++){
  48. cin>>aux;
  49. cola.push(aux);
  50. }
  51. for (int i=1;i<=30;i++){
  52. if(i%6==0){
  53. cout<<cola.front()<<" No ingresa por objeto peligroso"<<endl;
  54. peligrosos<<cola.front()<<endl;
  55. cola.pop();
  56.  
  57. }
  58. else{
  59. if(i%10==0){
  60. cout<<cola.front()<<" Pago "<<entrada*0.80<<" por descuento"<<endl;
  61. pila.push(cola.front()); //meto en mi pila la persona que esta al comienzo de la cola. El primero en la queue.
  62. cola.pop();
  63. totalentradas=totalentradas+entrada*0.80;
  64. }
  65. else{
  66. cout<<cola.front()<<" Pago "<<entrada<<endl;
  67. pila.push(cola.front());
  68. cola.pop();
  69. totalentradas=totalentradas+entrada;
  70. }
  71. }
  72. }
  73. cout<<"El total fue de "<<totalentradas<<" pesos."<<endl;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement