Ir para conteúdo
Marcos Silvestre

Linguagem C - semana/dia

Recommended Posts

ENUNCIADO: Crie um programa que leia o dia do mês e o dia da semana atual. O programa deverá retornar a seguinte frase: O primeiro dia do mes foi XXXXXXXX Onde XXXXXXXX corresponde ao dia-da-semana. Exemplo: dia-da-semana = segunda-feira e dia-do-mês = 09: o programa deve retornar "O primeiro dia do mes foi domingo". Para isso, use uma enumeração denindo os dias da semana, além de um array de strings que contenha os nomes dos dias: {"domingo", "segunda-feira", . . .}

 

tenho que usar enum para as semanas ( enum semana {Domingo = 1,Segunda = 2,Terca = 3,Quarta = 4,Quinta = 5,Sexta = 6,Sabado = 7} ) mas eu não sei o que fazer para "calcular" a semana que cai o primeiro dia do mes eu pensei em descobrir uma equacao ou algo do tipo mas não consegui, pensei em usar for mas não resolve, tem como me ajudar apenas nesse passo, o resto eu sei fazer, obg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A enumeração com os números dos dias da semana nesse programa é desnecessária pois no array de strings com os nomes dos dias o índice desse array já é esses números. 

#include<string.h>

enum semana{domingo=0,segunda=1,terca=2,quarta=3,quinta=4,sexta=5,sabado=7};//Dispensavel. Pode ser retirado do programa.

char nomesdosdias[7][8];

int main(){
  int diadomes, diadasemana;
  strcpy(nomesdosdias[0],"domingo");
  strcpy(nomesdosdias[1],"segunda");
  strcpy(nomesdosdias[2],"terca");
  strcpy(nomesdosdias[3],"quarta");
  strcpy(nomesdosdias[4],"quinta");
  strcpy(nomesdosdias[5],"sexta");
  strcpy(nomesdosdias[6],"sabado");
  printf("Digite o dia do mes:");
  scanf("%d",&diadomes);
  printf("Digite o dia da semana:");
  printf("\n1.Domingo");
  printf("\n2.segunda");
  printf("\n3.terca");
  printf("\n4.quarta");
  printf("\n5.quinta");
  printf("\n6.sexta");
  printf("\n7.sabado");
  scanf("%d",&diadasemana);
  while(diadomes>1){
    diadomes--;
    if(diadasemana>1)
      diadasemana--;
    else
      diadasemana=7;
  }
  printf("O primeiro dia do mes e: %s",nomesdosdias[diadasemana-1]);  
  system("pause");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

  • Conteúdo Similar

    • Por melin
      Olá, estou com uma dúvida nesta questão que necessita da utilização de struct. A minha dúvida é como juntar as duas estruturas e compara-las para que seja imprimido o nome e sobrenome junto com a nota. Outra dúvida é o meu ciclo for que não é inicializado.
      Escreva um programa que preencha, a partir do teclado, duas estruturas distintas do tipo vetor com os nomes e as notas (as notas têm de estar contidas no intervalo 0 ≤ nota ≤ 10) dos alunos, respectivamente, de uma turma de 100 alunos. Após, exteriorize somente os nomes dos alunos que obtiveram notas iguais ou maiores que 5 (cinco).
       
      #include <stdio.h> struct nome { char nome; char sobrenome; }; struct nota{ int nota; }; int main(void){ int i,j,h; struct nome aluno[2]; struct nota boletim[2]; for (i = 0; i < 2; ++i){ printf("Digite o nome do Aluno\n"); scanf("%s%s", &aluno[i].nome, &aluno[i].sobrenome); printf("Digite a nota do Aluno\n"); scanf("%i", &boletim[i].nota); } for (i = 0; i < 2; ++i){ if (boletim[i].nota >= 2){ printf("O Aluno %s %s tem foi aprovado com nota %i", aluno[i].nome, aluno[i].sobrenome, boletim[i].nota); } } system("pause"); return 0; }  
    • Por lara1807
      Boa noite pessoal, preciso resolver um algoritmo que o código abaixo descreve. Eu possuo um vetor de porcentagens e cada porcentagem dessas é atribuida de um valor do vetor entrada_pop. Nesse programa eu quero gerar um numero aleatório e ver as porcentagens que são maiores que esse numero aleatório e armazenar o valor, não da porcentagem, mas do valor que representa a porcentagem, em um vetor novo, depois imprimir este vetor, só que não está indo. Alguém pode me ajudar?? Estou variando os valores de 0 a 100
      #include <time.h>
      #include<math.h>
      #define num_individuo 3
      #define tam_vetores 1000
      int main()
      {
          float valor_percen_aptidao[]={6,20,80},v_selecionado[100],vetor_entrada_pop[]={1,2,3};
          int cont=0,i,valor_percen;
          srand(time(NULL));
          while(cont<=num_individuo)
          {
              valor_percen=(rand()%100);
              printf("sorteado %d",valor_percen);
              for(i=0;i<num_individuo;i++)
              {
                  if(valor_percen_aptidao[1]>=(float)valor_percen)
                  {
                      v_selecionado[cont]=vetor_entrada_pop;
                      cont++;
                  }
              }
          }
           for(i=0;i<num_individuo;i++)
          {
              printf("selecionados %.2f \n",v_selecionado);
          }
      }
       
    • Por novo na programação
      O sistema consiste em ler os dados cadastrados (valores estáticos) de uma entrevista e
      fornecer as informações para as seguintes perguntas:
       
      1 - Quantidade de mulher e homens na área? (% de cada sexo)
      2 - Faixa etária? (Menor e maior idade por sexo). Criar um vetor idade para cada sexo.
      3 - Quem ganha mais? Homem ou Mulher? (Comparar médias de salários)
      4 - Quem é mais especializado? (Comparar quantidade com pós-graduação %)
       
      Ex1. Perguntas?
      Sexo (1- H, 2-M)
      Idade (?)
      Salário (?)
      Possui pós-graduação? (1-S, 2-N)

      Entrada (estática)

      Entrevistado 1
      Sexo = 1
      Idade = 19
      Salário = 4.000,00
      Possui pós-graduação = 2

      Entrevistado 2
      Sexo = 2
      Idade = 25
      Salário = 3.000,00
      Possui pós-graduação = 1

      Entrevistado 3
      Sexo = 1
      Idade = 18
      Salário = 5.000,00
      Possui pós-graduação = 2

      Entrevistado 4
      Sexo = 1
      Idade = 23
      Salário = 6.000,00
      Possui pós-graduação = 1 

      Entrevistado 5
      Sexo = 2
      Idade = 30
      Salário = 2.000,00
      Possui pós-graduação = 1

      SAÍDA
      1 - Quantidade de mulher e homens na área?
      60% homens e 40% mulheres
      2 - Faixa etária?
      homens (18-23) e mulheres (25-30)
      3 - Quem ganha mais? Homem ou Mulher?
      Homens (média 5.000,00) e Mulheres (média 2.500,00)
      4 - Quem é mais especializado?
      homens - 33% e mulheres - 100%
      Cálculo = qtdhomens com pós/qtdhomens *100
    • Por Lucas00
      ALGUÉM PODE ME AJUDAR?
      Escreva um programa que seja capaz de ler uma Matriz (4x4) e um valor x qualquer. O programa deverá fazer uma busca por esse valor x na Matriz e, ao final, escrever a localização (linha e coluna) do valor na Matriz. Caso o valor lido (x) não exista na Matriz, uma mensagem de “não encontrado” deverá ser exibida ao usuário.
    • Por Lucas00
      Escreva um programa que seja capaz de ler uma Matriz (4x4) e um valor x qualquer. O programa deverá fazer uma busca por esse valor x na Matriz e, ao final, escrever a localização (linha e coluna) do valor na Matriz. Caso o valor lido (x) não exista na Matriz, uma mensagem de “não encontrado” deverá ser exibida ao usuário.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.