What is wrong? NEED HELP `calendario' undeclared (first use this function)
#include <stdio.h>
#include <stdlib.h>


int dias_do_mes[12]={31,28,31,30,31,30,31,31,30,31,30,31}

typedef struct
{
        int dia, mes, ano;
}data;
  
void rddia(data* d)
{
     do
     {
                printf("dia[1,31]?");
                scanf("%d",&(*d).dia);
     }
     while((*d).dia>1||(*d).dia<31);
}

void rdmes(data* d)
{
     do
     {
                printf("mes[1,12]?");
                scanf("%d",&(*d).mes);
     }
     while((*d).mes>1 || (*d).mes<12);
}

void rdano(data* d)
{
     do
     {
                printf("ano[>1581]?");
                scanf("%d",&(*d).ano);
     }
     while((*d).ano<1582);
}

int bissexto(data d)
{
    if((d.ano%100)==0)
    {
                      return((d.ano%400)==0);
    }
    else
        {
        return((d.ano%4)==0);
        }
}

int nbissextos(data d)
{
    int nb, seculos, quatrocentos;
    nb=(d.ano-1581)/4;
    seculos=(d.ano-1581)/100;
    quatrocentos=(d.ano-1201)/400;
    nb=nb-seculos+quatrocentos;
    return nb;
}

int um_de_janeiro (data d)
{
    return(5+(d.ano-1582)+nbissexto(d))%7;
}

int um_de_mes (data d)
{
    int i, primeiro_dia;
    primeiro_dia=um_de_janeiro(d);
    for (i=1;i<d.mes;i++)
        primeiro_dia=primeiro_dia+dias_do_mes[i-1];
    if(d.mes>2&bissexto(d))primeiro_dia++;
    return primeiro_dia%7;
}

void calendario (void)
{
     int i; dm, pd, posição=0;
     data d;
     rdano(&d);
     rdmes(&d);
     printf("\n");
     dm=dias_do_mes[(d.mes)-1];
     if(d.mes==2 && bissexto(d)) dm++;
     pd=um_de_mes(d);
     printf("D S T Q Q S S \n");
     for(i=0;i<dm+pd;i++)
                         {
                                if(i<pd)
                                        printf(" ");
                                else
                                        printf("%3d", i-pd+1);
                                posição++;
                                if(posição%7==0) printf("\n");
                         }
                         printf("\n");
}                                   

What is wrong? NEED HELP `calendario' undeclared (first use this function)
===

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


int dias_do_mes[12]={31,28,31,30,31,30,31,31,30,31,30,31}

typedef struct
{
        int dia, mes, ano;
}data;
  
void rddia(data* d)
{
     do
     {
                printf("dia[1,31]?");
                scanf("%d",&(*d).dia);
     }
     while((*d).dia>1||(*d).dia<31);
}

void rdmes(data* d)
{
     do
     {
                printf("mes[1,12]?");
                scanf("%d",&(*d).mes);
     }
     while((*d).mes>1 || (*d).mes<12);
}

void rdano(data* d)
{
     do
     {
                printf("ano[>1581]?");
                scanf("%d",&(*d).ano);
     }
     while((*d).ano<1582);
}

int bissexto(data d)
{
    if((d.ano%100)==0)
    {
                      return((d.ano%400)==0);
    }
    else
        {
        return((d.ano%4)==0);
        }
}

int nbissextos(data d)
{
    int nb, seculos, quatrocentos;
    nb=(d.ano-1581)/4;
    seculos=(d.ano-1581)/100;
    quatrocentos=(d.ano-1201)/400;
    nb=nb-seculos+quatrocentos;
    return nb;
}

int um_de_janeiro (data d)
{
    return(5+(d.ano-1582)+nbissexto(d))%7;
}

int um_de_mes (data d)
{
    int i, primeiro_dia;
    primeiro_dia=um_de_janeiro(d);
    for (i=1;i<d.mes;i++)
        primeiro_dia=primeiro_dia+dias_do_mes[i-1];
    if(d.mes>2&bissexto(d))primeiro_dia++;
    return primeiro_dia%7;
}

void calendario (void)
{
     int i; dm, pd, posição=0;
     data d;
     rdano(&d);
     rdmes(&d);
     printf("\n");
     dm=dias_do_mes[(d.mes)-1];
     if(d.mes==2 && bissexto(d)) dm++;
     pd=um_de_mes(d);
     printf("D S T Q Q S S \n");
     for(i=0;i<dm+pd;i++)
                         {
                                if(i<pd)
                                        printf(" ");
                                else
                                        printf("%3d", i-pd+1);
                                posição++;
                                if(posição%7==0) printf("\n");
                         }
                         printf("\n");
}                                   
