Ir para conteúdo

POWERED BY:

Arquivado

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

NoBe

[Resolvido] Manipulação de Números Inteiros

Recommended Posts

Galera,

 

Preciso de um código que pega um número inteiro de 4 posições, como exemplo o ano 2008, e coloque em outras 2 variáveis inteiras também, na 1ª ficaria "20" e na 2ª "08", em todo o momento eu preciso que esses valores se mantenham como inteiros para manipulação dos mesmos.

 

Consegui fazer com string, mas para isso o número se torna uma string, sendo do tipo char.

 

Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma lida ve se te ajuda:

http://www.forumweb.com.br/foruns/lofivers...php/t48741.html

 

Depois para juntar é só multiplicar por 10:

int primeiravariavelquetudisse = a*10 + b;

int segundavariavelquetudisse = c*10 + d;

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples declara esse inteiro como vetor de 4:

int num[4];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica, mas eu testei do jeito que eles ensinam ae e fiz o meu assim:

 

#include <stdio.h>
#include <stdlib.h>

main() {
	   int a, b, valor;

	   printf("Digite um valor:\n");
	   scanf("%d", &valor);
	   
	   a = (valor / 100);
	   b = (valor - (a * 100));
	   
	   printf("\na = %d, b = %d\n\n", a, b);
	   system("pause");
}

Como quero apresentar os valores como eles são digitados, no meu exemplo usando o ano de 2008 ele apresenta "a" como 20 e o "b" apenas o 8, tem como o "b" apresentar o 08, mesmo sendo inteiro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ow você formata a saida dele, ow faz de um jeito mais complicadinho :lol: :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main() {
	   int a, b, valor;
	   char c[3], d[3];

	   printf("Digite um valor:\n");
	   scanf("%d", &valor);

	   a = (valor / 100);
	   b = (valor - (a * 100));
	   itoa(b,c,10);
	   if(strlen(c)==1) {d[0]='0';strcat(d,c);
	   printf("\na = %d, b = %s\n\n", a, d);}
	   else printf("\na = %d, b = %s\n\n",a,c);
	   system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ..isso é muito simples... não precisa desse complicação toda não ...

 

veja...

 

main() {
	   int a, b, valor;

	   printf("Digite um valor:\n");
	   scanf("%d", &valor);
	  
	   a = (valor / 100);
	   b = (valor - (a * 100));
	  
	   printf("\na = %d, b = %.2d\n\n", a, b);
	   system("pause");
}

apenas coloque o numero de casas que você quer que ele fique..logo 2 .então o código altomaticamente completa com um zero as casas que estão faltando ...

 

^^...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitíssimo obrigado, o lance do .2 eu achava que só funcionava pra variáveis do tipo float.

 

Acho que vai satisfazer o que a prof pediu.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.