| Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística | 
| Como converter de decimal para números romanos em C# - Desafio de Programação Resolvido em C#Quantidade de visualizações: 720 vezes | 
| Pergunta/Tarefa: Escreva um programa C# que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII Veja a resolução comentada deste exercício usando C#: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
using System;
// Algoritmo C# para converter um número decimal em um número
// romano
namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos criar um array com os valores decimais possíveis de
      // cada número romano
      int[] valoresNumerosRomanos = new int[]{1000, 900, 500, 400,
        100, 90, 50, 40, 10, 9, 5, 4, 1};
      // representação dos números romanos
      String[] numerosRomanos = new String[]{"M", "CM", "D", "CD",
        "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
      // vamos pedir para o usuário informar um número decimal
      Console.Write("Informe um número decimal: ");
      int numero = int.Parse(Console.ReadLine());
      // para guardar o resultado
      String resultado = "";
      // o número é maior que zero?
      if (numero > 0) {
        // percorremos o array de valores decimais dos números romanos
        for (int i = 0; i < valoresNumerosRomanos.Length; i++) {
          // enquanto o número informado for maior que o valor do
          // do número romano atual
          while (numero >= valoresNumerosRomanos[i]) {
            // reduz o número informado
            numero = numero - valoresNumerosRomanos[i];
            // concatena o número romano e continua o cálculo
            resultado = resultado + numerosRomanos[i];
          }
        }
      }
      // mostramos o resultado
      if (resultado == "") {
        Console.WriteLine("O número informado não possui número romano");
      }
      else {
        Console.WriteLine("O número romano correspondente é: " + resultado);
      }
    
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}
 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C# | 
| Veja mais Dicas e truques de C# | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





