#include< stdio.h>
#include< conio.h>
#include< string.h>
void main()
{
int i,j,a=0;
char sdata[17],stuff[40],rdata[17];
clrscr();
printf("Enter the data in the form of 16 bits : ");
gets(sdata);
printf("\nSender frame : ");
puts(sdata);
for(i=0,j=0;j <16;j++)
{
if(sdata[j]=='1')
{
a=a+1;
if((a==5)&&(sdata[j+1]=='0'))
{
stuff[i]=sdata[j];
i++;
stuff[i]='0';
a=0;
i++;
}
else if(a==6)
{
stuff[i]='0';
a=0;
i++;
j--;
}
else
{
stuff[i]=sdata[j];
i++;
}
}
else
{
stuff[i]=sdata[j];
i++;
a=0;
}
}
stuff[i]='\0';
printf("\nSender frame with bit stuffed : ");
puts(stuff);
a=0;
i=0;
for(j=0;stuff[j]!='\0';j++)
{
if(stuff[j]=='1')
{
a=a+1;
if(a==5)
{
a=0;
rdata[i]=stuff[j];
j++;
i++;
}
else
{
rdata[i]=stuff[j];
i++;
}
}
else
{
a=0;
rdata[i]=stuff[j];
i++;
}
}
rdata[i]='\0';
printf("\nThe reciever data without stuffed bit is : ");
puts(rdata);
if(strcmp(sdata,rdata)==0)
printf("\nTransmission successful");
else
printf("\nTransmission error");
getch();
}
0 comments:
Post a Comment