Ir ao conteúdo

C Programa que retorne qual dia da semana aquela data corresponde.


Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Postado

Quero criar um programa em c no qual o usuário digite o dia do ano no formato mes/dia e o programa retorne qual dia da semana essa data cairá.

Eu pensei em resolver esse problema criando um vetor de tamanho 365, e criei uma estrutura de repetição para preencher esse vetor com 1 até 7(começando com o numero 7 pois o ano 2022 começa em um sábado). No entanto, parece que meu programa ficou em laço, e não consigo entender o porque. Aquele printf no final era só para eu tentar entender o que estava acontecendo.

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

#define SUCESSO 0
#define tVetor 365

  int main(int argc, char **argv)
{
  int ano[tVetor];
  int i;
  
  for(i = 0; i < tVetor; i + 7){
      ano[i] = 7;
       if(ano[i] = 7 && i < 364){
           ano[i + 1] = 1;
           ano[i + 2] = 2;
           ano[i + 3] = 3;
           ano[i + 4] = 4;
           ano[i + 5] = 5;
           ano[i + 6] = 6;
       }
  } 
   
   printf("%d", ano[56]);
   
   
  return SUCESSO;
}

 

  • Curtir 1
  • Solução
Postado

@samucao82

1 hora atrás, samucao82 disse:
for(i = 0; i < tVetor; i + 7)

O incremento funciona de modo a atualizar o valor do índice:

for(i = 0; i < tVetor; i = i + 7)

Ou:

for(i = 0; i < tVetor; i += 7)

 

1 hora atrás, samucao82 disse:
ano[i] = 7;
       if(ano[i] = 7 && i < 364)

ano[i] vai ser igual a 7, a atribuição vem justamente antes do if, não precisa verificar isso. Aliás, o certo é == pra comparação, = é atribuição.

  • Curtir 1
  • Obrigado 1
Postado

@samucao82

i++ é o mesmo que i += 1, que é o mesmo que i = i + 1.

Seria um pouco estranho nos depararmos com algo assim:

for(i = 0; i < x; i = i + 1)

Quando se pode simplesmente escrever i++.

Ou ainda:

for(i = 0; i < x; i -= -1)

Mais estranho ainda. 😆

Mas nenhuma forma está errada se a ideia é incrementar o valor de i, a questão é qual forma de escrever é mais conveniente.

  • Curtir 1

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...