Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - phooeenix

#1
Resulta que estoy programando una maquina expendedora de golosinas y todo iba muy bien hasta que me vi en el problema de que no da cambio, les explico su funcionamiento:

Al ejecutar el programa te pide un deposito inicial, al ingresar tu deposito se despliegan las categorias de las golosinas almacenadas, al seleccionar la categoria se desprenden los productos los cuales puedes adquirir, hasta aqui no hay ningun porblema puesto que si el usuario hace un deposito mayor al precio le devuelve el cambio, lo que sucede es cuando el usuario al inicio no deposita el dinero suficiente, desde aqui el programa te empieza a pedir el dinero que falta y cuando detecta que has completado el precio deja caer el producto, el problema empieza cuando el usuario deposita mas dinero que el faltante, es ahi cuando mi programa no da cambio,

ejemplo:
al comprar unas papas fritas estas tienen un costo de $12, como usuario solo deposite $10 el programa me pide depositar lo faltante de lo contrario no me dara mi golosina, yo como usuario solo tengo monedas de $5 y cuando lo deposite la maquina me debe regresar $3, es ahi cuando empieza el problema puesto que el programa se cobra lo restante para completar el precio pero no devuelve lo que le sobro.

Me gustaria que me apoyen en cuanto a ese problema, en verdad se los agradeceria mucho

Les dejo un pequeño ejemplo de mi programa

Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>

using namespace std;

/* */

int main(int argc, char *argv[]) {

int deposito;
int precio;
int cambio;
int falto;
int dep2;
int mone;

cout<<"precio: ";
cin>>precio;

cout<<"deposito: ";
cin>>deposito;

if(deposito>precio){
cambio= deposito-precio;
cout<<"Tu cambio es: $"<<cambio<<endl;
}

if(deposito<precio){
falto=precio-deposito;
cout<<"Deposito insuficiente.."<<endl;

while(falto>0){
cout<<"Deposita $"<<falto;
cout<<"\n$";
cin>>dep2;
falto= falto-dep2;
}

if(falto==0){
cout<<"Gracias por su compra"<<endl;
}

}

if(deposito==precio){
cout<<"Gracias por su compra"<<endl;
}

system ("PAUSE");
return EXIT_SUCCESS;
}
#2
Programación C/C++ / Programando Arreglos
23 Abril 2016, 07:27 AM
Hola Buenas a todos, estoy intentando realizar un programa en c++ que me diga la cantidad de ceros que hay en un arreglo bidimensional, las dimensiones del arreglo son dadas por el usuairo las cuales no pueden exeder de 15, y al final debe mostrar

la cantidad de ceros que tiene el arreglo.
la cantidad de ceros que tiene cada renglón del arreglo.
la cantidad de ceros que tenga cada una de las columnas del arreglo.

Este es el avance que llevo hasta ahorita
Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>
#include <ctime>

using namespace std;

/* El progrma debera contar la cantidad de 0's en un arreglo bidimensional
* cuyas dimensiones son dadas por el usuario */

int main(int argc, char *argv[]) {

int y;
int x;
cout<<"Numero de filas: ";
cin>>x;
cout<<"Numero de columnas: ";
cin>>y;
srand(time(0));
int dimension [15][15];

cout<<"\nEl arreglo es: \n\n";

for(int i=0; i<x; i++){

for (int a=0; a<y; a++){

dimension[i][a]= rand() % 9;
cout<<dimension[i][a]<<" ";
}
cout<<endl;
}
cout<<"\n";

cout<<"\n";

system ("PAUSE");
return EXIT_SUCCESS;
}