Ir ao conteúdo

Posts recomendados

Postado
#include <stdio.h>

char fuc_conversao(char dia, char mes, char ano){
    if(mes==1){
        return 'janeiro';
    }
}

int main(){
    char dia;
    char mes;
    char ano;
    char resposta;
    printf("Digite uma data no formato DD/MM/AAAA.\n");
    scanf("%s%s%s", &dia,&mes,&mes);
    resposta=fuc_conversao(dia,mes,ano);
    printf("%s de %s de %s",dia,mes,ano);
}

Como converter a data por extenso?

Postado

@Trainn Há vários problemas no seu programa:

- Você declarou variáveis do tipo char, e não são strings;

- Se o usuário digitar algo no formato DD/MM/AAAA, caso você tivesse declarado strings, só a primeira string armazenaria a data;

- Você não precisa do & para ler strings com scanf();

- Está tentando atribuir o valor de retorno de fuc_conversao() à variável resposta (que também não é uma string), mas está imprimindo as variáveis dia, mes e ano, então essa atribuição não serviu de nada;

- "janeiro" não é um caractere, é uma string, então não use apóstrofos, você deveria usar aspas.

 

Acho mais fácil declarar inteiros, da uma olhada:

#include <stdio.h>

int main(){
    int dia, mes, ano;
  
    printf("Digite uma data no formato DD/MM/AAAA.\n");
    scanf("%d/%d/%d", &dia,&mes,&ano);
    
    printf("%02d de %02d de %04d",dia,mes,ano);
    return 0;
}

Com strings, não seria muito diferente disso aí.

Postado

@Trainn  Como a sua função vai retornar uma string terá que ser do tipo ponteiro char e não apenas char.

 

Você pode criar uma matriz dos meses e na função informar o número referente ao mês que será usado como índice para retornar a string, p.ex,

 

#include <stdio.h>

char *mes(int m){
    static char str_mes[12][20] = {
        "Janeiro",
        "Fevereiro"
    };
    return str_mes[m - 1];
}

int main(){
    printf("%s\n",mes(1));
    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...