Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Jose_00 en 8 Abril 2015, 00:56 am



Título: Corregir código de C++
Publicado por: Jose_00 en 8 Abril 2015, 00:56 am
hola soy nuevo en este foro díganme si me olvido de algo :).
Este es el código que hice en C++, consta en dar una cierta cantidad de dinero y después fraccionarla en diferentes tipos de monedas que son 20,10,5,1. Y si no se puede fraccionar  mas, que el resultado de 0.
ejemplo:
entrada
Cantidad de dinero a fraccionar: 59
salida
Monedas de 20: 2
Monedas de 10: 1
Monedas de 5: 1
Monedas de 1: 4
 
Bueno, hasta ahí todo bien pero a la hora de poner cualquier numero al azar empiezo a tener problemas en los resultados, como por ejemplo: me salen números negativos, no sale la cifra correcta etc.

Me gustaría que me ayudaran a corregirlo por favor ya que soy nuevo en esto.
aquí les dejo el código que yo hice:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.  
  6.   int diez,dinero, veinte,s1,s2,s3,cinco,uno;
  7.  
  8.   cout<<"cantidad de dinero a fraccionar: "<<endl;
  9.   cin>>dinero;
  10.  
  11.   veinte=dinero/20;
  12.   cout<<"monedas de 20: "<<veinte<<endl;
  13.   s1=dinero-(veinte*20);
  14.   diez=s1/10;
  15.  
  16.   cout<<"monedas de 10: "<<diez<<endl;
  17.   s2=s1-10;
  18.   cinco=s2/5;
  19.   cout<<"modedas de 5 : "<<cinco<<endl;
  20.   s3=s2-5;
  21.   uno=s3/1;
  22.  
  23.   cout<<"monedas de 1 : "<<uno<<endl;
  24.  
  25.        system("pause");
  26.        return 0;
  27.  
  28. }

Gracias :)


Título: Re: Corregir código de C++
Publicado por: tremolero en 8 Abril 2015, 03:17 am
Hola jose_00

Primero el codigo lo tienes que meter en las etiquetas code/geshi, es decir, dejas marcado GeSHi, pulsas el boton insertar codigo, y el cursor se va automaticamente dentro para que empieces a escribir todo el codigo.

Segundo, el codigo te va bien en ese caso, porque al hacer las resta de las monedas de 10 y 5, lo haces mal, indicando 1 sola vez, de esa manera todo ejemplo que introduzcas que solo necesite 1 moneda de 10 y una de 5, te ira perfecto pero en el resto te daran mal.

Fijate en la operacion que haces en s1 y veras que no es la misma que en s2 y s3, tienes que hacer en s2 y s3 lo mismo que haces en s1.

Una vez eso este arreglado, deberia irte bien con cualquier cantidad.

Un saludo.