基于C语言实现(控制台)小型超市管理系统 📅 2026/7/13 16:46:14 ♻️ 资源大小3.96MB➡️资源下载https://download.csdn.net/download/s1t16/87450305注更多内容可关注微信公众号【神仙别闹】如当前文章或代码侵犯了您的权益请私信作者删除小型超市管理目前随着小超市规模的发展不断扩大商品数量急剧增加有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。但是现阶段不少超市对于商品的管理还是以人力运作为主缺乏标准化的管理。所以故设计了本超市管理系统利用数据库对信息的统一、集中、规范化的管理以实现提高超市的管理和运营效率以节省管理和运营的成本、减轻人员工作强度并支持简单的决策辅助高层管理。一个小型超市管理,包括 3 个基本部门管理人事部主要负责超市的人员管理二.商品部主要负责与供货商的沟通超市商品的进货与定价营业部这是指卖场下面主要包括食品部.洗化部.非食部.生鲜部等部门。他们主要负责卖场的经营小型超市管理系统功能包括录入、修改、查看、删除检索商品信息和职工信息的功能并且能对有用数据进行统计算账课程设计目的这次的 c 语言课程设计主要是做出一个小型超市管理系统以此来加强对 c 语言函数结构等所学知识的巩固和实战应用预习链表的功能这是对一个学期所学知识的一个小结。系统分析与设计系统功能和模块设计//函数声明void desGui();//介绍界面void loadGui();//加载界面void menuGui();//菜单界面void goodsSysGui(); //商品部管理界面void personGui();//人事部管理界面void saleGui();//销售部管理界面void endGui();//任务结束界面void getOpt();//选项处理函数void checkCode();//验证码系统//商品部函数声明void goodsInfView();//查看信息void goodsInfCreate();//新建信息void goodsInfChange();//修改信息void goodsInfDelete();//删除信息//商品部函数声明void goodsInfView();//查看信息void goodsInfCreate();//新建信息void goodsInfChange();//修改信息void goodsInfDelete();//删除信息void goodsInfSearch();//检索信息//人员部函数声明void perInfView();//查看信息void perInfCreate();//新建信息void perInfChange();//修改信息void perInfDelete();//删除信息void perInfSearch();//检索信息//出售部函数声明void saleInfView();//查看信息void saleInfChange();//编辑信息void saleInfDelete();//删除信息void saleInfSearch();//检索信息//控制选择的变量char opt;//选项变量 int sign;//选项标志系统结构图实现过程打开按任意键进入管理系统按照菜单输入选项 1-3 或*例如我输入 1 并按回车按 1 查看菜单按 1 回到刚刚的商品部管理系统按 2输入完后自动查看大白菜和农夫山泉的信息有错误应该进行删除或修改按 1 返回再按 3按 1 返回再按 4按 1 返回再按 5检索功能其他功能系统测试出现的问题和解决的方案在进行系统测试时总不是一帆风顺的问题总会有的但解决的办法也总会有的我很庆幸用了模块化设计程序这样看起来程序调理清晰了些修改起来没花太多时间.遇到的问题引用链表的使用指针 p1,p2 指错地方考虑情况不周全,比如新建商品信息的情况第一次操作是可行可以新建很多个节点但是没有考虑进行其他操作后再第二次点击新建商品信息操作而此时 p1p2 指向节点链不达到我的要求解决办法加入if(node!0) { p1head; while(p1-next!NULL) { p2p1; p1-next;//p1往后移动p2紧跟p1 } p2(goo*)malloc(sizeof(goo)); node 变量是控制建立节点数若进行第一次新建操作则下次操作node0为真则让指针p1-next!NULL p2p1即是p1p2指向最后一个节点但是又出现了申请动态空间的问题若是第一次操作应该这样p1p2(goo*)malloc(sizeof(goo)); 神奇动态空间以后的操作都是让p1申请动态空间于是p1p2(goo*)malloc(sizeof(goo));解决办法更改headp1 if(node!0) { p1head; while(p1-next!NULL) { p2p1; p1-next;//p1往后移动p2紧跟p1 } (goo*)malloc(sizeof(goo)); } else { p1p2(goo*)malloc(sizeof(goo)); } if(nump1-num)//如果在p1指向的节点中找到一致的num值这样就可以通过编号查找我想实现用名称查找该怎么办于是我仿造 if( namep1-name)这样对吗明显错num 是整型name 是字符串解决办法if(strcmp(name,p1-name)0)如 printf”%d”outPrice输出了 0解决办法把 %d 改为 %f再进行修改删除操作时候按照一般用户思维惯性都会下一步点击查看来看修改删除后的结果每次都输入数字用户会感到麻烦解决办法修改删除后自动跳到查看系统优缺点优点每个模块的都测试了各种不同情况已经达到我想要实现的更新、查询、删除、数据信息的结果提高程序的有效性准确性对于小型超市来说改管理系统的功能已经达到要求了。而且用延迟命令做动画效果输出图案位置对齐更美观操作界面提示多够人性化。缺点由于时间关系容错性未能做得很好功能也不够多而且功能还有些交叉。代码中的命名有些很容易混淆。与商业软件相比仍有大差距心得体会这次的程序设计练习我直视着目标需求去一步一步思考着精确的运行步骤努力接近着成功的运行结果本以为能实现达到要求就可以了却发现小需求也得兼顾好美观动画输出为容错去消除输入缓冲区和做验证码为别人可读用规范的命名让代码的架构与分层合理适当添加注释和用户提示我不断地测试和完善自己的程序……在此过程中我还更深入地了解了链表的应用