C语言库存标准管理系统.doc
《C语言库存标准管理系统.doc》由会员分享,可在线阅读,更多相关《C语言库存标准管理系统.doc(31页珍藏版)》请在咨信网上搜索。
沈阳商品航天大学北方科技学院 课 程 设 计 任 务 书 课程设计题目 库存管理程序设计 教 研 室 计算机教研室 专业 班级 学号 姓名 课程设计时间: 年 月 日至 年 月 日 课程设计内容及要求: 关键内容 设计一个程序管理库存商品,关键实现功效以下: 1、 添加、修改、删除库存商品信息,商品信息包含:编号、名称、类别、数量、产地等; 2、 进货或售出商品后,对应库存商品数量应该有所改变; 3、 当某种商品库存少于一定数量时,应该提醒进货; 4、 能够按商品名称模糊查询商品信息。 基础要求 1、 系统采取C程序设计语言实现; 2、 独立完成系统设计、编码和调试,经过指导老师当场验收; 3、 交出完整课程设计汇报。 指导老师 史 俊 年 月 日 沈阳商品航天大学北方科技学院 课 程 设 计 成 绩 评 定 单 课 程 名 称 C语言综合训练 课程设计题目 库存管理程序设计 专业 班级 学号 姓名 答辩日期 年 月 日 指导老师(答辩组)评语: 课程设计成绩 指导老师(答辩组)签字 年 月 日 库存管理程序设计 目录 摘 要 2 1.绪论 2 2. 系统分析 3 2.1 功效需求 3 2.2数据需求 3 2.3 性能需求 3 3. 总体设计 3 3.1功效模块设计 3 3.2系统设计方案 4 4. 具体设计 5 4.1商品信息管理模块 5 4.2商品查询管理模块 9 5. 调试和测试 10 5.1 调试 10 5.2 测试 10 6. 结论 11 结束语 11 参考文件 11 附录1-用户手册 12 附录2-源程序 14 摘 要 库存管理系统是厂家、商城、商场等管理商品信息不可缺乏部分,利用这个系统,能够愈加好地管理商品信息。 本系统使用C语言开发,实现商品信息库新建,查询商品信息,修改商品信息,可对商品出售进货有数量改变,当数量不足时做提醒。 本文从分析课题题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、具体设计、测试等各个方面具体介绍了系统设计和实现过程,最终对系统完成情况进行了总结。 关键词:库存;商品信息;数量改变; 1.绪论 伴随时代进步,社会发展,大家生活水平逐步提升,平时购物种类越来越多,商场出售商品种类也越来越多,多种商品库存量在天天销售和进货过程中会发生不停改变,管理起来也越来越繁琐。发库存管理系统,可使管理商品信息变得愈加简单,节省人力物力,降低成本。库存管理系统,能实现商场对商品添加,查询,修改,删除等功效,对商品数量进行管理,满足商场需求。 伴随社会发展,社会生活水平不停提升,外出出行大家也越来越多,伴随而来是民航部门对商品管理和订票业务愈加繁重问题。开发商品售票管理系统,使得国家民航部门对出行人员信息和商品管理问题得到了改善。商品售票管理程序,能实现民航部门对商品信息添加、查找、修改和删除等功效,方便了民航部门管理,满足了民航部门需求。 依据课程设计任务书要求,本系统开发关键完成以下功效和性能。 1、 添加、修改、删除库存商品信息,商品信息包含:编号、名称、类别、数量、产地等; 2、 进货或售出商品后,对应库存商品数量应该有所改变; 3、 当某种商品库存少于一定数量时,应该提醒进货; 4、 能够按商品名称模糊查询商品信息 2. 系统分析 2.1 功效需求 本系统关键是库存商品进行管理系统。 该系统需要有添加,删除商品信息,查询商品信息,货少提醒等。 2.2数据需求 需要管理商品信息包含:商品号、商品名称、商品类别、数量和产地。 2.3 性能需求 安全性:本系统在设计,开发,运行各步骤,全部落实了安全性标准。 可靠性:遵照安全性原理,来提升本系统可靠性。 稳定性:本系统依据需要能够定义全局变量,能够使用结构体和链表,来确保本系统稳定性。 响应速度;本系统因应用了链表,理论上能够提升查找速度,整体响应速度也会得到了提升。 3. 总体设计 3.1功效模块设计 依据分析整个系统关键划分为4个模块,分别实施对于功效。商品信息管理实现商品编号、名称、类别、数量、产地等查询、添加、修改、删除等功效。出售和进货管理可对商品在商品有数量改变时,对应改变,当商品数量少于一定数量时,提醒数量不够。 功效模块图图1所表示。 图1功效模块图 (1)商品信息管理子模块 该模块是对商品编号、名称、类别、数量、产地等信息增加、删除和修改。 (2)出售进货管理子模块 该模块是对商品出售进货时,数量随之改变,当数量少于一定数值时,提醒数量不足。 3.2系统设计方案 (1) 数据结构设计 typedef struct per { char id[10], 定义编号 name[10], 定义商品名称 leibie[10], 定义商品类别 chandi[10]; 定义商品产地 int num; 定义商品数量 struct per *next; } per; (2) 菜单设计 本系统中菜单有以下多个:。 1. 一级菜单:即主菜单。其中包含:1.新建;2.查询;3.修删;4.售出或进货;5.退出。 2.二级菜单 a:新建菜单:包含:1、新建信息库;2、添加商品;3、返回。 b:查询菜单:包含:1、查看信息库;2、查找商品号;3、返回。 c:修删菜单:包含:1、修改商品信息;2、删除商品信息;3返回。 d:售出或进货菜单:包含1、售出;2、进货;3、返回。 (3) 函数设计 void menu(); 主菜单 void xinjian_menu(); 新建菜单 void chaozhao_menu(); 查找菜单 void xiugai_menu(); 修删菜单 per *cj(); 新建信息库 void print(per *head); 输出商品信息 void chazhao(per * head); 查找商品信息 per *sc(per *head); 删除商品信息 per *charu(per *head); 添加商品信息 per *xiugai(per *head); 修改商品信息 per *dp(per *head); 售出或进货 4. 具体设计 4.1商品信息管理模块 (1)添加商品模块 先建立商品信息,定义整型变量i和n和指针变量p1和p2,在开辟新结点,使结点为空,输入商品编号,实施n++,当p1->number不为0时,继续往下输入商品信息不然p2->next=p1。继续实施p2=p1,p2->next=null。返回后可继续此输入,可循环反复,不然回到主函数。具体实现程序步骤图2。 图2 商品信息添加步骤图 (2) 删除商品模块 定义整型变量i,指针变量p1和p2,输入商品号i,判定是否有此商品((i, p1->id) != 0 && p1->next != NULL),假如有,将p2 = p1;p1 = p1->next,在匹配和输入相同商品,使(i, p1->id) == 0,则删除成功回到主函数。具体实现程序步骤图3 图3 商品信息删除步骤图 (3) 修改商品模块 定义字符型变量na、整型变量na1、指针变量p1,使p1=head,假如!Head则信息库为空,不然输入要修改商品,假如!P1则商品不存在,不然进入后不修改,按‘-’返回,不然继续输入商品信息然后可按‘-’号结束,返回目录。具体实现程序步骤图4 图4 商品信息修改步骤图 4.2商品查询管理模块 建立输出函数,定义指针p,p1,p1=head。当head等于空,输出“该信息库为空!!!”,返回主函数。当head不等于空,输出信息库信息,再判定p->num<3,假如是则输出“数量太少请进货”返回主函数。具体实现程序步骤图3。 图5商品查询步骤图 5. 调试和测试 5.1 调试 调试是系统开发一个关键步骤。调试可分为2个步骤,先是运行编写好程序找到问题,然后再处理并更正问题。 本系统在调试时,发觉在判定商品数量提醒时,有时出现错误,在反复查找后发觉,在前面没有判定该商品是否存在,在更正后,程序正确运行。 5.2 测试 系统测试是系统开发一个关键阶段,是系统确保质量关键。假如在测试中不认真检验,在后期维护过程中将会很麻烦。 本系统测试数据过程以下。 优异入运行程序 输入“1”,进入新建菜单,再输入“1”进入新建信息库。 请输入用第个1商品信息: 商品号:1 商品名称:三星 商品类别:电子产品 数量:2 产地:沈阳 是否继续输入:(1)是 (2)否 输入“2”。 返回到主函数。 输入“2”,进入查看菜单。再输入“1”,进入查看信息库,屏幕输出 1 三星 电子产品 2 1沈阳 数量太少请进货 返回到主菜单。 输入“4”,进入售出或进货菜单。输入“2”,按提醒输入商品号“1”,按提醒依次输入 数量:5 屏幕输出 进货成功!!! 返回到主菜单。 输入“2”,进入查看菜单。再输入“1”,进入查看信息库,屏幕输出 1 三星 电子产品 2 1沈阳 返回到主菜单。 输入“5”,进入退出程序。屏幕输出 BYE BYE!!! 退出程序。 数次运行程序后,发觉各个菜单功效全部可实施,在输入错误商品号时,给出该商品不存在提醒,所以,该程序无错误可正确实施。 6. 结论 此次课程设计,依据任务书要求,实现了添加、修改、删除库存商品信息,商品信息包含:编号、名称、类别、数量、产地等,进货或售出商品后,对应库存商品数量应该有所改变,当某种商品库存少于一定数量时,应该提醒进货,能够按商品名称查询商品信息,可满足商场对系统需求。但有部分功效还不太完善,如只可新建一次信息库,再次创建时,会将上个信息库覆盖,且不能保留数据。 结束语 经过这次课程设计试验,让我了解了我部分方面不足,也提升了我学习能力,在经过查找资料来完成试验时,使我知识愈加丰富,培养了我学习爱好。以后我要愈加努力来学习。 参考文件 [1] 严蔚敏,吴伟国.数据结构(C语言版).北京:清华大学出版社,.9 [2]潭浩强.C语言程序设计(第三版).北京:清华大学出版社, 附录1-用户手册 (1) 首先打开程序,初始页面,图6。 图6 登录界面 输入“1”进入新建菜单,图7。 图7 新建页面 主界面中输入“2”进入查询界面,图8 图8 查询页面 主界面中输入“3”进入订票页面,图9 图9 修改或删除页面 主界面中输入“4”进入订票页面,图10 图10 进货或出售页面 附录2-源程序 关键模块源代码清单: #include <stdio.h> #include <string.h> #include <malloc.h> #define LEN sizeof(struct per) #define PRESS_ANYKEY P("请输入任意键继续……");getchar();getchar(); #define P printf typedef struct per { char id[10], name[10], leibie[10], chandi[10]; int num; struct per *next; } per; void menu(); void xinjian_menu(); void chaozhao_menu(); void xiugai_menu(); void shou_menu(); void print(per *head); void chazhao(per * head); per *dp(per *head); per *cj(); per *sc(per *head); per *charu(per *head); per *xiugai(per *head); void menu() { P("\t\t***************************************\n"); P("\t\t* 库存信息管理系统 *\n"); P("\t\t* 1、新建 *\n"); P("\t\t* 2、查询 *\n"); P("\t\t* 3、修删 *\n"); P("\t\t* 4、售出或进货 *\n"); P("\t\t* 5、退出 *\n"); P("\t\t***************************************\n"); } void xinjian_menu() { P("\t\t<<<<<<<<<<<<<<新建>>>>>>>>>>>>>>>\n"); P("\t\t 1、新建信息库 \n"); P("\t\t 2、添加商品 \n"); P("\t\t 3、返回 \n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\n"); } void chazhao_menu() { P("\t\t<<<<<<<<<<<<<<查看>>>>>>>>>>>>>>>\n"); P("\t\t 1、查看信息库 \n"); P("\t\t 2、查找商品号 \n"); P("\t\t 3、返回 \n"); P("\t\t<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n"); } void xiugai_menu() { P("\t\t<<<<<<<<<<<<修改或删除>>>>>>>>>>>>\n"); P("\t\t 1、修改商品信息 \n"); P("\t\t 2、删除商品信息 \n"); P("\t\t 3、返回 \n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n"); } void shou_menu() { P("\t\t<<<<<<<<<<<<进货或出售>>>>>>>>>>>>\n"); P("\t\t 1、出售 \n"); P("\t\t 2、进货 \n"); P("\t\t 3、返回 \n"); P("\t\t<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>\n"); } void main() { per *head = NULL; per *link = head; register int i; do { menu(); P("请输入序号:"); scanf("%d", &i); switch (i) { case 1: xinjian_menu(); P("请输入序号:"); scanf("%d", &i); switch (i) { case 1: link = cj(); continue; case 2: link = charu(link); print(link); PRESS_ANYKEY continue; case 3: break; }continue; case 2: chazhao_menu(); P("请输入序号:"); scanf("%d", &i); switch (i) { case 1: print(link); PRESS_ANYKEY continue; case 2: chazhao(link); case 3: break; }continue; case 3: xiugai_menu(); P("请输入产品编号:"); scanf("%d", &i); switch (i) { case 1: link = xiugai(link); print(link); PRESS_ANYKEY continue; case 2: link = sc(link); print(link); continue; case 3: break; }continue; case 4: link = dp(link); continue; case 5: P("BYE BYE!\n"); PRESS_ANYKEY }break; } while (1); } per *cj() { int i, n = 0; per *head = NULL; per *p1 = head, *p2 = head; do { p1 = (per *)malloc(sizeof(per)); P("请输入用第个%d商品信息\n", ++n); P("商品号:"); scanf("%s", &p1->id); if (!strcmp(p1->id, "0")) break; P("商品名称:"); scanf("%s", &p1->name); P("商品类别:"); scanf("%s", &p1->leibie); P("数量:"); scanf("%d", &p1->num); P("产地:"); scanf("%s", &p1->chandi); if (n == 1) head = p1; else p2->next = p1; p2 = p1; p2->next = NULL; printf("是否继续输入:(1)是 (2)否\n"); scanf("%d", &i); } while (i == 1); return head; } per *charu(per *head) { per *p0, *p1; p1 = head; p0 = (per *)malloc(sizeof(per)); p0->next = NULL; P("商品号:"); scanf("%s", &p0->id); P("商品名称:"); scanf("%s", &p0->name); P("商品类别:"); scanf("%s", &p0->leibie); P("数量:"); scanf("%d", &p0->num); P("产地:"); scanf("%s", &p0->chandi); if (!head) { head = p0; return head; } while (p1->next) p1 = p1->next; p1->next = p0; return head; } void print(per *head) { per *p; p = head; if (!head) { P("\t\t该信息库为空!!!\n"); return; } P("编号\t名称\t类别\t数量\t产地\t提醒\n"); while (p) { P("%s\t%s\t%s\t%d\t%s\t", p->id, p->name, p->leibie, p->num, p->chandi); if (p->num < 3) P("数量太少请进货\n"); else P("\n"); p = p->next; } } void chazhao(per * head) { char j[5]; per *p1; p1 = head; P("请输入要查询名称:"); scanf("%s", &j); if (p1 != NULL) { while (p1) { if (strcmp(j, p1->name) == 0) { P("%s\t%s\t%s\t%d\t%s\t\n", p1->id, p1->name, p1->leibie, p1->num, p1->chandi); } p1 = p1->next; } } P("编号\t名称\t类别\t数量\t产地\n"); } per *xiugai(per *head) { char na[5]; int na1; per *p1; p1 = head; if (!head) { P("\t\t该信息库为空!!!\n"); return head; } P("请输入要修改商品号:"); scanf("%s", &na); P("(假如不修改,请输入“-”)\n"); while (p1) { if (!strcmp(na, p1->id)) break; p1 = p1->next; } if (!p1) { P("\t\t此商品不存在!!!\n"); return head; } P("商品名称:"); scanf("%s", &na); if (strcmp(na, "-")) strcpy(p1->name, na); P("商品类别:"); scanf("%s", &na); if (strcmp(na, "-")) strcpy(p1->leibie, na); P("数量:"); scanf("%d", &na1); if (strcmp(na, "-")) p1->num=na1; P("产地:"); scanf("%s", &na); if (strcmp(na, "-")) strcpy(p1->chandi, na); return head; } per *sc(per *head) { char i[5]; per *p1, *p2; p1 = p2 = head; if (head == NULL) { P("\t\t该信息库为空!!!\n"); return(head); } P("请输入要删除序号:"); scanf("%s", i); while (1) { p1 = head; while (strcmp(i, p1->id) != 0 && p1->next != NULL) { p2 = p1; p1 = p1->next; } if (strcmp(i, p1->id) == 0) { if (p1 == head) head = p1->next; else p2->next = p1->next; P("\t\t删除成功!!!\n"); PRESS_ANYKEY; } else P("\t\t此产品不存在!!!\n"); break; }return(head); } per *dp(per *head) { char na[5]; int yu1, i; per *p1; p1 = head; shou_menu(); P("请输入序号:"); scanf("%d", &i); switch (i) { case 1: { if (!head) { P("\t\t该信息库为空!!!\n"); return NULL; } P("请输入要定商品号:"); scanf("%s", &na); while (p1) { if (!strcmp(na, p1->id)) break; p1 = p1->next; } if (!p1) { P("\t\t此商品不存在!!!\n"); return head; } P("请输入要售出商品数量:"); scanf("%d", &yu1); if (yu1 <= 0){ P("输入数量有误"); } else if (p1->num >= yu1){ p1->num = p1->num - yu1; P("\t\t出售成功!!!\n"); } else{ P("商品数量不足"); } return head; } case 2: { if (!head) { P("\t\t该信息库为空!!!\n"); return NULL; } P("请输入要定商品号:"); scanf("%s", &na); while (p1) { if (!strcmp(na, p1->id)) break; p1 = p1->next; } if (!p1) { P("\t\t此商品不存在!!!\n"); return head; } P("请输入要进货商品数量:"); scanf("%d", &yu1); if (yu1 <= 0){ P("输入数量有误"); } else{ p1->num = p1->num + yu1; P("\t\t进货成功!!!\n"); } return head; } } } 完成日期:4月21日- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 库存 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文