小弟我的程序如何改才能保存数据,在下次打开时还能看到数据呢.

我的程序怎么改才能保存数据,在下次打开时还能看到数据呢. ?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MaxSize 50
typedef struct chain
{  
int number;  
char name[MaxSize];
float price;
int count;
int pnum;
int pprice;
int pcount;
struct chain *p,*q;  
}DLL;

DLL *head=NULL;

void show_one(DLL *n) /* 输出一条记录 */
{
printf("%d\t%s\t%f\t%d\n", n->number, n->name, n->price,n->count);
}

void show() /* 输出所有记录 */
{
DLL *h=head;

if(head==NULL)
{
return;
}

while (h)
{
show_one(h);
h=h->q;
}
}

int insert()
{
DLL *h=head,*n;
n=(DLL *)malloc(sizeof(DLL));
n->p=NULL;
n->q=NULL;
printf("请输入产品编号:");
scanf("%d", &n->number);
printf("请输入产品名称:");
scanf("%s", n->name);
printf("请输入产品价格:");
scanf("%f",&n->price);
printf("请输入产品数量:");
scanf("%d", &n->count);
if(head==NULL)
{
head=n;
return 1;
}
while(h)
{
if(h->number > n->number)
{
if(h->p)
h->p->q=n;
n->p=h->p;
h->p=n;
if(h->q)
h->q->p=n;
n->q=h;
return 1;
}
else if(h->number==n->number)
{
free(n);
return 0;
}

if (!h->q)
{
h->q=n;
n->p=h;
return 1;
}
h=h->q;
}
return 1;
}

void initial()
{
while (1)
{
printf("\n\n\n\n\n\n\n\n\n\-------------------------欢迎来到库存管理系统,按y进入主菜单-------------------\n");
if(getch()==121)
break;
}
}

int delet()
{
int num;
DLL *h=head;

printf("请输入要删除产品的编号:");
scanf("%d", &num);

if(head==NULL)
{
return 0;
}
while(h)
{
if(h->number==num)
{

if(h->p)
h->p->q=h->q;
if(h->q)
h->q->p=h->p;
if(h==head)
{
head=h->q;
free(h);
return 1;
}
}
h=h->q;
}
return 0;
}

int update()
{
int num, counter;
DLL *h= head;
printf("请输入要修改产品的编号:");
scanf("%d", &num);
printf("请输入要修改产品的数量:");
scanf("%d", &counter);

if(head==NULL)
{
return 0;
}

while(h)
{
if(h->number == num)
{

if (counter==0)
{
if(h->p)
h->p->q=h->q;
if(h->q)
h->q->p=h->p;
head=h->q;
free(h);

return 1;
}
h->count=counter;
return 1;

}
h=h->q;
}
return 0;
}

void search()
{
int num;
DLL *h=head;

printf("请输入要查找产品的编号:");
scanf("%d", &num);

if(head==NULL)
{
return;
}

while (h)
{
if(h->number==num)
{
show_one(h);
return;
}
h=h->q;
}
}

void search_name()
{
char name[MaxSize];
DLL *h=head;
printf("请输入要查找产品的名称:");
scanf("%s", name);

if(head==NULL)
{
return;
}

while(h)
{
if(!strcmp(h->name,name))
show_one(h);
h=h->q;
}
}
int main()
{
initial();