necesito ayuda

Iniciado por daost, 9 Febrero 2020, 06:38 AM

0 Miembros y 1 Visitante están viendo este tema.

daost

hola se me ocurrio crear un programa que basicamente me calculee una inversion en plazo fijo
pero tuve un problema durante la creacion si bien me funciona con solo 1 mes es decir 30 dias no logro ni tampoco se como puedo hacer para que el programa leea que poniendo 1 sea 30 y dos sea 60 ya que para hacer el plazo fijo necesito saber la cantidad de meses les dejo mi codigo para que vean como va :

#include<iostream>

using namespace std;

int main()
{
   int dinero=0;
   int unmes=0;
   float ganancia=0;
   float gananciatotal=0;
   
   cout<<"ingrese dinero a depositar: ";cin>>dinero; //ingreso dinero
   cout<<"ingrese cantidad de mes: ";cin>>unmes; // cantidad de mes dependiendo de que 1 sea= 30, 2=60, etc..
   
   ganancia = dinero * (0.33*30/365); //0.33 es la tasa anual de ganancia lo multiplico por 30 que seria 1 mes y lo divido por el año para saber la ganancia
   
   gananciatotal= ganancia+dinero; //sumo la ganancia con el dinero ingresado para que me de el total del dinero si hago la inversion
   
   cout<<"su ganancia es de:  "<<ganancia; cout<<"pesos";
   cout<<"\nsu dinero con interes seria de:  "<<gananciatotal; cout<<"pesos";
   
   return 0;
   
}

/* el problema como comente en el foro es que no logro poder poner lo de los meses osea que el programa por ahora
solo funciona con un mes, me faltaria los otros 11 meses, no estoy seguro pero creo que debo usar las condiciones si alguien me puede ayudar seria un golazo*/

daost

CREO QUE ENCONTRE MI RESPUESTA XD

#include<iostream>
#include<stdio.h>
#include<conio.h>

using namespace std;

int main()
{
   int dinero=0;
   int mes=0;
   float ganancia=0;
   float gananciatotal=0;
   
   cout<<"ingrese dinero a depositar: ";cin>>dinero; //ingreso dinero
   cout<<"ingrese cantidad de mes: ";cin>>mes; // cantidad de mes dependiendo de que 1 sea= 30, 2=60, etc..
      if (mes==1)
      {
         ganancia=dinero*(0.33*30/360);
      }
      else
      {
         if(mes==2)
         ganancia=dinero*(0.33*60/360);
      }
   
      {
         if(mes==3)
         ganancia=dinero*(0.33*90/360);
      }
   
      {
         if(mes==4)
         ganancia=dinero*(0.33*120/360);
      }
      
      {
         if(mes==5)
         ganancia=dinero*(0.33*150/360);
      }
      
      {
         if(mes==6)
         ganancia=dinero*(0.33*180/360);
      }
      
      {
         if(mes==7)
         ganancia=dinero*(0.33*210/360);
      }
      
      {
         if(mes==8)
         ganancia=dinero*(0.33*240/360);
      }
      
      {
         if(mes==9)
         ganancia=dinero*(0.33*270/360);
      }
      
      {
         if(mes==10)
         ganancia=dinero*(0.33*300/360);
      }
      
      {
         if(mes==11)
         ganancia=dinero*(0.33*330/360);
      }
      
      {
         if(mes==12)
         ganancia=dinero*(0.33*360/360);
      }
    //0.33 es la tasa anual de ganancia lo multiplico por 30 que seria 1 mes y lo divido por el año para saber la ganancia
   
   gananciatotal= ganancia+dinero; //sumo la ganancia con el dinero ingresado para que me de el total del dinero si hago la inversion
   
   cout<<"su ganancia es de:  "<<ganancia; cout<<"pesos";
   cout<<"\nsu dinero con interes seria de:  "<<gananciatotal; cout<<"pesos";
   
   return 0;
   
}




COMO PUEDO AHORRARME TANTAS LINEAS??, NO RECUERDO EL METODO

engel lex

Hola!

evita escribir parrafos en mayusculas si quieres resaltar puedes usar negritas
para el codigo procura usar lasetiquetas GeSHi
y evita hacer doble post


sobre tu problema de ahorrar lineas no es un asunto de funciones, es de matematica

no necesitas if, solo formula
Código (cpp) [Seleccionar]
ganancia=dinero*0.33*30*mes/360;


si es mes 1 esto será dinero*0.33*30*1/360 -> dinero*0.33*30/360
si es mes 4 esto será dinero*0.33*30*4/360 -> dinero*0.33*120/360

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

@XSStringManolo

Cita de: daost en  9 Febrero 2020, 06:38 AM
hola se me ocurrio crear un programa que basicamente me calculee una inversion en plazo fijo
pero tuve un problema durante la creacion si bien me funciona con solo 1 mes es decir 30 dias no logro ni tampoco se como puedo hacer para que el programa leea que poniendo 1 sea 30 y dos sea 60 ya que para hacer el plazo fijo necesito saber la cantidad de meses les dejo mi codigo para que vean como va :

#include<iostream>

using namespace std;

int main()
{
   int dinero=0;
   int unmes=0;
   float ganancia=0;
   float gananciatotal=0;
   
   cout<<"ingrese dinero a depositar: ";cin>>dinero; //ingreso dinero
   cout<<"ingrese cantidad de mes: ";cin>>unmes; // cantidad de mes dependiendo de que 1 sea= 30, 2=60, etc..
   
   ganancia = dinero * (0.33*30/365); //0.33 es la tasa anual de ganancia lo multiplico por 30 que seria 1 mes y lo divido por el año para saber la ganancia
   
   gananciatotal= ganancia+dinero; //sumo la ganancia con el dinero ingresado para que me de el total del dinero si hago la inversion
   
   cout<<"su ganancia es de:  "<<ganancia; cout<<"pesos";
   cout<<"\nsu dinero con interes seria de:  "<<gananciatotal; cout<<"pesos";
   
   return 0;
   
}

/* el problema como comente en el foro es que no logro poder poner lo de los meses osea que el programa por ahora
solo funciona con un mes, me faltaria los otros 11 meses, no estoy seguro pero creo que debo usar las condiciones si alguien me puede ayudar seria un golazo*/
A parte de la solución de Engel, tienes las funciones:

Código (cpp) [Seleccionar]
int calcularGanancia (dinero, meses)
{
return dinero * (0.33*meses*30/365);
}


Después dentro del main pasas el dinero y los meses en la llamada y la función te retorna la ganancia.

Código (cpp) [Seleccionar]
int main()
{
...
...
...
int gananciasPrimerTrimestre = calcularGanancia(dinero, 3);
int gananciasSegundoTrimestre = calcularGanancia(dinero, 6) - gananciasPrimerTrimestre;
int gananciasAnuales = calcularGanancia(dinero, 12);
...
...
...
}

daost