Jump to content
Fórum Script Brasil
  • 0

Ajuda com programa C


ntzs
 Share

Question

Bom dia.

Tenho um programa em C, que calculo a data da Páscoa e imprimo o calendário de tal ano, que seja igual à este:

aFz06ay.jpg?1

Eu já calculei a data da Páscoa e se o ano é bissexto ou não.

Agora, necessito obter o dia 1 de janeiro do tal ano e depois imprimir os meses na tela.

Alguma pessoa poderia me ajudar?

Edited by ntzs
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Você disse que tem um programa que calcula datas e disse tambem que já calculou uma data( a pascoa) e porque não calcular a segunda como calculou a primeira(pascoa)?

formule melhor sua pergunta Eu não consegui entender o seu propósito.

Se possível poste o código pra todos que lerem este post entender.

Edited by Barao
Link to comment
Share on other sites

  • 0


Você disse que tem um programa que calcula datas e disse tambem que já calculou uma data( a pascoa) e porque não calcular a segunda come fez com a primeira?

formule melhor sua pergunta Eu não consegui entender o seu propósito.

Se possível poste o código pra todos que lerem este post entender.


Desculpe.
Eu tenho um pedaço do código, onde preciso fazer esse programa. Eu já calculei a data da Páscoa e também já calculei se o ano é bissexto ou não. Agora eu não consigo calcular desse dia até o dia primeiro de janeiro! Vou enviar o code.

#include <stdio.h>
int main(){
int g, c, x, z, e, n, d, y;
scanf("%d",&y);
g=(y%19)+1; //Condicao I
c=(y/100)+1; //Condicao II
x=((3*c)/4)-12; //Condicao III
z=(((8*c)+5)/25)-5; //Condicao IV
e=((11*g)+20+z-x)%30; //Condicao V
if ((e==25 && g>11)||(e==24)) //Condicao VI
e++;
n=(44-e); //Condicao VII
if(n<21)
n=n+30;
d=((5*y)/4)-(x+10); //Condicao VIII
n=(n+7)-((d+n)%7); //Condicao IX
if(n>31){
printf("A pascoa sera dia %d de abril",(n-31));
}
else
printf("A pascoa sera dia %d de marco",n);
}
(Os printf foram só para testes.)
Edited by ntzs
Link to comment
Share on other sites

  • 0

Uma outra parde do meu código, só falta imprimir tudo bonitinho.

#include <stdio.h>
int main(){
int g, c, x, z, e, n, d, y, dia=1, mes=1, i, j=0, diasem=0, diasem2=0,k=0,a=0, l=0,k2=0,dia2=1;
char barra[40];
char bis;
scanf("%d",&y);
printf("Calendario do ano de %d\n",y);
g=(y%19)+1; //Condicao I
c=(y/100)+1; //Condicao II
x=((3*c)/4)-12; //Condicao III
z=(((8*c)+5)/25)-5; //Condicao IV
e=((11*g)+20+z-x)%30; //Condicao V
if ((e==25 && g>11)||(e==24)) //Condicao VI
e++;
n=(44-e); //Condicao VII
if(n<21)
n=n+30;
d=((5*y)/4)-(x+10); //Condicao VIII
n=(n+7)-((d+n)%7); //Condicao IX
if(n>31){
n=n-31;
}
else
n=n;
if (y%100==0)
y=y/100;
if (y%4==0){
bis='s';
a=(n+31+29+31+30)%7;
a--;
}
else{
bis='n';
a=(n+31+28+31+30)&7;
a--;
}
i=1;
barra[0]='|';
while (i<29){
barra='-';
i++;
}
barra='-';
switch (mes){
case 1:
printf("%s%s\n",barra,barra);
printf("|Janeiro ||Fevereiro |\n");
printf("%s%s\n",barra,barra);
printf("| dom seg ter qua qui sex sab || dom seg ter qua qui sex sab |\n");
while(j<6){
printf("|");
while(k<7){
if((k>=a)&&(dia>=1)&&(dia<=31)){
if ((dia>=1)&&(dia<=9)){
printf(" 0%d",dia);
dia++;
k++;
}
else{
printf(" %d",dia);
dia++;
k++;
}
}
else{
printf(" --");
k++;
}
}
printf(" ||\n");
a=0;
k=0;
j++;
}
}
j=0;
dia=1;
printf("%s%s\n",barra,barra);
mes++;
}
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...