Título: Programa de divisas Publicado por: M-Stewart612 en 8 Noviembre 2018, 06:56 am Sucede que estoy realizando un programa de Divisas, el cual recibe la información de la cantidad a convertir, de diferentes monedas. Después debe imprimir el reporte total que obtuvo por cada moneda; pero sucede que el reporte final no lo imprime, solo da el pantallaso y regresa a la primera parte
¿Qué debo hacer para qué se imprima la información? Código
Título: Re: Programa de divisas Publicado por: elgilun en 8 Noviembre 2018, 22:26 pm Puedo comentarte un par de cosas que veo.
1) Deberías poder usar un debugger, que es una herramienta (normalmente disponible desde el mismo editor de código o IDE). Usando un debugger podrás poner "puntos de parada", o como se llamen en tu pueblo, y seguir el flujo de ejecución del código, paso a paso, con lo que podrás ver claramente qué es lo que hace que el programa se comporte como se comporta. Debugger, todo el mundo los usa. No puedes llamarte programador si no los usas. No hay excusas. 2) Citar #include <iostream> O tu programa es C++ (<iostream>) o es C (<stdlib.h>); no puede ser las dos cosas. No puede, no, nunca. ¿Te han dicho que no sé qué sobre C/C++? Bueno, no, es mentira, o C o C++, decídete.#include<stdlib.h> 3) Citar /*USD= 7.72, EUR= 8.80, CAD= 5.89, GBP= 10.03, CHF= 7.71, AUD=5.58 , NZD= 5.13*/ Si tienes estas cosas ya definidas desde el principio, podrías declararlos como macros (lenguaje C) o como constantes (C++), pero recuerda decidirte primero si tu programa va a ser C o C++. 4) defines primero Citar double moneda[7] y luego usas mon[0], mon[1], ... ? (¿necesitas una secretaria para esas tareas menores?)5) if ... else if... else if... else... con pruebas de condición sobre enteros, debes usar switch / case. Creo que ya corrigiendo estas cositas ya quedará. Título: Re: Programa de divisas Publicado por: AlbertoBSD en 8 Noviembre 2018, 22:50 pm 5) if ... else if... else if... else... con pruebas de condición sobre enteros, debes usar switch / case. Estaba por comentarle cosas similares, pero me ganaste. respecto al codigo tiene fallas e ineficiencias por ejemplo el siguiente codigo hace varias comprofaciones inecesarias. Código: for(i=0;i<7;i++){ Siendo que todo eso esta dentro de un for realmente i solo puede tener un valor a la vez por lo cual podrias poner TODO FUERA DEL FOR y ahorrarte las evaluaciones de la siguiente manera. Código: cout<<"moneda "<<mon[0]<<endl; O dentro del FOR pero ahorrandote los IF de igualmanera Código Este ultimo es el mas eficiente a mi manera de ver las cosas, sobre el por que no los imprime seria cuestion de que me expliques como es que funciona esta parte del codigo. Yo se como funciona, pero si no entienda esa parte no sabras realmente que estas haciendo Código: if (reporte=="si"){ Título: Re: Programa de divisas Publicado por: M-Stewart612 en 9 Noviembre 2018, 01:27 am Muchísimas gracias a ambos, me sirvieron mucho sus observaciones para reparar los errores del programa ;D ;D ;D
|