1
resposta

Não é uma dúvida; E sim desejo compartilhar : Como fazer para aparecer o Tempo de investimento em anos e o valor investido

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace P12_CalculaInvestimentoLongoPrazo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Executando o projeto 12"); // laço for encadeado (for dentro do for)

            double valorInvestido = 1000;
            double fatorRendimento = 1.0036;
            int contadorAno = 1;

            while (contadorAno <= 5) //contagem de anos   
            {
                for (int contadorMes = 1; contadorMes <= 12; contadorMes++) //contagem mes á mes
                {
                    valorInvestido *= fatorRendimento;
                }
                fatorRendimento += 0.0010;

                contadorAno++;
            }


            Console.WriteLine("Ao término do investimento, você terá R$" + valorInvestido);

            Console.WriteLine("Tempo de investimento foi de:" + contadorAno + "anos");

            Console.ReadLine();
        }
    }
}

// Explicação do código: // ano a ano o fator de rendimento vai altentar, então precisa de um laço de repetição => for() // inicialização e declaração de variável => int contadorAno = 1; // condição que vai me manter dentro do laço => contadorAno <= 5; // incremento +1 no contador => contadorAno++ //Variável para guardar o fator de rendimento e conseguir variar de ano á ano => double fatorRendimento = 1.0036; // No final do ano(atualiza ano á ano) vai aumentar o fator de rendimento um pouco => fatorRendimento += 0.0010; //Fazer o calculo de fato => double valorInvestido = 1000; // Atualização do valor investido mes á mes , dentro do for (int contadorAno = 1; contadorAno <= 5; contadorAno++), vai colocar outro for => for(int contadorMes = 1; contadorMes <=12; contadorMes++)

//Atualiza mes á mes o valor investido de acordo com o fator de investimento => valorInvestido = valorInvestido * fatorRendimento; //É a mesma coia do código á cima => valorInvestido *= fatorRendimento;

//Mosta quanto que deu todo o calculo =>Console.WriteLine("Ao término do investimento, você terá R$" + valorInvestido); //Mostrar o tempo que deu o investimento => Console.WriteLine("Tempo de investimento foi de:" + contadorAno + "anos");

1 resposta

Olá Aline, como vai?

Sinta-se à vontade para compartilhar seu código conosco :)

Adorei sua explicação, muito boa! Existe um ponto, que acredito que valha a pena analisarmos.

Perceba que o último Console.ReadLine exibimos o total de anos que foram investidos, que deveria ser 5 anos, certo?! Perceba que no while, por exemplo, o contadorAno só irá parar se passarmos do 5. Assim, nosso último valor atribuído na variável contadorAno será 6.

Acredito que se diminuirmos uma única vez, fora do while conseguiremos ter o valor esperado. Conseguimos fazer algo como:

static void Main(string[] args)
        {
            Console.WriteLine("Executando o projeto 12"); 
            double valorInvestido = 1000;
            double fatorRendimento = 1.0036;
            int contadorAno = 1;

            while (contadorAno <= 5) 
            {
                for (int contadorMes = 1; contadorMes <= 12; contadorMes++)               
                {
                    valorInvestido *= fatorRendimento;
                }
                fatorRendimento += 0.0010;

                contadorAno++;
            }

            contadorAno --; //Por estar fora do while, só iremos subtrair (-1) apenas uma vez  

            Console.WriteLine("Ao término do investimento, você terá R$" + valorInvestido);

            Console.WriteLine("Tempo de investimento foi de:" + contadorAno + " anos");

            Console.ReadLine();
        }

Espero que tenha feito sentido. Qualquer dúvida estamos por aqui.

Um forte abraço