Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: spiderboot en 29 Enero 2014, 20:34 pm



Título: Ayuda no entiendo esta parte del codigo, soy principiante
Publicado por: spiderboot en 29 Enero 2014, 20:34 pm
Se requiere un programa que se encargue de la venta de boletos en un cine. El sistema debe calcular el monto que se debe pagar por una cantidad determinada de boletos tomando en cuenta que el costo de cada boleto es de 45 pesos. También se encargará de cobrar, es decir, dado el pago debe calcular el cambio indicando el tipo y número de billetes o monedas que devolverá de cada denominación. Para evitarse problemas de cambio, los ejecutivos de CineESAD han decidido no aceptar monedas de denominación menor a 1 peso y tampoco billetes de denominación mayor a 500 pesos. También se debe suponer que siempre hay suficientes billetes y monedas de cualquier denominación para devolver el cambio.

#include<stdio.h>/* Funciones de entrada y salida */
#include<stdlib.h>/*

main( )

{
      /*declaracion de la constante precio=45*/
      constint precio=45
     
      /*Declaracion de variables enteros, int*/
      int nboletos;
      int total;
      int pago;
      int cambio;
     
      /* mensaje de bienvenida*/
      printf("Venta de Boletos cine ESAD\n");
     
      /*solicitamos los datos de entrada en este caso el numero de boletos*/
      /*\t significa tabulador, hara un espacio para escribir*/
      printf ("Proporcione el numero de boletos a comprar:\t");
      scanf ("%d, &nboletos"); /*lee la cantidad escrita arriba y la pone en la variable nbloteos*/
     
      total = nboletos*precio;   /*la variable total toma el valor de nboletos * la contante 45*/
      printf ("El total es de %d pesos\n\n", total); /*lee el resultado anterior y el valor lo agrega a total*/
     
      printf ("Indique el Monto de su Pago: "); /*solita el monto del pago*/
      scanf ("%d, &pago"); /*lee la cantidad introducida y la almacena en la variable pago*/
     
      cambio= pago-total; /*calcula el monto del cambio*/
      printf("El monto de su cambio es de %d\n", cambio) /*lee el monto del cambio y lo almacena en la variable cambio*/
     
      printf ("\n\t%d billetes de 200", cambio/200)
      cambio = cambio%200

printf ("\n\t%d billetes de 100", cambio/100)
      cambio = cambio%100
     
EL PROBLEMA

entiendo que  \n\t son salto de linea y tabulador
%d   ¿que es lo que hace? en scanf se supone que me lee el dato que esta justamente en la linea anterior, introducida por el teclado ¿esto es correcto?

la linea final cambio/200) ¿que hace? ¿porque despues se hace la operacion?
cambio = cambio%200

se supone que me debe dar el siguiente resultado
1 billete de 200

¿que parte del codigo le indica donde va a tomar ese valor de 1?
supongo que "cambio = cambio%200" da como resultado ese 1, pero ¿como se le indica al la linea de arriba que tome ese resultado de 1 y aparezca como parte de printf?


gracias amigos, espero me pueda ayudar, mil gracias






Título: Re: Ayuda no entiendo esta parte del codigo, soy principiante
Publicado por: spiderboot en 29 Enero 2014, 20:37 pm
ESTA PARTE ES LA QUE NO ENTIENDO

 printf ("\n\t%d billetes de 200", cambio/200)
      cambio = cambio%200


Título: Re: Ayuda no entiendo esta parte del codigo, soy principiante
Publicado por: vangodp en 29 Enero 2014, 21:17 pm
printf ("\n\t%d billetes de 200", cambio/200)
      cambio = cambio%200

\n = nueva linea
\t = tabulador(sirve para alinear columnas de texto)
%d muestra el valor de cambio/200(cambio dividido por 200)
%  <-Este operador se llama modulo, retorna lo que sobra de una división ejemplo:

si divido 7 manzanas por 2 sobra una ¿no?

7/2 = 3 manzanas a cada
7%2 = 1 retorna el resto no re resultado ;)





Título: Re: Ayuda no entiendo esta parte del codigo, soy principiante
Publicado por: spiderboot en 30 Enero 2014, 18:14 pm
gracias compa, me has ayudado mucho, saludos