Ir ao conteúdo
  • Cadastre-se

Ajuda com codigo


caixadelixo

Posts recomendados

Boa Noite a todos, sou novo no forum e preciso de uma ajuda para um programa. Preciso converter um valor numerio por extenso.

Estou iniciando em c++ e uso Dev c++ windows.

formato de entrada ### ### ###,## €, ou seja, até 999 milhões de

euros e com um máximo de duas casas decimais (para os cêntimos).

formato de saída: Doze milhões quarenta e cinco mil e trinta e quatro euros

Não procuro a resposta, gostaria que alguém fosse me ajudando a medida que desenvolvo o programa, pois não tenho ideia de como continuar. Até agora só consegui fazer até 19...:wacko:

Obrigado a todos...

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int num;

printf("numero:\n");

scanf("%d",&num);

char *unidades[]={"zero","um","dois","tres","quatro","cinco",

"seis","sete","oito","nove","dez","onze","doze","treze","quatorze",

"quinze","dezesseis","dezessete","dezoito","deznove"};

char *dezenas[]={"vinte","trinta","quarenta","cinquenta","sessenta",

"setenta","oitenta","noventa"};

if (num<=19)

printf("%s\n\n",*(unidades+num));

system("PAUSE");

return EXIT_SUCCESS;

}

Link para o comentário
Compartilhar em outros sites

fiz um pequeno codigo em c# que pega os numeros de 0 a 99 e coloca os nomes, ficou desse jeito

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

namespace Numeros
{
class Program
{
string[] unidades = new string[10] { "zero", "um", "dois", "trez", "quatro",
"cinco", "seis", "sete", "oito", "nove" };
string[] dezADezenove = new string[10] { "dez", "onze", "doze", "treze", "catorze",
"quinze", "dezesseis", "dezessete", "dezoito", "dezenove" };
string[] vinteANoventa = new string[10] { null, null, "vinte", "trinta", "quarenta", "cinquenta",
"secenta", "setenta", "oitenta","noventa" };

private string nomeDoNumero(int i)
{
if (i < 10) return unidades[i];

else if (i < 20)
{
i -= 10;
return dezADezenove[i];
}

else if (i < 100)
{
string s = vinteANoventa[i / 10];
string t = "";

if ((i % 10) != 0) t = " e " + unidades[i % 10];

return s + t;
}

return "este numero não foi reconhecido";
}

private void run()
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i + " " + nomeDoNumero(i));
}

Console.ReadLine();
}

static void Main(string[] args)
{
new Program().run();
}




}
}

acredito que seria melhor começar do maior ao menor, é que vou fazer agora

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...