Lógica, perguntado por nellybm2005pe36hc, 4 meses atrás

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

Respondido por AdenilsondePaiva
0

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.

Perguntas interessantes