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