Friday, 26 January 2018

Write a program to implement CRC Generator and checker. GTU

//receiver
#include<stdio.h>
#include<string.h>
main()
{
    FILE *fp;
    fp=fopen("TEXT.txt","r");
    char a[20],b[20];
    int i,j,l,l1;
    fscanf(fp,"%s",b);
    printf("RECEIVED BINARY DIGIT : ");
    fscanf(fp,"%s",a);
    printf("%s\n",a);
    printf("ENTERED DIVISOR:");
    printf("%s",b);
    l=strlen(a);
    l1=strlen(b);
    char r[l1],temp[l1];
    for(i=0;i<l1;i++)
    {
        temp[i]=a[i];
    }
    for(i=l1-1;i<l;i++)
    {
        if(temp[0]=='1')
        {
            for(j=0;j<l1;j++)
            {
                if(temp[j]==b[j])
                {
                    r[j]='0';
                }
                else
                {
                    r[j]='1';
                }
            }
        }
        else
        {
            for(j=0;j<l1;j++)
            {
                r[j]=temp[j];
            }
        }
        r[j]='\0';
        for(j=0;j<l1-1;j++)
        {
            temp[j]=r[j+1];
        }
        temp[j]=a[i+1];
        temp[j+1]='\0';
    }
    i=0;
    while(r[i]!='\0')
    {
        if(r[i]!='0')
        {
            printf("\n\t****RECEIVED BINARY DIGITS IS INCORRECT****");
            goto A;
        }
        i++;
    }
    printf("\n\t****RECEIVED BINARY DIGITS IS CORRECT****");
    printf("\n\nBINARY STRING IS: ");
    for(i=0;i<l-l1+1;i++)
    {
        printf("%c",a[i]);
    }
    A:
    fclose(fp);
}


//sender
#include<stdio.h>
#include<string.h>
main()
{
    FILE *fp;
    fp=fopen("TEXT.txt","w");
    char a[20],b[20];
    int i,j,l,l1;
    printf("ENTER THE BINARY DIGIT : ");
    scanf("%s",a);
    printf("ENTER DIVISOR:");
    scanf("%s",b);
    fprintf(fp,"%s ",b);
    l=strlen(a);
    l1=strlen(b);
    for(i=l;i<l+l1-1;i++)
    {
        a[i]='0';
    }
    char r[l1],temp[l1];
    for(i=0;i<l1;i++)
    {
        temp[i]=a[i];
    }
    for(i=l1-1;i<l+l1-1;i++)
    {
        if(temp[0]=='1')
        {
            for(j=0;j<l1;j++)
            {
                if(temp[j]==b[j])
                {
                    r[j]='0';
                }
                else
                {
                    r[j]='1';
                }
            }
        }
        else
        {
            for(j=0;j<l1;j++)
            {
                r[j]=temp[j];
            }
        }
        r[j]='\0';
        for(j=0;j<l1-1;j++)
        {
            temp[j]=r[j+1];
        }
        temp[j]=a[i+1];
    }
    j=1;
    for(i=l;i<l+l1-1;i++)
    {
        a[i]=r[j];
        j++;
    }
    a[i]='\0';
    printf("DATA SEND: %s",a);
    fprintf(fp,"%s",a);
    fclose(fp);
}

No comments:

Post a Comment

It's time To increase blogging capability. To have a chance to contribute in digital world. Any Interested People who want to make t...