Sequential
char fname[20];
NODE *p,*q; int
nob=0,i,j;
printf("Enter file name to be deleted:");
scanf("%s",fname);
p = q = first;
while(p!=NULL)
{
if(strcmp(p->fname,fname)==0)
break;
q=p; p=p-
next;
}
if(p==NULL)
{
printf("File %s not found.\n",fname);
return;
}
i = p-
start;
while(i!=-1)
{
nob++;
j = i; i =
bit[i]; bit[j] = 0;
}
fb+=nob;
if(p==first) first=first-
next;
else if(p==last)
{
last=q;
last->next=NULL;
}
else q->next = p-
next;
free(p);
printf("File %s deleted successfully.\n",fname);
}
int main()
{ int
ch;
init();
while(1)
{
printf("1.Show bit vector\n");
printf("2.Create new file\n");
printf("3.Show directory\n");
printf("4.Delete file\n");
printf("5.Exit\n"); printf("Enter
your choice (1-5):");
scanf("%d",&ch);
switch(ch)
{
case 1:
show_bitvector();
break;
case 2:
create();
break; case
3:
show_dir();
break; case
4: delete();
break; case
5: exit(0);
}
}
return 0;
}