Alguem poderia me ajudar?
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função para identificar se um caractere é vogal ou não.
char isVogal(char info) {
int cont = 0;
char vogais[6], flag = 0;
strcpy(vogais, "aeiou");
while (!flag && cont < 6) {
if (vogais[cont++] == info)
flag = 1;
}
return flag;
}
void funcInutil(char str[], char vogais[], char consoantes[]) {
int len=strlen(str),cont=0,tlV=0,tlC=0;
while(cont<len){
if (isVogal(str[cont])){
if(tlV<5 && cont<=5){
vogais[tlV++]=str[cont];
}
}else{
if(cont>=len-5 && tlC<5){
consoantes[tlC++]=str[cont];
}
}
}
}
A função isVogal funcionou? Pois olhando assim me parece que há três erros:
a) A função não trata no caso da vogal ser Maiúscula;
b) O while deve preencher só cinco posições da vaiável vogal, e não seis;
c) No final, deve ser adicionado o \0 na variável vogal.
Eu fiz assim, me parece mais simples:
int func_vogal(char letra)
{
if (letra == 'a' || letra == 'A' ||
letra == 'e' || letra == 'E' ||
letra == 'i' || letra == 'I' ||
letra == 'o' || letra == 'O' ||
letra == 'u' || letra == 'U')
return 1;
else
return 0;
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Programação I
•UNINTER
Compartilhar