数据结构课程设计报告—商品管理内容摘要:

put the No.%d goods39。 %s:\n,n,string4)。 scanf(%f,amp。 ptr1price)。 if(CHECK_COUNT) printf(请输入正确的商品数量 !\n)。 }while(CHECK_COUNT)。 } ptr2next=NULL。 printf(输入商品信息的操作完成,下面请进行保存 :)。 getch()。 return(head)。 } 输出算法的实现 void print( ) {int i=1。 printf(请输入要输出的家电的文件名 :)。 head=openfile( )。 if(head==NULL) return。 else printf( 输 出结果如下 :\n)。 12 printf(家电编号 家电名称 家电数量 家电单价 \n\n)。 ptr1=head。 do {printf(PRINT)。 ptr1=ptr1next。 if(i/10==1) /*超过十行换页 */ {i=0。 printf(超过十行自动进行换页 :\n)。 getch( )。 printf(家电编号 家电名称 家电数量 家电单价\n\n)。 } i=i+1。 }while(ptr1!=NULL)。 printf(请返回到菜单进行其它操作 :)。 getch( )。 } 插入算法的实现 COM * insert( ) {COM * ptr3。 char string1[ ]={家电编号 }。 char string2[ ]={家电名称 }。 char string3[ ]={家电数量 }。 char string4[ ]={家电单价 }。 char judge[10]。 printf(请输入要插入的家电的文件名 :)。 head=openfile()。 if(head==NULL) return(NULL)。 else 13 do { printf(请输入要插入的家电的信息 :\n)。 if((ptr3=(COM*)malloc(LEN))==NULL) {printf(没有足够内存,无法创造节点 !)。 getch()。 } do {printf(Please input goods39。 %s(0):\n,string1)。 scanf(%ld,amp。 ptr3num)。 if(ptr3num=0) {printf(输入错误 !请重新选择要插入的家电 \n)。 getch( )。 } printf(Please input goods39。 %s:\n,string2)。 scanf(%s,amp。 (ptr3name))。 printf(Please input goods39。 %s:\n,string3)。 scanf(%d,amp。 (ptr3count))。 printf(Please input goods39。 %s:\n,string4)。 scanf(%f,amp。 (ptr3price))。 if(CHECK_COUNT2) printf(请输入正确的 商品数量 !\n)。 }while(CHECK_COUNT2)。 getch( )。 printf(按家电价格升序插入 \n)。 ptr1=head。 if(head==NULL) {head=ptr3。 ptr3next=NULL。 } else {while((ptr3priceptr1price)amp。 amp。 (ptr1next!=NULL)) {ptr2=ptr1。 14 ptr1=ptr1next。 } if(ptr3price=ptr1price) {if(head==ptr1)head=ptr3。 else ptr2next=ptr3。 ptr3next=ptr1。 } else {ptr1next=ptr3。 ptr3next=NULL。 } } return(head)。 printf(\n 插入成功 !是否继续插入 ?(yes or no):)。 scanf(%s,judge)。 }while(! strcmp(judge,yes))。 printf(插入成功 !\n)。 printf(请按’ enter‘键返回到菜单 \n)。 printf(并选择 6进行保 存,否则你将丢失刚插入的信息 !\n)。 getch( )。 return(head)。 } 删除算法的实现 COM *delet( ) {char name[10]。 char judge[10]。 int sel。 int del_num。 printf(请输入要删除的家电的文件名 :)。 head=openfile( )。 if(head==NULL) return(NULL)。 else do 15 {do { printf(请输入要删除的家电的信息 :\n)。 printf( * \n)。 printf( * \n)。 printf(从 1和 2中选择一个数字进行操作 :)。 scanf(%d,amp。 sel)。 switch(sel) {case 1: printf(输入家电编号 :)。 scanf(%d,amp。 del_num)。 break。 case 2: printf(输入家电名称 :)。 scanf(%s,amp。 name)。 break。 } }while(sel!=1amp。 amp。 sel!=2)。 ptr1=head。 if(ptr1num==del_num||(strcmp(ptr1name,name)==0)) { head=ptr1next。 printf(家电信息删除成功 !\n)。 } else /*判断是否是目标结点 */ { while(ptr1!=NULLamp。 amp。 ptr1num!=del_numamp。 amp。 strcmp(ptr1name,name)!=0) {ptr2=ptr1。 ptr1=ptr1next。 ptr1prior=ptr2。 } 16 if(ptr1num==del_num||(strcmp(ptr1name,name)==0)) {ptr2next=ptr1next。 ptr1nextprior=ptr1prior。 free(ptr1)。 printf(\n 家电信息删除成功 !\n\n)。 } else printf(\n未发现该家电信息 !\n\n)。 } printf(继续删除 ?(yes or no):)。 scanf(%s,judge)。 }while(!strcmp(judge,yes))。 printf(删除成功 !\n)。 printf(请返回到菜单进行其它操作 \n)。 printf(并选择 6进行保存,否则你将丢失刚 刚进行操作的结果 !\n)。 getch( )。 return(head)。 } 查找算法的实现 void search( ) {char name[10]。 char judge[10]。 int sel。 long int sel_num。 printf(请输入要查找的家电的文件名 :)。 head=openfile( )。 if(head==NULL) return。 else do {do 17 { printf(请选择查找的方式 :\n)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。