Gostaria de ajudar neste código em Linguagem C
Criar uma função para receber uma string (3 caracteres) que pode assumir um valor entre seg, ter, qua, qui, sex, sab e dom,
e retornar os seguintes valores, respectivamente: segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado, domingo,
ou “erro” se a entrada for inválida.
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <string.h>
char *diaDaSemana(char* sigla);
void main()
{
char entrada[20];
printf("Qual a sigla (seg ... dom): ");
scanf("%s", entrada);
printf("Dia por extenso = ");
puts(diaDaSemana(entrada));
}
char *diaDaSemana(char* sigla)
{
if ( !strcmp(sigla, "seg") ) return "segunda-feira";
if ( !strcmp(sigla, "ter") ) return "terça-feira";
if ( !strcmp(sigla, "qua") ) return "quarta-feira";
if ( !strcmp(sigla, "qui") ) return "quinta-feira";
if ( !strcmp(sigla, "sex") ) return "sexta-feira";
if ( !strcmp(sigla, "sab") ) return "sábado";
if ( !strcmp(sigla, "dom") ) return "domingo";
return "erro";
}
Explicação: Aqui estamos usando ponteiros para endereçar as strings que queremos mudar e a variável !strcmp que faz a conversão de uma string para outra, inclusa na biblioteca <string.h>. Qualquer dúvida estou a disposição.