Beruflich Dokumente
Kultur Dokumente
{
printf("enter binary digits");
goto top;
}
}
}
top1:
printf("\nEnter 2nd Dataword: ");
gets(b);
if(strlen(b)!=7)
{
printf("Invalid Data");
goto top1;
}
else
{
for(i=0;i<strlen(b);i++)
{
if(b[i]=='1' || b[i]=='0')
continue;
else
{
printf("enter binary digits");
goto top1;
}
}
}
top2:
printf("\n3rd Enter Dataword: ");
gets(c);
if(strlen(c)!=7)
{
printf("Invalid Data");
goto top2;
}
else
{
for(i=0;i<strlen(c);i++)
{
if(c[i]=='1' || c[i]=='0')
continue;
else
{
printf("enter binary digits");
goto top2;
}
}
}
l=strlen(a);
for(i=0;i<l;i++)
{
c1=c2=c3=0;
if(a[i]=='1')
c1++;
if(b[i]=='1')
c2++;
if(c[i]=='1')
c3++;
e=c1+c2+c3;
if(e%2==0)
d[i]='1';
else
d[i]='0';
}
for(i=0;i<l;i++)
{
printf("%c",d[i]);
}
d[i]='\0';
strcat(a,b);
strcat(a,c);
strcat(a,d);
printf("\nLRC: ");
puts(a);
getch();
//calculation of frames
}
}
if(count%2==0)
msg[i][j]=0;
else
msg[i][j]=1;
}
printf("\n\nCalculation of LRC:\n\n");
for(i=0;i<frames;i++)
{
for(j=0;j<=7;j++)
{
printf("%d ",msg[i][j]);
}
printf("\n\n");
}
printf("\n\n\n Data sent:\t");
for(i=0;i<frames;i++)
{
for(j=0;j<=7;j++)
{
printf("%d",msg[i][j]);
}
printf(" ");
}
}
int receiver()
{
int i,j,k,cnt,f1=0;
printf("\n\n\t\t---------------Receiver Side---------------\n\n");
printf("\n\nEnter Data received : ");
scanf("%s",data);
//accept data in character format
len=strlen(data);
//length of character data
for(i=0; i<len; i++)
{
fram[i]=(int)data[i];
fram[i]=fram[i]%48;
}
frames=len/8;
//frames=len/7; in sender
{
if(k<len)
{
for(j=0; j<8; j++)
{
m[i][j]=fram[k];
k++;
}
}
}
for(i=0;i<frames;i++)
// checking parity bit
{
cnt=0;
for(j=0;j<8;j++)
{
if(m[i][j]==1)
{
cnt++;
}
}
if(cnt%2==0)
{
if(m[i][j]==0)
f1=1;
else
{
f1=0;
printf("\n\nData rejected...(1)!!!");
return(0);
}
}
else
{
if(m[i][j]==1)
f1=1;
else
{
f1=0;
printf("\n\nData rejected...!!!");
return(0);
}
}
}
if(f1==1)
{
printf("\n\nOriginal data : ");
for(i=0;i<frames;i++)
{
for(j=0;j<=6;j++)
{
printf("%d",m[i][j]);
}
printf(" ");
}
}
printf("\n\nData accepted...");
return 0;
}
void main()
{
clrscr();
sender();
receiver();
getch();
}
Output: