Ir ao conteúdo

Posts recomendados

Postado

 

#include <stdio.h>
#include <stdlib.h>
void pmaior(char palavra[]);

int main(){
    char palavra[30];
    printf("O programa a seguir le uma frase minuscula e a transforma em maiuscula: ");
    printf("\nDigite uma frase: ");
    gets(palavra);
    void pmaior(char palavra[]);
    return 0;
}

void pmaior(char palavra[]){
    int i;
    for(i = 0; palavra != '\0'; i++){
    if(palavra >= 97 && palavra <= 122){
        palavra = palavra - 32;
        printf("%c", palavra);
    }
}
}

alguém poderia me dar uma dica do que estou fazendo de errado?!

  • Obrigado 1
Postado

@Madson Smitt     essa função está convertendo para maiúsculas ,  e você não colocou em qual posição da string está o caractere ,  mas você pode usar uma função já pronta para isso ,  que é a strupr que converte para maiúsculas ou strlwr que converte para minúsculas ,  então seu código poderia ser assim  :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void pmaior(char palavra[]);

int main(){
    char palavra[30];
    printf("O programa a seguir le uma frase minuscula e a transforma em maiuscula: ");
    printf("\nDigite uma frase: ");
    gets(palavra);
    printf("\n");
    pmaior(palavra);/* para enviar por parâmetro só precisa do nome da variável */

    /*strlwr(palavra); converte para minusculas */
    strupr(palavra);
    printf("Convertida Com strupr -> %s\n",palavra);

    return 0;
}

void pmaior(char palavra[]){
    int i;
    for(i = 0; palavra[i] != '\0'; i++){/* faltou colocar a posição de cada caractere na string */
        if(palavra[i] >= 97 && palavra[i] <= 122 || palavra[i]==' '){
            if(palavra[i]!=' ')palavra[i] = palavra[i] - 32;
            printf("%c", palavra[i]);
        }
    }
    printf("\n\nPara Verificar %s\n",palavra);
    return 0;
}

 

  • Curtir 1
Postado

@devair1010

9 horas atrás, devair1010 disse:

@Madson Smitt     essa função está convertendo para maiúsculas ,  e você não colocou em qual posição da string está o caractere ,  mas você pode usar uma função já pronta para isso ,  que é a strupr que converte para maiúsculas ou strlwr que converte para minúsculas ,  então seu código poderia ser assim  :


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void pmaior(char palavra[]);

int main(){
    char palavra[30];
    printf("O programa a seguir le uma frase minuscula e a transforma em maiuscula: ");
    printf("\nDigite uma frase: ");
    gets(palavra);
    printf("\n");
    pmaior(palavra);/* para enviar por parâmetro só precisa do nome da variável */

    /*strlwr(palavra); converte para minusculas */
    strupr(palavra);
    printf("Convertida Com strupr -> %s\n",palavra);

    return 0;
}

void pmaior(char palavra[]){
    int i;
    for(i = 0; palavra[i] != '\0'; i++){/* faltou colocar a posição de cada caractere na string */
        if(palavra[i] >= 97 && palavra[i] <= 122 || palavra[i]==' '){
            if(palavra[i]!=' ')palavra[i] = palavra[i] - 32;
            printf("%c", palavra[i]);
        }
    }
    printf("\n\nPara Verificar %s\n",palavra);
    return 0;
}

Consegui achar o erro, na hora de chamar a função eu estava colocando void pmaior(char palavra[]); e era só colocar pmaior(palavra);

e eu não podia usar nenhuma biblioteca... vlwww xD

 

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