Ir ao conteúdo

Posts recomendados

Postado
/*
preciso da ajuda de vocês na aba comentada abaixo
*/#include <stdio.h>
#include <string.h>
 int main() 
{ 	char frase[100], criptografia[100];
	char *pf, *pc;
	int tamfrase;
	int *pt;
	
	pf = &frase[0];
	pc = &criptografia[0];
	pt = &tamfrase;
	
	printf("escreva a frase a ser criptografada:\n");
	scanf("%[A-Z a-z]", pf);
	
	*pt = strlen(pf);
	
	pf = &frase[tamfrase - 1];
	
	
	while(*pt > 0)
	{
		/*if (*pt != 'A' || *pt != 'a' ||
			*pt != 'E' || *pt != 'e' || 
			*pt != 'I' || *pt != 'i' || 
			*pt != 'O' || *pt != 'o' || 
			*pt != 'U' || *pt != 'u')
			{
				*pt = '#';
			}
		*/
		*pc = *pf;
		pc++;pf--;tamfrase--;
	}
	 *pc='\0';
	printf("%s", criptografia);
}

não sei por que o código acima esta dando erro, se alguém me ajudar com a correção ficarei muito grato

  • Curtir 1
Postado

Se você quer que as consoantes sejam substituídas por #, deveria ser && ao e não || no if()...

E está analisando e fazendo atribuição na variável errada no if(), *pt é igual a tamfrase, logo não é uma letra, acredito que sua intenção é verificar se *pf é uma consoante.

  • Curtir 1
  • Obrigado 1
Postado
#include <string.h>
#include <stdio.h>

int main() 
{
	char frase[100], criptografia[100];
	char *pf, *pc;

	pf = frase;
	pc = criptografia;

	printf("escreva a frase a ser criptografada:\n");
	scanf("%[A-Z a-z]^\n", pf);
	
	while(pf[0] != '\0')
	{
		if (pf[0] == 'A' || pf[0] == 'a' ||
		    pf[0] == 'E' || pf[0] == 'e' ||
		    pf[0] == 'I' || pf[0] == 'i' || 
		    pf[0] == 'O' || pf[0] == 'o' || 
		    pf[0] == 'U' || pf[0] == 'u') 
		{
			pc[0] = '#';
		} else pc[0] = pf[0];
		pf++;
		pc++;
	}
  
	pc[0] = '\0';
	pc = criptografia;

	printf("%s", pc);
}

 

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...