Parity bit sending receiving side
#include <stdio.h>
#include <stdlib.h>
int checking(char *data)
{
int i=0,num;
while (data[i]!='\0')
{
num=data[i]-48;
if (num=='0'||num=='1')
{
i++;
}
else
{
return 0;
}
}
return 1;
}
int main()
{
char data[40],rdata[40];
int i=0,count=0,check;
printf("Enter the data : \t");
scanf ("%s",data);
check=checking(&data[0]);
printf ("%d is num",check);
if (check==0)
{
printf ("Error.....\nEntered Data is Wrong");
return 0;
}
else if (check==1)
{
printf ("Entered Data is Correct.");
}
while (data[i]!='\0')
{
if (data[i]=='1')
{
count++;
i++;
}
else
{
i++;
}
}
if (count%2==1)
{
data[i]='1';
data[i+1]='\0';
printf ("\nData to be sent : %s",data);
}
else
{
data[i]='0';
data[i+1]='\0';
printf ("\nData to be sent : %s",data);
}
printf ("\n\n\n");
i=0;
count=0;
printf ("Received Data Is : \t%s",data);
while (data[i]!='\0')
{
if (data[i]=='1')
{
count++;
}
i++;
}
if (count%2==0)
{
printf ("\nEntered data is Correct.");
}
else
{
printf ("\nError...");
}
}
Comments
Post a Comment