Ir ao conteúdo

C Recursiva- transformar minusculo em maiusculo e retornar qtas alterações feitas


Ir à solução Resolvido por Matheus Maldi,

Posts recomendados

Postado

 alguem me ajuda por favor

não to conseguindo fazer esse exercicio:

 

Implemente uma função RECURSIVA que recebe uma string como parâmetro e converte todos os seus caracteres minúsculos para maiúsculos. Além disso, sua função deve retornar o número de caracteres que foram convertidos. Exemplo: se a string recebida como parâmetro for “Bola”, a sua função deve convertê-la para “BOLA” e retornar 3. A sua função não pode usar loops (for, while, goto, etc) e nem variáveis globais. Protótipo:


int caixaAlta(char *str)

  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Postado

Alguém sabe me falar porque minha função não funciona?

fiz ela para converter as letras minusculas em maiusculas e contar quantas tiveram que ser convertidas

 

int caixaAlta(char *str) {
	if(*str=='\0') {  
        return 0;              
    }
    else {
        if((*str >= 'A' && *str <= 'Z') || *str == ' '){
           return caixaAlta(str+1);
        }else {
            *str -= (char)32;
            return caixaAlta(str+1) + 1; 
        }   
    }
}

int main(int argc, char const *argv[])
{
    char *str;
    
    str = "Cachorro VErdE";
    printf("\n Ao converter a string para caixa alta, alteramos %d letras: ", caixaAlta(str));
    
    return 0;
}

 

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