Error en programa

Iniciado por blazer19, 27 Mayo 2014, 04:42 AM

0 Miembros y 1 Visitante están viendo este tema.

blazer19

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;
}


MeCraniDOS

Utiliza etiquetas GeSHi

Código (cpp) [Seleccionar]
#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;
}


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
"La física es el sistema operativo del Universo"
     -- Steven R Garman

blazer19

Lo estamos haciendo en equipo, a un compañero le surgió ésta duda y con esto queda despejada, dalay hermano, es comunidad para compartir :)

Gh057

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 ;)
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

blazer19

Ya lo resolvimos amigo, gracias de todos modos por tus atenciones :)