делает
fp=fopen("sym.dat","ab");
вы открываете файл для записи в него с конца, а не для чтения в нем, поэтому проверка в while((fread(&a,sizeof(struct node),1,fp))==1)
сразу ложна и вы не печатаете "Белло" «
сделать
fp=fopen("sym.dat","rb");
и проверьте, что fp не равен NULL.
fseek бесполезен, когда вы открываете его, вы находитесь в его начале
Не забудьте закрыть файл
Если вам нужно прочитать и написать в нем, откройте его с флагами "rb +", fseek все еще бесполезен.