Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: blazer19 en 27 Mayo 2014, 04:42 am



Título: Error en programa
Publicado por: blazer19 en 27 Mayo 2014, 04:42 am
Tengo dudas con la instrucción cout en este programa:
Un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de asistentes y la

cantidad de dinero que el teatro deja de percibir por cada una de las categorías que se indican

en la tabla inferior. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro

y que existe un precio único en los asientos. La cantidad de asistentes no se conoces por adelantado.

Pero, cuando se ingresa un valor 0 en la edad se termina el ingreso de edades de los asistentes.

Los descuentos se hacen tomando en cuenta el siguiente cuadro:



               Edad             Descuento

Categoría 1      5 - 14               35%

Categoría 2     15 - 19               25%

Categoría 3     20 - 45               10%

Categoría 4     46 - 65               25%

Categoría 5     66 en adelante      35%
#include <iostream>

using namespace std;

}

*/
int main() {
  int perd[5],contAsistentes = 0,precEntrada,edad;
 cout << "Cual es el precio de la entrada?: ";
cin >> precEntrada;
  memset(perd,0,sizeof(perd)); // Para inicializar todo en 0, también funcionaría: for(int i=0;i<5;i++) perd = 0;
  //Es importante recordar que el memset solamente funciona con los valores de 0 y -1, otros no!
  char resp;
  do {
    cout << "Ingrese la edad del siguiente asistente: ";
    cin >> edad;
     if(edad<=0) break; // break; se usa para salir del bucle, en este caso del do-while
    if(edad<5) cout << "El asistente no puede ingresar al cine!\n";
    else {
      if(edad>=5 and edad<=14) perd[0] += 35*precEntrada/100;
      if(edad>=15 and edad<=19) perd[1] += 25*precEntrada/100;
      if(edad>=20 and edad<=45) perd[2] += 15*precEntrada/100;
      if(edad>=46 and edad<=65) perd[3] += 25*precEntrada/100;
      if(edad>=66) perd[4] += 35*precEntrada/100;
    }
    cout << "Hay otro asistente? (s/n): ";
    cin >> resp;
    contAsistentes++;
  } while(resp!='n' and resp!='N');
  cout << "La cantidad total de asistentes fue " << contAsistentes << ".\n";
  cout << "La cantidad de dinero que se dejo de percibir fue la siguiente: \n";
  for(int i=0;i<5;i++) printf("Categoria %d: \t%d\n",i+1,perd);
  system("pause");
  return 0;
}



Título: Re: Error en programa
Publicado por: MeCraniDOS en 27 Mayo 2014, 15:42 pm
Utiliza etiquetas GeSHi

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. }
  6.  
  7. */
  8. int main() {
  9.  int perd[5],contAsistentes = 0,precEntrada,edad;
  10. cout << "Cual es el precio de la entrada?: ";
  11. cin >> precEntrada;
  12.  memset(perd,0,sizeof(perd)); // Para inicializar todo en 0, también funcionaría: for(int i=0;i<5;i++) perd = 0;
  13.  //Es importante recordar que el memset solamente funciona con los valores de 0 y -1, otros no!
  14.  char resp;
  15.  do {
  16.    cout << "Ingrese la edad del siguiente asistente: ";
  17.    cin >> edad;
  18.     if(edad<=0) break; // break; se usa para salir del bucle, en este caso del do-while
  19.    if(edad<5) cout << "El asistente no puede ingresar al cine!\n";
  20.    else {
  21.      if(edad>=5 and edad<=14) perd[0] += 35*precEntrada/100;
  22.      if(edad>=15 and edad<=19) perd[1] += 25*precEntrada/100;
  23.      if(edad>=20 and edad<=45) perd[2] += 15*precEntrada/100;
  24.      if(edad>=46 and edad<=65) perd[3] += 25*precEntrada/100;
  25.      if(edad>=66) perd[4] += 35*precEntrada/100;
  26.    }
  27.    cout << "Hay otro asistente? (s/n): ";
  28.    cin >> resp;
  29.    contAsistentes++;
  30.  } while(resp!='n' and resp!='N');
  31.  cout << "La cantidad total de asistentes fue " << contAsistentes << ".\n";
  32.  cout << "La cantidad de dinero que se dejo de percibir fue la siguiente: \n";
  33.  for(int i=0;i<5;i++) printf("Categoria %d: \t%d\n",i+1,perd);
  34.  system("pause");
  35.  return 0;
  36. }

cout lo único que hace es mostrar texto por pantalla, preguntando eso das a entender que el programa no lo has hecho tu, te recomiendo que lo hagas tu y así verías bien para que sirve.

Saludos


Título: Re: Error en programa
Publicado por: blazer19 en 4 Junio 2014, 02:49 am
Lo estamos haciendo en equipo, a un compañero le surgió ésta duda y con esto queda despejada, dalay hermano, es comunidad para compartir :)


Título: Re: Error en programa
Publicado por: Gh057 en 4 Junio 2014, 02:56 am
mmm... me parece... o con tu equipo se lo han tomado "prestado" a otro equipo? XD digo porque por ejemplo y tómalo como una ayudita... necesitarías de la biblioteca stdlib para hacer uso de system... saludos ;)


Título: Re: Error en programa
Publicado por: blazer19 en 4 Junio 2014, 03:13 am
Ya lo resolvimos amigo, gracias de todos modos por tus atenciones :)