数据结构课程设计-仓库进销存管理系统内容摘要:

图 511 登录测试( a)( b) 录入商品函数 的测试 图 512 录入商品 信息 测试 查找商品函数 的测试 图 513 查找商品 信息 测试 修改商品函数的测试 图 514 修改商品信息测试 插入商品函数 的测试 图 514 插入商品信息测试 删除商品函数 的测试 图 515 删除商品信息测试 商品排序函数 的测试 图 516 商品信息排序测试 文件模块的的测试 文件读取测试 图 521 文件读取 文 本写入 测 试 图 522 文本写入 设计 总结 经过近两周的课程设计实习过程中我学到了很多,我做的是商场仓库管理系统,这个系统基本完成了预期的一些基本功能(商品信息的录入、删除、查找和修改等),实现了仓库管理的信息化,满足了客户对于基本仓库管理的需求。 这次课程设计中,各个功能模版的执行主要运用了本学期学习的数据结构中的线性表链式存储的方式,节点的插入删除等。 让我们再一次在应用中对线性表的运用有所提高,并加深了数据结构与实际应用的联系。 此外, 这次的课 程设计, 还 加强了我们动手、思考和解决问题的能力。 巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。 培养了我选用参考书,查阅手册及文献资料的能力。 培养独立思考,深入研究,分析问题、解决问题的能力。 通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。 而且做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题就不是很能理解,做完课程设计,那些问题就迎刃而解了。 而且还可以记住很多东西。 认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。 所以这个期末测 试之后的课程设计对我们的作用是非常大的。 严蔚敏 , 吴伟民 . 数据结构( C语言版) . 北京 : 清华大学出版社 , 严蔚敏 , 吴伟民 , 米宁 . 数据结构题集( C 语言版) . 北京 : 清华大学出版社 , 附录 使用说明: 本系统软件为仓库管理中的基本软件,实现功能为商品信息的录入、查找、删除、修改和查看等。 用户首先需要注册然后登录到主菜单,按菜单提示选择相应的模块操作进行仓库管理的实施。 用户还可以在创建的文本中直接查看保存的商品信息,方便用户直接的对仓库的管理与查看。 使用流程按提示操作即可。 源代码 : include include include include //日期结构体 typedef struct { int year。 int month。 int day。 }DATE。 //商品结构体 //定义链表 typedef struct Node { long num。 char name[20]。 char kind[20]。 DATE pro_date。 int save_day。 int shuliang。 float jinjia。 float shoujia。 DATE sale_date。 struct Node *next。 }Node,*LinkList。 //申请函数 void apply() { int i,flag=1。 FILE *fp。 char name[20],key[20]。 flushall()。 printf(用户名 (不能为空 ):)。 scanf(%s,name)。 flushall()。 printf(密码 (不能为空 ):)。 for(i=0。 i=20。 i++) { key[i]=getch()。 if(key[i]==13) { key[i]=39。 \039。 break。 } printf(*)。 } fp=fopen(,w)。 if(fp==NULL) { printf(the file can not open!)。 flag=0。 exit(1)。 } fprintf(fp,%s %s,name,key)。 fclose(fp)。 if(flag==1) printf(\n 申请成功 ,请登录 !\n)。 else printf(\n 申请失败 ,请重新申请 !\n)。 } //登录函数 int load() { FILE *fp。 int i。 char name[20],key[20]。 char name1[20],key1[20]。 fp=fopen(,r)。 fscanf(fp,%s %s,name,key)。 fclose(fp)。 printf(用户名 (不能为空 ):)。 scanf(%s,name1)。 flushall()。 printf(密码 (不能为空 ):)。 for(i=0。 i=20。 i++) { key1[i]=getch()。 if(key1[i]==13) { key1[i]=39。 \039。 break。 } printf(*)。 } printf(\n)。 if(strcmp(name1,name)==0amp。 amp。 strcmp(key1,key)==0) { printf(登陆成功 !\n\n)。 return 1。 } else { printf(用户名或密码错误。 请重新登录 !)。 return 0。 } } //密码保护系统 void key() { int choice,c。 do { printf(\n**************************** 申 请 登 录 系 统********************************\n\n)。 printf( 1: 新用户注册。 \n\n)。 printf( 2: 新用户登录; \n\n)。 printf(请选择 :)。 scanf(%d,amp。 choice)。 switch(choice) { case 1: apply()。 break。 case 2: c=load()。 break。 } }while(c!=1)。 } LinkList goods_input() { LinkList L。 Node *p1,*p2。 int i=1。 void file_write(Node *p)。 int flag=1。 L=p2=(Node*)malloc(sizeof(Node))。 //为头节点分配存储空间 while(flag) { p1=(Node*)malloc(sizeof(Node))。 printf(请输入第 %d 种商品的信息 (商品号为 0 时 ,结束商品输入 ):\n\n,i++)。 flushall()。 printf(商品号 :)。 scanf(%ld,amp。 p1num)。 if(p1num!=0) { flushall()。 // i/o 库函数 清除缓冲 printf(名称 :)。 scanf(%s,amp。 p1name)。 flushall()。 printf(类别 :)。 scanf(%s,amp。 p1kind)。 flushall()。 printf(生产日期 (年月日用空格隔开 ):)。 scanf(%d%d%d,amp。 p1,amp。 p1,amp。 p1)。 flushall()。 printf(保质期 :)。 scanf(%d,amp。 p1save_day)。 flushall()。 printf(商品数量 :)。 scanf(%d,amp。 p1shuliang)。 flushall()。 printf(进价 :)。 scanf(%f,amp。 p1jinjia)。 flushall()。 printf(售价 :)。 scanf(%f,amp。 p1shoujia)。 flushall()。 printf(销售日期 (年月日用空格隔开 ):)。 scanf(%d%d%d,amp。 p1,amp。 p1,amp。 p1)。 p2next=p1。 p2=p1。 } else { flag=0。 break。 } } p2next=NULL。 file_write(L)。 free(p1)。 return(L)。 } //将商品信息写入文件 void file_write(Node *p) { FILE *fp。 char filename[50]。 int c。 printf(是否保存 ?(保存按 1。 不保存按 0):)。 scanf(%d,amp。 c)。 if(c==1) { flushall()。 printf(\n 为了将你操作的信息保存下来 ,请输入要写入的文件的路经或文件 :)。 gets(filename)。 fp=fopen(filename,w)。 //文件写入 if(fp==NULL) {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。