Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
phplove

converter numero em string

Recommended Posts

phplove

boas amigos por acaso nao ha nenhuma função ja predefenida para converter numero em string ou um converter numero em char

como ha a função  toupper() na bibliotecária ctype.h para converter minúsculas em maiúsculas

Share this post


Link to post
Share on other sites
phplove

isso faz o que ?

eu nao disse mas eu quero isto para uma valência, um "anti-pategos", que testa que  intradução é um numero

 

Share this post


Link to post
Share on other sites
Baderous

Quando não se sabe, pergunta-se ao google. Faz o mesmo que o printf mas imprime o resultado para uma string, em vez de ser para o stdout. Mas para o que tu queres, precisas é de testar o valor do scanf, aquando da introdução do número:

int v, opcao;
do {
	v = scanf("%d",&opcao);
	scanf("%*[^\n]"); scanf("%*c");
} while (v<1 && opcao!=0);

Ao testares o valor devolvido pelo scanf quando queres atribuir um número inteiro a uma variável do tipo int, podes verificar se essa atribuição foi feita com sucesso (caso em que devolve um número igual ao número de atribuições feitas com sucesso, neste exemplo devolve 1). A atribuição é feita com sucesso quando o tipo do valor que o scanf leu está em conformidade com o tipo da variável que o pretende guardar.

Share this post


Link to post
Share on other sites
TaraDiNHu

Sem tirar mérito ao Baderous, itoa() é a função correcta para a conversão que queres fazer.

Integer TO Ascii - itoa();

atoi(), é o seu inverso...

e, claro, há mais... ltoa, atol, dtoa.... googla que encontras

Share this post


Link to post
Share on other sites
sarapintas

se é uma validacao que queres tens aqui esta

unsigned leUnsigned(char* txt) {
     unsigned num;
     printf(txt);     
     while (scanf("%u", &num)!=1) {
           while(getchar() !='\n');
           printf("\n\tErro! Insira um valor valido: ");    
     }       
     return num;         
}

para inteiros basta trocares para int

cumps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.