Ir para conteúdo
Fórum Script Brasil
  • 0

Exceções nas posições de uma String.


Felipe_sp

Pergunta

Olá amigos, alguém poderia me ajudar com o seguinte conflito: Estou fazendo um pequeno programinha em C, utilizando o DevC++, porém sou totalmente iniciante nessa linguagem. Pretendo fazer uma função onde o usuario digite o texto e os caracteres sejam substituidos por outros, por exemplo:

O usuario digitou "Viva Feliz", eu queria substituir a letra "V" pela "O" e ficara "Oioa Feliz", entendem, eu até consegui fazer a mudança dos caracteres, o problema é que o sistema entra em uma espécie de Looping e não para de fazer as mudanças, por exemplo: O caractere "A" se transforma em "B"(eu gostaria que parasse aqui), porém ele continua mudando e do "B" que surgiu do "A" ele vira um "C", gostaria de saber se algum de vocês sabe alguma forma para que quando a primeira transformação acontecesse, eu conseguiria fazer a posição da String não mudar mais. Acredito que utilizando uma exceção funcione, porque na próxima condição a ser executada, eu possa colocar uma exceção para que o caractere anterior não sofra mais alterações.

Dêem uma olhada no que estou tentando fazer:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
main ()
{
     char string[500];
     int Va;
     int Vb;
     int Vc;
     int Vd;
     int Ve;
     int Vf;

printf("Digite o texto: ", string);
     gets(string);
     
     
     //AAA
     for(Va=0;Va<500;Va++)
          
     if (string[Va]=='a')
     {
                       string[Va]='f';                      
                                           
                       } 
                       
     //BBB                  
                       for(Vb=0;Vb<500;Vb++)
          
     if (string[Vb]=='b')
     {
                       string[Vb]='z';                      
                                             
                       } 
                       
          //CCC             
                        for(Vc=0;Vc<500;Vc++)
          
     if (string[Vc]=='c')
     {
                       string[Vc]='n';                      
                                             
                       } 
                       
                       
               //DDD        
                        for(Vd=0;Vd<500;Vd++)
          
     if (string[Vd]=='d')
     {
                       string[Vd]='v';                      
                                          
                       } 
                       
                       
                    //EEE   
                        for(Ve=0;Ve<500;Ve++)
          
     if (string[Ve]=='e')
     {
                       string[Ve]='k';                      
                                             
                       } 
                       
                       
                       //FFF
                        for(Vf=0;Vf<500;Vf++)
          
     if (string[Vf]=='f')
     {
           
                       string[Vf]='b';                                    
                                           
                       } 
printf("resultado: %s\n", string);
                       system("pause");
                       }

Se puderem me ajudar de alguma forma ficaria muito grato, já não estou conseguindo mais pensar em nenhuma forma de fazer funcionar, =/..

Abraços à todos.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Felipe_sp,

Pelo que eu entendi sobre a sua duvida, na minha opinião acho que você deveria criar outras strings e depois ajuntar as strings.

exemplo:

tipo crio 2 string: char s1[50], s2[50];

você poderia fazer o seguinte:

pedir para digitar a 1 palavra (s1). // assim você coloca o codigo de troca a letra.

fazer um loop quando a pessoa der espaço pular para o 2º string (s2).

assim sucessivamente.

No final você ajunta todas as string.

Bom, acho que isso, se não for me desculpe.

Obrigado.

Thiago.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...