Domingo 15 de Diciembre de 2024, 02:56
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
problema con codigo C++
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: problema con codigo C++ (Leído 2427 veces)
aneroeancoh
Nuevo Miembro
Mensajes: 12
problema con codigo C++
«
en:
Lunes 2 de Mayo de 2011, 19:04 »
0
Hola amigos, tengo que hacer un codigo que dado el valor de un producto, calcule el cambio (devuelto) dependiendo el billete o moneda que entregue.
tengo este codigo, pero no se si sea cuestion de librerias o de algun error en los array ya que no compila o se queda mostrando un valor basura sin fin.
lo traduci yo personalmente desde c#, pero evidentemente hay un error que no me permite que el programa se ejecute bien.
Código: C++
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using
namespace
std
;
int
main
(
string
[
]
)
{
int
bri
;
bri
[
15
]
=
{
50000
,
20000
,
10000
,
5000
,
2000
,
1000
,
500
,
200
,
100
,
50
,
20
,
10
}
;
// Identificando el arreglo
int
guardar
;
guardar
[
10
]
;
// Estbleciendo el limite del nuevo arreglo
double
total, pago, devuelta
;
//Declarandolas como reales porque puede tolerar valores decimales
int
r
;
cout
<<
"n Programa para calcular la devuelta ideal de una compra:"
;
cout
<<
"nIntroduzca el Total de su compra: $ "
;
cin
>>
total
;
cout
<<
" nMe Pagara con un billete de :$"
;
cin
>>
pago
;
devuelta
=
pago
-
total
;
//Operacion
r
=
0
;
while
(
devuelta
!
=
0
&&
r
!
=
10
)
// Ahora el bucle de la devuelta (Como fue expuesto en clase)
{
while
(
devuelta
>=
bri
)
{
guardar
[
r
]
++
;
// El contador de la cantidad de billetes
devuelta
-
=
bri
;
}
r
++
;
}
for
(
r
=
0
;
r
<
bri
;
r
++
)
// El contador de los tipos de billetes
{
if
(
guardar
[
r
]
!
=
0
)
//Condicionante para saber que no se quedara debiendo!!
cout
<<
guardar
<<
" billetes de "
<<
" "
<<
bri
;
}
}
muchas gracias
Tweet
ssaammuu
Miembro activo
Mensajes: 41
Nacionalidad:
Re: problema con codigo C++
«
Respuesta #1 en:
Lunes 2 de Mayo de 2011, 19:19 »
0
Código: C++
int
bri
;
bri
[
15
]
=
{
50000
,
20000
,
10000
,
5000
,
2000
,
1000
,
500
,
200
,
100
,
50
,
20
,
10
}
;
// Identificando el arreglo
int
guardar
;
guardar
[
10
]
;
// Estbleciendo el limite del nuevo arreglo
No se puede declarar una variable y despues convertirla en un array
Código: C++
while
(
devuelta
>=
bri
)
devuelta
-
=
bri
;
for
(
r
=
0
;
r
<
bri
;
r
++
)
cout
<<
guardar
<<
" billetes de "
<<
" "
<<
bri
;
En estas líneas, estás usando arrays como si de variables individuales se trataran, entonces, en lugar de estar usando el contenido de las variables, estás usando la dirección en memoria de el primer elemento del array.
Desarrollo de Juegos
ssaammuu
Miembro activo
Mensajes: 41
Nacionalidad:
Re: problema con codigo C++
«
Respuesta #2 en:
Lunes 2 de Mayo de 2011, 19:39 »
0
Si no consigues hacer que funcione, intenta este código.
Código: C++
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using
namespace
std
;
int
main
(
string
[
]
)
{
int
bri
[
]
=
{
50000
,
20000
,
10000
,
5000
,
2000
,
1000
,
500
,
200
,
100
,
50
,
20
,
10
}
;
// Identificando el arreglo
const
int
numDeBilletes
=
sizeof
(
bri
)
/
sizeof
(
bri
[
0
]
)
;
//tamaño de pila
int
guardar
[
numDeBilletes
]
;
// Estbleciendo el limite del nuevo arreglo
for
(
int
i
=
0
;
i
<
numDeBilletes
;
i
++
)
guardar
[
i
]
=
0
;
//reiniciar a 0
double
total, pago, devuelta
;
//Declarandolas como reales porque puede tolerar valores decimales
cout
<<
"n Programa para calcular la devuelta ideal de una compra:"
;
cout
<<
"nIntroduzca el Total de su compra: $ "
;
cin
>>
total
;
cout
<<
" nMe Pagara con un billete de :$"
;
cin
>>
pago
;
devuelta
=
pago
-
total
;
//Operacion
int
r
=
0
;
while
(
devuelta
>
10
)
// 10 porque es el billete más pequeño
{
while
(
devuelta
>=
bri
[
r
]
)
{
guardar
[
r
]
++
;
// El contador de la cantidad de billetes
devuelta
-
=
bri
[
r
]
;
}
r
++
;
}
for
(
r
=
0
;
r
<
numDeBilletes
;
r
++
)
// El contador de los tipos de billetes
{
if
(
guardar
[
r
]
!
=
0
)
//Condicionante para saber que no se quedara debiendo!!
cout
<<
guardar
[
r
]
<<
" billetes de "
<<
" "
<<
bri
[
r
]
<<
endl
;
}
}
Estaría bien que hacieras algunos chequeos, como mínimo para que el pago sea mayor que la compra...
Desarrollo de Juegos
aneroeancoh
Nuevo Miembro
Mensajes: 12
Re: problema con codigo C++
«
Respuesta #3 en:
Lunes 2 de Mayo de 2011, 21:05 »
0
Muchisimas gracias, en efecto los errores se producen es porque trancribi ese codigo desde C# manualmente, y pues desconozco ese lenguaje, seguire intentando mas problemas asi para agarrar destreza.
aneroeancoh
Nuevo Miembro
Mensajes: 12
Re: problema con codigo C++
«
Respuesta #4 en:
Martes 3 de Mayo de 2011, 02:07 »
0
Código: C++
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using
namespace
std
;
int
fuc
(
string
[
]
)
{
int
bri
[
]
=
{
50000
,
20000
,
10000
,
5000
,
2000
,
1000
,
500
,
200
,
100
,
50
,
20
,
10
}
;
// Identificando el arreglo
const
int
numDeBilletes
=
sizeof
(
bri
)
/
sizeof
(
bri
[
0
]
)
;
//tamaño de pila
int
guardar
[
numDeBilletes
]
;
// Estbleciendo el limite del nuevo arreglo
for
(
int
i
=
0
;
i
<
numDeBilletes
;
i
++
)
guardar
[
i
]
=
0
;
//reiniciar a 0
double
total, pago, devuelta
;
//Declarandolas como reales porque puede tolerar valores decimales
cout
<<
"nPrograma para calcular la vueltas de una compra: "
;
cout
<<
"nIntroduzca el Total de su compra: $"
;
cin
>>
total
;
cout
<<
"nMe Pagara con un billete de: $"
;
cin
>>
pago
;
devuelta
=
pago
-
total
;
//Operacion
int
r
=
0
;
while
(
devuelta
>
10
)
// 10 porque es el billete más pequeño
{
while
(
devuelta
>=
bri
[
r
]
)
{
guardar
[
r
]
++
;
// El contador de la cantidad de billetes
devuelta
-
=
bri
[
r
]
;
}
r
++
;
}
for
(
r
=
0
;
r
<
numDeBilletes
;
r
++
)
// El contador de los tipos de billetes
{
if
(
guardar
[
r
]
!
=
0
)
//Condicionante para saber que no se quedara debiendo!!
cout
<<
guardar
[
r
]
<<
" billetes de "
<<
bri
[
r
]
<<
endl
;
}
system
(
"pause"
)
;
}
int
main
(
)
{
int
total, pago, guardar, bri
;
system
(
"color 0A"
)
;
//asdasdasd zZZz matrix effect
cout
<<
"nPrograma para calcular la vueltas de una compra: "
;
cout
<<
"nIntroduzca el Total de su compra: $"
;
cin
>>
total
;
cout
<<
"nMe Pagara con un billete de: $"
;
cin
>>
pago
;
cout
<<
guardar
[
r
]
<<
" billetes de "
<<
bri
[
r
]
<<
endl
;
system
(
"pause"
)
;
return
(
0
)
;
}
si le quiero poner recursividad, que me haria falta para que se ejecute debidamente?
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
problema con codigo C++