ejercicio en c++

Goooau
09 de Mayo del 2008
¡Hola! Tengo que hacer un ejercicio que consiste en programar en c++ un programa que me pregunte qué cantidad tengo que pagar, que cantidad de dinero le doy, que cantidad de dinero me tiene que devolver y la cantidad mínima de monedas en que se me puede devolver el cambio.
No quiero que me hagan el ejercicio pero si que me lo encaminen mucho porque estoy muy perdido. A penas se programar...
Muchas gracias a los q m podais ayudar...

wiki
09 de Mayo del 2008
yo tengo dos ejercicios, una que te dice cuanto dinero pagas y cuanto cuesta el producto, entonces te dice cuanto es el cambio y con cuanta smonedas de diferentes tipos tienes que pagarlas , y el segundo que tu dices de cuantas monedas dispones y cuanto es el cambio y te dice si puedes o no dar el cambio y si puedes cuanto dar de cada moneda

1º/programa

#include <iostream>
#include <math.h>
using namespace std;
int main () {
//declaramos las variables:
double x,y,z,n2,n1,n05,n02,n01,n005,n002,n001;
//declaramos s un entero para poder hacer el resto mas adelante
int s;
cout <<" ¿Cuanto cuesta el producto?"<< endl;
cin >>x;
cout<<" ¿Cuanto dinero pagas?"<<endl;
cin>> y;
//si el importe es menor de lo que cuesta el producto no se puede hacer, por tanto:
if (x>y){
cout<<"El importe es incorrecto,debe meter una cantidad mayor";
//si el importe es correcto seguimos con el programa para calcular el cambio sin restricciones:
}else{
cout<<"Importe correcto ";
z=(y-x);
//para calcular el resto necesitamos que 's' sea un entero
s=z*100;
//ahora calculamos el cambio exacto , para cada moneda
if (z!=0){
n2=s/200;
s=s%200;
n1=s/100;
s=s%100;
n05=s/50;
s=s%50;
n02=s/20;
z=s%20;
n01=s/10;
s=s%10;
n005=s/5;
s=s%5;
n002=s/2;
s=s%2;
n001=s/1;
//una vez caculado sacamos el resultado
cout<<"su cambio exacto es:"<<endl;
cout<<n2<<"monedas de 2 euros"<<endl;
cout<<n1<<"monedas de 1 euro"<<endl;
cout<<n05<<"monedas de 50 centimos"<<endl;
cout<<n02<<"monedas de 20 centimos"<<endl;
cout<<n01<<"monedas de 10 centimos"<<endl;
cout<<n005<<"monedas de 5 centimos"<<endl;
cout<<n002<<"monedas de 2 centimos"<<endl;
cout<<n001<<"monedas de 1 centimo"<<endl;
}
}
//para que la pantalla no desaparezca al darnos el resultado(con el programa Dev-C++)
cin>>s;
}


2º/programa:

#include <iostream>
#include <math.h>
using namespace std;
int main () {
double z;
int a,b,c,d,e,f,x,s;
int aux;
cout<<"¿Cuantas monedas de 2 euros tienes?"<<endl;
cin>>a;
aux=a*100;

cout<<"¿Cuantas monedas de 1 euro tienes?"<<endl;
cin>>b;
aux=(b*100)+aux;

cout<<"¿Cuantas monedas de 50 centimos tienes?"<<endl;
cin>>c;
aux=(c*50)+aux ;

cout<<"¿Cuantas monedas de 20 centimos tienes?"<<endl;
cin>>d;
aux=(d*20)+aux;

cout<<"¿Cuantas monedas de 10 centimos tienes?"<<endl;
cin>>e;
aux=(e*10)+aux;

cout<<"¿Cuantas monedas de 5 centimos tienes?"<<endl;
cin>>f;
aux=(f*5)+aux;

cout<<"¿Cuanto es el cambio?"<<endl;
cin>>z;
x=z*100;

if (aux<x){
cout<<"No tiene monedas suficientes para dar el cambio";
}
else
{
cout<<"Su cambio es:"<<endl;


// ----------- MONEDA de 2 € -----------

if (a!=0) { // A es el numero de monedas de ese tipo
s = x/200; // S es el numero max de monedas a coger de ese tipo
if (s <= a) {
x = x -(s*200);
cout<<s<<" monedas de 2 euros"<<endl;
}
else
{
x= x- (a*200);
cout<<a<<" monedas de 2 euros"<<endl;
}
}
else
{
cout<<"0 monedas de 2 euros"<<endl;
}

// ----------- MONEDA de 1 € -----------

if (b!=0){
s = x/100;
if (s <= b) {
x = x -(s*100);
cout<<s<<" monedas de 1 euros"<<endl;
}
else
{
x= x- (b*100);
cout<<b<<" monedas de 1 euros"<<endl;
}
}
else
{
cout<<"0 monedas de 1 euros"<<endl;
}

// ----------- MONEDA de 50 cnt -----------

if (c!=0) {
s = x/50;
if (s <= c) {
x = x -(s*50);
cout<<s<<" monedas de 50 cnt "<<endl;
}
else
{
x= x- (c*50);
cout<<c<<" monedas de 50 cnt"<<endl;
}
}
else
{
cout<<"0 monedas de 50 centimos"<<endl;
}

// ----------- MONEDA de 20 cnt -----------

if (d!=0) {
s = x/20;
if (s <= d) {
x = x -(s*20);
cout<<s<<" monedas de 20 cnt "<<endl;
}
else
{
x= x- (d*20);
cout<<d<<" monedas de 20 cnt"<<endl;
}
}
else
{
cout<<"0 monedas de 20 centimos"<<endl;
}

// ----------- MONEDA de 10 cnt -----------

if (e!=0) {
s = x/10;
if (s <= e) {
x = x -(s*10);
cout<<s<<" monedas de 10 cnt "<<endl;
}
else
{
x= x- (e*10);
cout<<e<<" monedas de 10 cnt"<<endl;
}
}
else
{
cout<<"0 monedas de 10 centimos"<<endl;
}
// ----------- MONEDA de 5 cnt -----------

if (f!=0) {
s = x/5;
if (s <= f) {
x = x -(s*5);
cout<<s<<" monedas de 5 cnt "<<endl;
}
else
{
x= x- (f*5);
cout<<f<<" monedas de 5 cnt"<<endl;
}
}
else
{
cout<<"0 monedas de 5 centimos"<<endl;
}

}
cin>>s;
}