Ir para conteúdo

POWERED BY:

Arquivado

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

Roberto Silva Santos

Como inverter caracter em string

Recommended Posts

Amigos to com o seguinte problema, tenho que fazer um código de algoritmo que receba na entrada uma data tipo 08/06/2008 e de como saida 08 de março de 2008. Eu fiz ele com printf e scanf e case para alterar o mes de numeral para texto tipo case 06 =>junho, mas meu professor quer que a gente faz usando string e ai o bicho pegou pelo que o professor passou é assim entrei com a data 08/06/2008 contar as string ex.:

0 8 / 0 6 / 2 0 0 0 8

sequencia dos caracter 0 1 2 3 4 5 6 7 8 9 10

ai na posição 3 e 4 alterar para junho,

Achei muito louco e ñ to conseguindo ter uma idéia ate pq eu ñ vi ainda string, de string só vi pra escrever um nome e apresentar coisas assim bem simplies mas este ta me matando rsrsrs

Alguem tem uma idéia de como posso resolver isso????????

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara naum compreendi muito bem oq qr!

+ uma ideia seria usar uma string auxiliar para escrever a nova string ow seja de certa forma sobrescrever a outra, com comandos como strcat(); ow para localizar o dia utilizando strstr(); ou strcmp();

tente ser + especifico no proximo post, pra mim poder te ajudar!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos lá retomando este post,,,,,,,,,,,,,,, é tão dificil pra mim que ñ consigo nem explicar certo, mas é assim o programa deve pedir ao usuario uma data, e esta data deve ser informada um printf tipo 15/06/2008 e ter como saida 15 de junho de 2008.

1 5 / 0 6 / 2 0 0 0 8
asposições				  0 1 2 3 4 5 6 7 8 9 10
ai na posição 3 e 4 alterar para junho,

Quem poder me dar uma ajuda fico grato :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom,você vai ler o mes com 2 digitos né?

Procure a primeira ocorrencia da / com strchr. Pegue as duas posicoes seguintes da string e converta p/ um inteiro.

P/ achar o mês crie um array de strings com os meses em ordem e use o inteiro que você converteu como indice p/ achar o nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer isso de forma simples, soh q vamos ver c seu prof. vai gostar :P

você pega as posicoes 3 e 4 do vetor na mao msm assim:

data_aux[0] = data[3];
data_aux[1] = data[4];
data_aux[2] = '\0';

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quit,e se o cara digitar 01 a 09?Vai ficar como o zero à esquerda?você vai estar pegando o /.

 

char Meses[] = {"janeiro","fevereiro","marco","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"};

char * substr(char * S,int i,int f) {
 int T[strlen(S)];
 for(i=0;i<=f;i++)
 T[i] = S[i];
 return T;
}


int main(void) {
 char S[10];
 scanf("%s",S);
 char * idx = strchr('S,/');
 if (idx) {
 printf("%s de %s de %s\n",substr(S,0,idx-1),Meses[atoi(substr(S,idx+1,rindex(S,'/')))], substr(S,rindex(S,'/')+1,strlen(S)-1));
 }
}

 

Deve ser algo assim.

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.