Write a program of Vertical Redundancy Check - VRC

Header File
========
void bitptrn(char ch)
{
        int chsize,bitset;
        for(chsize=(sizeof(char)*8)-1;chsize>=0;chsize--)
        {
                bitset=1<
                if(ch & bitset)
                {
                        printf("1");
                }
                else
                {
                        printf("0");
                }
        }
}

int noof1bit(char ch)
{
        int chsize,bitset,pbit;
        for(chsize=(sizeof(char)*8)-1,pbit=0;chsize>=0;chsize--)
        {
                bitset=1 << chsize;
                if(ch & bitset)
                {
                        pbit++;
                }
        }
        return(pbit);
}

Sender Program
============
int main()
{
        char ipch;
        int pbit,pout;
        FILE *infile;
        system("clear");
        infile=fopen("data.txt","r");
        pout=open("vrcpipe","O_WRONLY");
        printf("-----------------------------------\n");
        printf("Character   BitPattern   NewPattern");
        printf("\n-----------------------------------");
        while(feof(infile)==0)
        {
                ipch=getc(infile);
                if(feof(infile)==0)
                {
                        printf("\n    %c        ",ipch);
                        bitptrn(ipch);
                        pbit=noof1bit(ipch);
                        if((pbit%2)==1)
                                pbit=1<<7;
                        else
                                pbit=0;
                        ipch=ipch|pbit;
                        printf("     ");
                        bitptrn(ipch);
                        write(pout,&ipch,sizeof(char)); //write to pipe
                }//if over
        }//while over
        fclose(infile);
        printf("\n-----------------------------------");
        printf("\n\nPress enter key to exit...\n");
        system("read x");
        system("clear");
        return(0);
}

Receiver Program
============
int main()
{
        char ipch;
        int pbit,pin;
        const int bitset=127;
FILE *pin;
        system("clear");
        pin=fopen("vrcpipe","r");
        printf("-----------------------------------\n");
        printf("Character   BitPattern   OldPattern\n");
        printf("-----------------------------------");
while()
        {
                printf("\n    %c        ",ipch);
                bitptrn(ipch);
                pbit=noof1bit(ipch);
                if((pbit%2)==1)
                {
                        printf("\n\nError : Data received is incorrect");
                        exit(0);
                }
                ipch=ipch & bitset;
                printf("     ");
                bitptrn(ipch);
        }
        printf("\n-----------------------------------");
        printf("\n\nPress enter key to exit...\n");
        system("read x");
        system("clear");
        return(0);
}