Ir para conteúdo
Fórum Script Brasil
  • 0

Exercicio de Função, return.


Samhain

Pergunta

Criar uma função que recebe um número, de 1 a 12, e mostre o nome do mês equivalente ao número recebido.

estou errando em alguma coisa, e não consigo arrumar o problema, me ajudem!

Sou iniciante, e deve ser um erro bobo =/

#include<stdio.h>
#include<conio.h>

int mes(int num);

main(){
    int n;
    char ret;
    printf("Digite um numero: ");
    scanf("%i",&n);
        
    ret=mes(n);
    
    printf("Mes Correspondente: %c",ret);
    getch();
}

int mes(int num){
     char vet[12]={'janeiro','fevereiro','marco','maio','abril','junho',
                   'julho','agosto','setembro','outubro','novembro',
                   'dezembro'};
     for(int x=0; x<12; x++){
          vet[x]=x;
     }
     return vet[num];
}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Codigo arrumado so compilar

#include <stdio.h>
#include <conio.h>
#include <string.h>

char mes(int num, char msg[]);

main(){
    int n;
    char ret[20];
    
    printf("Digite um numero: ");
    scanf("%i",&n);
    
    mes(n, ret);
    
    printf("Mes Correspondente: %s", ret);
    getch();
}

char mes(int num, char msg[])
{
     char vet[13][20] = {"NULL", "janeiro", "fevereiro", "marco", "maio", "abril", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"};
     strcpy(msg, vet[num]);
}

não tem como passar string pelo return

toda string tem que ter "" não '' você tem que enviar o ponteiro o char para a funcão e usando strcpy copiar o vetor para a msg

sem precisar retorna a memoria da ret sera mudada para a string que estiver no numero

exemplo

vet[1] = "janeiro"

copiar vet[1] para msg

pronto ^^

espero ter ajudado

Editado por ce1o2e
Link para o comentário
Compartilhar em outros sites

  • 0

Correção:

char mes(int num, char msg[])
{
    
     char vet[12][20] = {"janeiro", "fevereiro", "marco", "maio", "abril", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"};
     strcpy(msg, vet[num-1]);
}

Editado por GoMeS®
Link para o comentário
Compartilhar em outros sites

  • 0
Correção:

char mes(int num, char msg[])
{
    
     char vet[12][20] = {"janeiro", "fevereiro", "marco", "maio", "abril", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"};
     strcpy(msg, vet[num-1]);
}
Desculpe Correção sua tambem uhauhauha
char mes(int num, char msg[])
{
    num -= 1
     char vet[12][20] = {"janeiro", "fevereiro", "marco", "maio", "abril", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"};
     strcpy(msg, vet[num]);
}

@edit

ops a sua tambem estava certo desculpe ai estou com sono xD

Editado por ce1o2e
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...