C语言仓库管理系统-数据结构 第5页
/*保存模块*/
void save(COM *head)
{ clrscr();
gotoxy(8,13);
printf("Please input saved goods'filename(limit to letter or number):");
scanf("%s",filename1);
if((fp=fopen(strcat(filename1,filename2),"wb"))==NULL) /*以二进制只写方式打开一个流*/
{printf("Fail to creat FILE!");
getch( );
return;
}
ptr1=ptr2=head;
while(ptr1!=NULL)
{if(fwrite(ptr1,sizeof(COM),1,fp)!=1)
{printf("Fail to print message to FILE!");
getch( );
return;
}
ptr1=ptr1->next;
}
fclose(fp);
gotoxy(10,24);
printf("Saving success!Press any key to back to last Menu:");
getch();
}
/*载入模块*/
COM * openfile( )
{int n=1;
scanf("%s",filename1);
if((fp=fopen(strcat(filename1,filename2),"rb"))==NULL)
{gotoxy(15,13);
printf("This filename isn't exist,please check if exist.\npress any key back to Menu");
getch( );
return(NULL);
}
if((ptr1=ptr2=(COM*)malloc(LEN))==NULL)
{printf("No enough memory,fail to creat linklist!\nPlease press any key back to Menu\n");
getch( );
return(NULL);
}
if(fread(ptr1,sizeof(COM),1,fp)!=1) /*从fp指向的流中读取1个字段,每个字段为COM的字符长,并把它们放到ptr1指向的字符数组中,文件的位置指示器随着所读取的字符数而下移*/
{printf("Fail to print message from FILE!\nPlease press any key back to Menu\n");
getch( );
return(NULL);
}
if(ptr1->next==NULL)
head=ptr1;
else
{ do
{if(n==1)
head=ptr1;
else ptr2->next=ptr1;
n=n+1;
ptr2=ptr1;
if((ptr1=(COM*)malloc(LEN))==NULL)
{printf("No enough memory,fail to creat linklist!\nPlease press any key to back to Menu\n");
getch( );return(NULL);
}
if(fread(ptr1,sizeof(COM),1,fp)!=1)
{printf("Fail to print message from FILE!\nPlease press any key to back to Menu\n");
getch( );return(NULL);
}
}while(ptr1->next!=NULL);
ptr2->next=ptr1;
}
return(head);
fclose(fp);} /*关闭文件函数*/
void main( )
{char message[ ]={" ----*The instruction of GOODS SYSTEM*----- \n\n"
" You can input many kinds of messages,and you can use \n"
" goodname as FILEname \n"
" This SYSTEM can do operation like insert or delect to the \n"
" goodsmessage that have saved,then saved again.while you \n"
" can search message depend on the goodsnub or goodsname. \n\n\n"
" ---*Welcome to enter the GOODS SYSTEM!*--- \n"
};
char menu[ ]={" ******************MENU******************** \n\n\n"
" *1.Input \n"
" *2.Output \n"
" *3.Insert \n"
" *4.Delete \n"
" *5.Search \n"
" *6.Save \n"
www.751com.cntextbackground(LIGHTGRAY);
textcolor(BLUE); /*背景为银灰色,字为蓝色*/
clrscr( );
gotoxy(4,8);
printf("%s",message);
gotoxy(10,22);
printf(" Please press any key into the Menu!");
getch( );
do
{clrscr( );
gotoxy(1,7);
printf("%s",menu);
gotoxy(10,20);
printf("please choose a number from 0 to 6:");
scanf("%d",&sel);
switch(sel)
{case 1:head=input( ); /*输入模块*/
break;
case 2:print( ); /*输出模块*/
break;
case 3:head=insert( ); /*插入模块*/
break;
case 4:head=delet( ); /*删除模块*/
break;
case 5:search( ); /*查找模块*/
break;
case 6:save(head); /*保存模块*/
break;
case 0:break;}
}while(sel!=0);
}
上一页 [1] [2] [3] [4] [5] [6] 下一页
C语言仓库管理系统-数据结构 第5页下载如图片无法显示或论文不完整,请联系qq752018766