Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Thorx Show! en 5 Junio 2019, 02:49 am



Título: Problema de Funciones con capital
Publicado por: Thorx Show! en 5 Junio 2019, 02:49 am
He estado trabajando en una tarea para desarollar el siguiente programa en Lenguaje C

Citar
Leer tres valores representando lo siguiente:

 

El capital
Una tasa de interés en por ciento
Un número de años
 Calcular los valores de la suma del capital y el interés compuesto para un período dado de años. Para cada año el interés es calculado como capital por la tasa de interés.  Y el capital se acumula para cada año.

Imprimir los valores de moneda con una precisión de dos decimales. Imprimir los valores del interés compuesto para cada año al final del período. La salida puede ser como la siguiente:

 

Ejemplo:

Capital inicial 35000.00 con tasa del 12.50 en 10 años

Por lo que he ido desarollando esto pero me he quedado totalmente perdido ademas de que el programa se puso en un bucle infinito y pues a ver que me sugieren

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void interes_capital (float);
  5. void capital_acumulado (float);
  6.  
  7. int main()
  8. {
  9.    float capital,porc,num,total,interes;
  10.    total=0;
  11.    printf("Digite su capital inicial: ");
  12.    scanf("%f",&capital);
  13.  
  14.    printf("Digite su tasa de interes en por ciento: ");
  15.    scanf("%f",&porc);
  16.  
  17.    printf("Digite el numero de años: ");
  18.    scanf("%f",&num);
  19.  
  20.    total = capital + porc * num;
  21.  
  22.   interes = total * porc;
  23.  
  24.   while (interes >= 0)
  25.  
  26.   {
  27.       printf("En el primer año el interes es de: %f",interes);
  28.       printf("En el segundo año el interes es de: %f",interes);
  29.       printf("En el tercer año el interes es de: %f",interes);
  30.       printf("En el cuarto año el interes es de: %f",interes)
  31.       printf("En el quinto año el interes es de: %f",interes);
  32.       printf("En el sexto año el interes es de: %f",interes);
  33.       printf("En el septimo año el interes es de: %f",interes);
  34.       printf("En el octavo año el interes es de: %f",interes);
  35.       printf("En el noveno año el interes es de: %f",interes);
  36.   }
  37.  
  38.    return 0;
  39. }
  40.  
  41.    int interes_capital(float total)
  42.    {
  43.  
  44.    int
  45.  
  46. }
  47.  


Título: Re: Problema de Funciones con capital
Publicado por: CalgaryCorpus en 5 Junio 2019, 04:46 am
No voy a resolver tu problema.
Recomendaciones para que puedas resolverlo tu, o avances en resolverlo y aprendas mientras lo haces.

- Elimina todos los print del while, excepto 1 de ellos.
- Cambia el mensaje para que diga: "El interes es: %f\n", interes
- Cuando tienes dinero, y el banco te da interes, al final del periodo, tu tienes mas dinero, tanto como tenias antes mas el interes que ganaste. Pon este nuevo valor total al interior del ciclo while, despues de haber impreso el interes.
- Ahora calcula el interes para el siguiente an~o, dado que ya tienes un nuevo total.\
- Fin del ciclo. Nada mas por hacer.

Tu ciclo se va a seguir ejecutando infinitamente, porque la condicion sigue siendo incorrecta.

Si logras hacer esto y muestras el programa modificado aqui, con las sugerencias indicadas antes, vas a estar en mejor forma para pedir ayuda nuevamente.


Título: Re: Problema de Funciones con capital
Publicado por: Thorx Show! en 5 Junio 2019, 17:13 pm
Eso es lo que me decías?, Y si veo que la condicional está mal por el bucle infinito

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void interes_capital (float);
  5. void capital_acumulado (float);
  6.  
  7. int main()
  8. {
  9.    float capital,porc,num,total,interes;
  10.    total=0;
  11.    printf("Digite su capital inicial: ");
  12.    scanf("%f",&capital);
  13.  
  14.    printf("Digite su tasa de interes en por ciento: ");
  15.    scanf("%f",&porc);
  16.  
  17.    printf("Digite el numero de años: ");
  18.    scanf("%f",&num);
  19.  
  20.    total = capital + porc * num;
  21.  
  22.   interes = total * porc;
  23.  
  24.   while (total >= 0)
  25.  
  26.   {
  27.       printf("El interes es %f/n",interes);
  28.       total = capital + porc;
  29.        interes = interes + 1;
  30.   }
  31.    return 0;
  32. }


Título: Re: Problema de Funciones con capital
Publicado por: CalgaryCorpus en 5 Junio 2019, 18:42 pm
El interes esta mal calculado.
Revisa el enunciado de tu problema.
No tiene sentido sumarle 1 al interes

Cambia /n por \n

El ciclo deberia ser controlado por el numero de años.
1 vuelta por cada año.