Ir ao conteúdo

Posts recomendados

Postado

Ola galera, estou fazendo um trabalho e essa é a unica questão que tem dias que não consigo achar uma logica pra resolver (estou começando agora e os conceitos estão bem baguçados pra mim).🤔

 

Os requisitos da questão é:

1. ler uma frase de no maximo 100 e armazenar em um vetor

2. imprimir a frase lida trocando as vogais por outras ex: "a" por "o"

3. Usar uma função void pra realizar a troca e outra pra imprimir a frase modificada

4. a função deve ter como parametro um ponteiro(tipo char) fazendo referente ao vetor

 

meu codigo atual em C no visual studio está assim: 

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

void troca(char vetfrase[100], char *pontf)
{
    printf("Esse programa faz troca de vogais digite uma frase: %c ");
    gets("%c", &vetfrase);
    

    switch (vetfrase[0])
    {
    case 'a':
    {
        vetfrase = 'u';
    }
    case 'e':
    {
        vetfrase = 'o';
    }
    case 'i':
    {
        vetfrase = 'u';
    }
    case 'o':
    {
        vetfrase = 'a';
    }
    case 'u':
    {
        vetfrase = 'e';
    }
    default:
        printf("\n\Nenhuma vogal foi digitada, nada foi modficado");
        break;
        
    }

pontf=&vetfrase //ponteiro armazena vetor e usa onde?...


    for (vetfrase = 0; vetfrase < 100; vetfrase++)
    {
        printf("frase: %c ", vetfrase);

    }

    
    system("pause");
    return 0;

}

 

Sei q falta e tem muita coisa desconexa mas não consigo sair disso. Minhas duvidas e dificuldades são:

1. Se são duas função uma é  void (paramentros) a outra seria void main() pra imprimir? 

1.1 Como chamar o void dentro da outra função? ja tentei algo como 

void troca (paramentros, paramentros2) dentro da outra função mas n funciona. E o void vem depois ou antes dela?

2. Onde e como faço o auto incremento com o laço de repetição para analisar cada lugar do vetor? 

3. Onde o ponteiro vai servir nesse caso? como paramentro no void e depois chamar na outra função de imprimir? tentei fazer algo parecido mas n deu certo pois ficou como se o ponteiro não estivesse definido.

4. A switch case só trabalha com int e char mas porque está aparecendo a mensagem dentro das linhas da switch : = char difere em niveis de direção de 'int' (sendo que n declarei nem uma variavel com o tipo int)?

 

Sei que é muita coisa mas se alguém puder ajudar, agradeço. Minha cabeça ta explodindo com essa questão🙄

 

Postado
for (int i=0;i<100;i++) 
{
switch (vetfrase[i])
    {
    case 'a':
    	vetfrase[i] = 'u';
         break;               
    case 'e':
        vetfrase[i] = 'o';
        break;
    case 'i':
        vetfrase[i] = 'u';
        break;                
    case 'o':
       vetfrase[i] = 'a';
		break;	    
    case 'u':
       vetfrase[i] = 'e';
       break;                
    }
}

Sugiro que faça funcionar antes e depois se preocupe com separar em funções.

  • 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!