news 2026/7/13 16:46:11

基于C语言实现(控制台)小型超市管理系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于C语言实现(控制台)小型超市管理系统

♻️ 资源

大小: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 指错地方,考虑情况不周全,比如:新建商品信息的情况,第一次操作是可行,可以新建很多个节点,但是,没有考虑进行其他操作后再第二次点击新建商品信息操作,而此时 p1,p2 指向节点链不达到我的要求

解决办法:加入

if(node!=0) { p1=head; while(p1->next!=NULL) { p2=p1; =p1->next;//p1往后移动,p2紧跟p1 } =p2=(goo*)malloc(sizeof(goo)); node 变量是控制建立节点数,若进行第一次新建操作,则下次操作node!=0为真,则让指针p1->next!=NULL p2=p1即是p1,p2指向最后一个节点,但是,又出现了申请动态空间的问题,若是第一次操作,应该这样p1=p2=(goo*)malloc(sizeof(goo)); 神奇动态空间,以后的操作都是让p1申请动态空间,于是p1=p2=(goo*)malloc(sizeof(goo));

解决办法:更改

head=p1 if(node!=0) { p1=head; while(p1->next!=NULL) { p2=p1; =p1->next;//p1往后移动,p2紧跟p1 } =(goo*)malloc(sizeof(goo)); } else { p1=p2=(goo*)malloc(sizeof(goo)); } if(num==p1->num)//如果在p1指向的节点中找到一致的num值

这样就可以通过编号查找

我想实现用名称查找该怎么办?

于是,我仿造 if( name==p1->name)

这样对吗?明显错!num 是整型,name 是字符串

解决办法

if(strcmp(name,p1->name)==0)

如 printf(”%d”,outPrice);输出了 0

解决办法:把 %d 改为 %f

再进行修改删除操作时候,按照一般用户思维惯性,都会下一步点击查看来看修改删除后的结果,每次都输入数字,用户会感到麻烦

解决办法:修改删除后自动跳到查看

系统优缺点:

优点:每个模块的都测试了各种不同情况,已经达到我想要实现的更新、查询、删除、数据信息的结果,提高程序的有效性,准确性,对于小型超市来说,改管理系统的功能已经达到要求了。而且,用延迟命令做动画效果,输出图案位置对齐,更美观;操作界面提示多,够人性化。

缺点:由于时间关系,容错性未能做得很好,功能也不够多,而且功能还有些交叉。

代码中的命名有些很容易混淆。与商业软件相比仍有大差距

心得体会:

这次的程序设计练习,我直视着目标需求,去一步一步思考着精确的运行步骤,努力接近着成功的运行结果,本以为能实现达到要求就可以了,却发现小需求也得兼顾好,美观动画输出,为容错去消除输入缓冲区和做验证码,为别人可读用规范的命名,让代码的架构与分层合理,适当添加注释和用户提示,我不断地测试和完善自己的程序……在此过程中,我还更深入地了解了链表的应用,

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 16:45:26

TMR-SOMA-RP-v1:NVIDIA革命性文本到动作检索模型完全指南

TMR-SOMA-RP-v1:NVIDIA革命性文本到动作检索模型完全指南 【免费下载链接】TMR-SOMA-RP-v1 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/TMR-SOMA-RP-v1 TMR-SOMA-RP-v1是NVIDIA推出的革命性文本到动作检索(Text-to-Motion Retrieval&a…

作者头像 李华
网站建设 2026/7/13 16:42:55

如何免费解锁WeMod高级功能:Wand-Enhancer终极完整指南

如何免费解锁WeMod高级功能:Wand-Enhancer终极完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 想要免费享受WeMod专业版的所有…

作者头像 李华
网站建设 2026/7/13 16:42:24

深度解析Confucius4-TTS-mlx-int8架构:从T2S到BigVGAN的完整技术栈

深度解析Confucius4-TTS-mlx-int8架构:从T2S到BigVGAN的完整技术栈 【免费下载链接】Confucius4-TTS-mlx-int8 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Confucius4-TTS-mlx-int8 Confucius4-TTS-mlx-int8是一款基于Apple Silicon优化的…

作者头像 李华
网站建设 2026/7/13 16:41:40

15套可视化大屏模板,经营分析、项目、销售管理都能直接套!

很多企业做可视化大屏,第一步就错了。只想着页面够不够炫、图表够不够多、动效够不够酷。结果老板看完只问一句:“所以,问题在哪?”大屏真正的价值,不是展示数据,而是帮助决策。它要让人一眼看清&#xff1…

作者头像 李华
网站建设 2026/7/13 16:39:55

Laguna-M.1-4bit性能优化:10个技巧提升推理速度与效率

Laguna-M.1-4bit性能优化:10个技巧提升推理速度与效率 【免费下载链接】Laguna-M.1-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Laguna-M.1-4bit Laguna-M.1-4bit是基于MLX框架的高效能文本生成模型,采用4位量化技术实现了…

作者头像 李华