yêu cầu đề bài là chèn một địa chỉ vào một sổ địa chỉ ở vị trí bất kỳ
code mình lam như thế này ko biết sai chỗ nào
#include <alloc.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct elementtype
{
char name[30];
char mssv[8];
};
typedef struct pointertype {
elementtype inf;
pointertype *next;};
pointertype *insert_middle (pointertype *pred,elementtype x)
{
pointertype *tempnode;
tempnode = (pointertype *) malloc (sizeof (pointertype));
fflush(stdin);
tempnode ->inf =x;
tempnode->next = pred->next;
pred -> next=tempnode;
return tempnode;
}
pointertype *insert_head (pointertype *first,elementtype x)
{
pointertype *tempnode;
tempnode=(pointertype *)malloc (sizeof(pointertype));
fflush(stdin);
tempnode ->inf=x;
tempnode ->next=first;
first=tempnode;
return first;
}
void display(pointertype *top)
{
int n=1;
printf("\nDanh sach hien tai:\n");
pointertype *ptr;
ptr = top;
while (ptr!=NULL)
{

printf ("\n so thu tu %d" , n);
printf ("\n ho va ten:%c" , ptr->inf.name);
printf ("\n ma so sinh vien:%c",ptr->inf.mssv);
ptr = ptr->next;
n++;
}

}
int main()
{
pointertype *s1,*s2,*s3,*v1,*v2,*v3;
elementtype a,b;
int j=1,n;
int i=1,k;
s1 = NULL;
printf (" \n so thu tu 1:");
printf (" \n ho va ten:");
scanf ("%c",&a.name);
printf (" \n ma so sinh vien:");
scanf ("%c",&a.mssv);
s1=insert_head (s1,a);
v1=s1;
while (i==1)
{
j++;
printf ("\n so thu tu %d" , j);
printf ("\n ho va ten:");
scanf ("%c",&a.name);
printf ("\n ma so sinh vien:");
scanf ("%c",&a.mssv);
v1=insert_middle (v1,a);
printf ("\n ban co nhap nua ko neu co an 1,neu khong an 0");

scanf ("%d",&i);
if (i==0)
break;
}
display(s1);
v2=s1;
printf ("\n xin moi ban nhap vi tri can them(se them vao truoc phan tu do):");
scanf ("%d",&k);
if (k>j)
{
printf ("\n khong co phan tu nao trong danh sach o vi tri %d:",n);
}
else
{
printf ("\nmoi ban nhap thong tin cua sinh vien can them:");
printf ("\n ho va ten:");
scanf ("%c",&b.name);
printf ("\n ma so sinh vien:");
scanf ("%c",&b.mssv);
while (i<k)
{
v2=v2->next;
i++;
}
v2=insert_middle (v2,b);
}
j=j+1;
display (s1);
getch();
}



ai biết xin chỉ giúp