Ir para conteúdo

POWERED BY:

Arquivado

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

Gr4v370

[Resolvido] Como colocar 0 a esquerda de uma STRING?

Recommended Posts

Ola pessoal!

 

Gostaria de saber como faço para colocar zeros a esquerda de uma string em linguagem C.

 

Exemplo string com 6 posições:

User digita: 12

A strig deve armazena: 00012

 

Eu consigui colocar os zeros a direita (Como está no codigo abaixo), mas a esquerda está impossível. :(

 

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

int main()
{
 char digitado[6];
 int k;

 printf ("\nDigite 5 digitos ou menos: ");
        scanf("%s", digitado);

        for (k=0; k<5; k++) {             
            if (digitado[k]>=0 && digitado[k] <=4) {
               digitado[4]= digitado[k];
               digitado[k]= 48;
               }  

       printf("Digitado: %c\n\n",digitado[k]);
       }

 system("PAUSE");	
 return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O número de caracteres da string pode variar?

Se não fica mais fácil...

 

Faz uma variável que recebe o tamanho da string digitada (sugiro o uso da função strlen).

Depois passa os chars digitados para o fim da string (com um for da pra fazer), e nas primeiras posições

insira os 0...

 

Deu pra entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O número de caracteres da string pode variar de acordo com a quantidade e caracteres que for digitado, respeitando o limite de 5 digitos.

 

Não entendi como fazer do jeito que você explicou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, você digito 12.

A string vai ficar mais ou menos assim:

 

string[0] -> 1 string[1] -> 2 string[2] -> \0.

 

Um jeito que pensei em fazer (pode não ser o melhor, e podem existir outros) seria:

 

Mover os caracteres para as posições da frente, por exemplo o 2 vai pra posição string[5] e o 1 para string[4],

ai é só colocar 0 nos anteriores string[0], string[1], etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui, não sei se foi do jeito mais certo, mas...

Criei outra STRING e coloquei os valores nessa nova string.

Exemplo:

novaString[0]=digitado[4]

novaString[1]=digitado[3] etc.

Até chegar posição[4]=posição[0]

 

Obrigado.

 

Resolvido :D

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.