Ayuda no entiendo esta parte del codigo, soy principiante

Iniciado por spiderboot, 29 Enero 2014, 20:34 PM

0 Miembros y 2 Visitantes están viendo este tema.

spiderboot

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





spiderboot

ESTA PARTE ES LA QUE NO ENTIENDO

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

vangodp

#2
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 ;)




spiderboot