资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言课程设计物资管理系统22020年4月19日文档仅供参考C语言程序设计报告物资管理系统实习成员:姓 名学 号贡献率(%)e-mail组长吴 江34%成员韩艺超33%黄杨洋33%专 业: 网络工程 班 级: 网092班 指导教师: 程 泽 凯 /12/12课 题: 物资管理系统问题描述: 建立物资管理信息系统,包括仓库内的物资信息、入库信息、车库信息等,物资信息为物资编号、物资名称、规格类型、类别、计量单位等;入库信息为物资编号、物资名称、规格型号、类别、计量单位、数理、单价、金额、入库时间、经办人、保管人等;出库信息为物资编号、物资名称、规格型号、类别、计量单位、数理、单价、金额、领用时间、经办人、领用人等;物资余额信息为物资编号、物资名称、规格类型、类别、计量单位、数量、金额等。功能要求:(1)各种物资管理信息需要利用文件的形式进行存储。(2)输入功能:能够从键盘或文件中一次性输入多条信息;(3)输出功能:可将入库、出库等信息打印输出或显示;(4)查找功能:根据物资信息、或经办人、保管人等查找出所需信息;(5)增加、删除、修改功能:完成物资信息的多种更新;(6)统计功能:完成入库、出库、库存等信息的统计功能。总体设计:根据上面的分析及题目要求能够分为以下六个模块(系统模块如下图1。)物资管理系统产品信息录入产品信息查询产品信息修改产品信息统计退出系统产品信息输出程序实现:(一)主函数一般设计简洁,用switch结构实现对各功能函数的调用,其中包括input()、load()、output()、search()、count()、save()、quit()。(所有函数中用链表实现数据的传递)(二)各功能函数的实现: Input():主要是为了输入商品编号,名称,数量,型号,单价,日期,实库存量,保管人,经办人等。以上物资信息均存放在以全局变量first为头指针的链表中,每输入一组信息生成一个节点,并在函数结尾用if判断是否继续录入,若需要则调用input()函数自身,若不需要则退出。 请输入第 1th中商品信息 :number: 1234567name: applestorekeeper: zhangsanquantity: kgprice: 3/kg input() char flag=N; addr_product *last=NULL; addr_product *new_addr=(addr_product*)malloc(sizeof(addr_product); printf(n*n); printf( input );printf(n*n); memset(new_addr,0,sizeof(addr_product); new_addr-next=NULL; if(first=NULL) first=new_addr; else last=get_last(first); last-next=new_addr; scanf_product(&(new_addr-pro); getchar(); printf(ncontinue?(Y/N); flag=getchar(); if(flag=Y|flag=y) input(); printf(n*nn);Show():显示所有入库物资信息,经过遍历链表的每一个节点实现。show() addr_product *p=first;printf(n*nn);printf( show );printf(n*n); if(p=NULL) printf(none product); else while(p!=NULL) print_product(&(p-pro); p=p-next; getchar(); getchar(); printf(n*nn);Search():查询函数,可根据物资的编号,名称,保管人等信息进行查询,遍历链表,将输入的信息与链表节点中的信息进行比对,若找到则将查询结果用printf_product()函数输出。search() int n,flag;printf(n*nn); printf( search ); printf(n*n); do puts(ntt*search menu*nn); puts(ttt1.search-by-name); puts(ttt2.search-by-number); puts(ttt3.search-by-storekeeper); puts(ttt4.back); puts(nntt*n); printf(function choose 1-4: bb); scanf(%d,&n); if(n4) flag=1; getchar(); else flag=0; while(flag=1);switch(n) case 1:search_by_name();break; case 2:search_by_number();break; case 3:search_by_storekeeper();break; case 4:getch(); printf(n*nn);Search()函数提供三种查询方式:编号、名称、保管人 search_by_name() int count=0; char input=N; char nameMAX_name=0; addr_product *p=first; printf(nn search_by_name nn); printf(nplease enter the name you want search:); scanf(%s,name); while(p!=NULL) if(strcmp(p-pro.name,name)=0) print_product(&(p-pro); count+; p=p-next; if(count=0) printf(ncan not find %s.n,name); printf(ncontinue?(Y/N); getchar(); input=getchar(); if(input=Y|input=y) search(); search_by_number() int count=0; char input=N; char numberMAX_name=0; addr_product *p=first; printf(nn search_by_number nn); printf(please enter the number you want search:); scanf(%s,number); while(p!=NULL) if(strcmp(p-pro.number,number)=0) print_product(&(p-pro); co
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号