All pastes #252549 Raw Edit

Miscellany

public text v1 · immutable
#252549 ·published 2006-11-19 18:15 UTC
rendered paste body
# cat data.c
#include <stdio.h>
int dia,mes,ano,n,i,cont,bis;
main(){
        int dia_(){
                printf("Digite um dia do mes: ");
                scanf("%d",&dia);
        }
        int mes_(){
                printf("Digite um mes do ano(de 1 a 12): ");
                scanf("%d",&mes);
        }
        int ano_(){
                printf("Digite um ano entre 1900 e 2100: ");
                scanf("%d",&ano);
        }
        dia_();
        mes_();
        ano_();
        if ((dia<1)||(dia>31))
        {
                printf("O dia digitado nao eh valido, digite um dia entre 1 e 31");
                dia_();
        }
        if ((mes<1)||(mes>12))
        {
                printf("O mes digitado nao eh valido, digite um ano entre 1 e 12");
                mes_();
        }
        if ((ano<1900)||(ano>2100))
        {
                printf("O ano digitado nao eh valido, digite um ano entre 1900 e 2100");
                ano_();
        }
        if (((ano%4==0)&&(ano%100!=0))||(ano%400==0))
        {
                bis=1;
                if ((mes==2)&&(dia>29))
                {
                        printf("Fevereiro nao tem dia 30 nem dia 31!");
                        dia_();
                        mes_();
                }
        }
        else
        {
                bis=0;
                if ((mes==2)&&(dia>28))
                {
                        printf("Fevereiro nao tem dias maiores que 28 em anos nao bissextos");
                        dia_();
                        mes_();
                }
        }
        if (((mes==4)||(mes==6)||(mes==9)||(mes==11))&&(dia==31))
        {
                printf("Nao esqueca! abril, junho, setembro e novembro so tem 30 dias");
                dia_();
        }
        switch (mes)
        {
                case 1:
                        printf("%d\n",dia);
                        break;
                case 2:
                        printf("%d\n",dia+31);
                        break;
                default:
                        for (i=1;i<=mes;i++){
                                if ((i==4) || (i==6) || (i==9) || (i==11))
                                {
                                        cont++;
                                }
                        }
                if (bis==1)
                {
                        n=31*cont+29+(mes-cont-1)*30;
                }
                else
                {
                        n=31*cont+28+(mes-cont-1)*30;
                }
                printf("%d\n",n);
        }
}