C语言课程设计-服装销售系统
更新时间:2024-05-11 22:31:01 阅读量: 综合文库 文档下载
服装管理系统
目 录
1.题目要求-------------------------------------------------------------------4 2.需求分析-------------------------------------------------------------------4 3.总体设计-------------------------------------------------------------------4 4.详细设计-------------------------------------------------------------------8 5.上机操作------------------------------------------------------------------30 6.总结----------------------------------------------------------------------33 7.致谢----------------------------------------------------------------------33 参考文献-------------------------------------------------------------------34
1
服装管理系统
1.题目要求
(1) 系统包含三类用户:管理员、店长、销售员。
(2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、
商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。
(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。
2. 需求分析
用户与商品信息要采用文件存储,因而要提供文件的输入、输出功能,要实现用户的添加、修改、删除,商品信息的添加、修改、删除、查找等,需要提供相应的信息添加、删除、修改与查找功能;要实现商品浏览功能,需要提供显示操作;另外,还要提供键盘式选择菜单以实现功能选择。
3.总体设计
1.【整体E-R图3-1】
服装管理系统 管理员模块 店长模块 销售员模块 退出 退出 用户用户显示所添加 删除 有用户 自身信息修改 商品信息浏览 营业员业绩报表 密码修改 商品浏览 商品查找 出售 查看本月报表 图3-1
2.【程序中典型的流程图】
(一)添加模块
(1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要
2
服装管理系统
存进原文件,流程图(图3-2)如下。
开始 文件打开否 输入信息 将信息输出到磁盘 输出错误信息 是否继续 调用printf_back()函数 结束
图3-2 (二)浏览模块
(1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。 流程图如下(图3-3)。
开始 打开文件否 输出错误信息 查找商品信息 是否查找到 输出商品信息 操作存盘 是否继续 结束
3
服装管理系统
图3-3 (三)查询模块
(1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂(图3-4)
开始 文件打开 输出错误信息 查询方式 商品的名称 是否继续 结束
图3-4
(四)删除模块
(1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。 流程图(图3-5)如下:
4
服装管理系统
开始 文件打开 输出错误信息 查找商品信息 是否查找到 删除操作 输入信息 是否继续 结束 图 3-5 五)修改模块
(1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进(图2-6)。
开始 文件打开
输出错误信息 查找职工信息 是否查找到 修改操作 输入信息 是否继续 结束 图3-6
5
服装管理系统
while(NULL != tmpProduct) {
printf(\第%d件商品信息如下:\\n\
printf(\商品编号: %d\\n\ printf(\商品名称: %s\\n\ printf(\商品型号: %s\\n\ printf(\商品厂家: %s\\n\ printf(\商品价格: %f\\n\ printf(\商品数量: %d\\n\ printf(\商品附加信息: %s\\n\
tmpProduct = tmpProduct->next; i++; } } };
运算显示如下(图4-11):
图4-11 //商品查找函数// void ProductFind() {
Products *tmpProduct; int findWay,productId; char productName[20];
printf(\亲爱的%s朋友,你好,你现在进入的商品查询功能:\\n\ printf(\请选择查询方式: 1--按商品编号查询 2--按商品名称查询\\n\ scanf(\ tmpProduct = pProductHead; switch(findWay) { case 1:
printf(\请输入查询的商品编号:\ scanf(\ while(NULL != tmpProduct) {
if(productId == tmpProduct->productId) {
printf(\你查询的商品编号为%d的商品信息如下:\\n\
16
服装管理系统
printf(\ 商品名称: %s\\n\ printf(\ 商品型号: %s\\n\ printf(\ 商品厂家: %s\\n\ printf(\ 商品价格: %f\\n\ printf(\ 商品数量: %d\\n\ printf(\ 商品附加信息: %s\\n\ return ; }
tmpProduct = tmpProduct->next; }
printf(\对不起,不存在该商品编号的商品!\\n\ break; case 2:
printf(\请输入查询的商品名称:\ scanf(\ while(NULL != tmpProduct) {
if(0 == strcmp(tmpProduct->productName,productName)) {
printf(\你要查询的商品名称为%s的商品信息如下:\\n\ printf(\ 商品名称: %s\\n\ printf(\ 商品型号: %s\\n\ printf(\ 商品厂家: %s\\n\ printf(\ 商品价格: %f\\n\ printf(\ 商品数量: %d\\n\ printf(\ 商品附加信息: %s\\n\ return ; }
tmpProduct = tmpProduct->next; }
printf(\对不起,不存在该商品编号的商品!\\n\ break; default: break; }
}运算显示如下(图4-12):
图4-12
17
服装管理系统
//商品添加函数//
void InputAndAddProduct() { Products product;
printf(\亲爱的%s朋友,你好,请依次输入新商品的信息:\\n\ printf(\商品名称:\
scanf(\ printf(\商品型号:\
scanf(\ printf(\商品制造商:\
scanf(\ printf(\商品价格:\
scanf(\ printf(\商品数量:\
scanf(\ printf(\商品附加信息:\ scanf(\ product.next = NULL;
if(FUNCTION_SUCCESS == AddProduct(&product)) printf(\商品信息添加成功!\\n\};
运算显示如下(图4-15):
图4-15 //商品修改函数// void ModifyProduct() {
int productId; //待修改的商品编号 Products *tmpProduct;
printf(\亲爱的%s朋友,你好,你现在进入的商品信息修改功能:\\n\ printf(\请输入要修改的商品编号:\ scanf(\ tmpProduct = pProductHead; if(NULL == tmpProduct) return ; while(NULL != tmpProduct) {
18
服装管理系统
if(productId == tmpProduct->productId){
printf(\商品编号%d的商品信息如下:\\n\ printf(\ 商品名称: %s\\n\ printf(\ 商品型号: %s\\n\ printf(\ 商品厂家: %s\\n\ printf(\ 商品价格: %f\\n\ printf(\ 商品数量: %d\\n\ printf(\ 商品附加信息: %s\\n\
printf(\下面请对照修改该商品的相应信息:\\n\ printf(\新的商品名称: \
scanf(\ printf(\新的商品型号: \
scanf(\ printf(\新的商品厂家: \
scanf(\ printf(\新的商品价格: \
scanf(\ printf(\新的商品数量: \
scanf(\ printf(\新的商品附加信息: \ scanf(\
printf(\商品信息修改成功!\\n\
break; }
tmpProduct = tmpProduct->next; } };
//商品删除函数// void DeleteProduct() { int productId = 0;
Products *tmpProductA,*tmpProductB;
printf(\亲爱的%s朋友,你好,你现在进入的商品删除功能:\\n\ printf(\请输入你要删除的商品编号:\\n\ scanf(\
tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要删除的记录,tmpProductA指向前一条记录
if(NULL == tmpProductB) return ;
19
服装管理系统
while(NULL != tmpProductB){
if(tmpProductB->productId == productId) {
if(tmpProductB == pProductHead && tmpProductB->next == NULL){ //如果系统只有一条商品信息
free(pProductHead); pProductHead = NULL; printf(\商品信息删除成功!\\n\ return ; }
tmpProductA->next = tmpProductB->next; if(pProductHead == tmpProductB) pProductHead = tmpProductB->next; free(tmpProductB);
printf(\商品信息删除成功!\\n\ return ; } else {
tmpProductA = tmpProductB; tmpProductB = tmpProductB->next; } }
printf(\对不起,不存在该商品编号的信息!\};
4.
店长功能模块(图4-16)
店长模块 1.自身密码修改 2.商品信息管理:添加,修改,查询,删除 3.销售报表显示:日销售报表,月销售报表,销售员销售报表 4.退出系统 5.
图4-16
20
服装管理系统
printf(\产品名称:%s\\n\
onePrice = getPriceById(tmpSellInfo->productId); printf(\商品单价:%f\\n\
printf(\销售数量:%d\\n\ printf(\销售员:%s\\n\ printf(\
销
售
时
间
:%d
年
%d
月
%d
日
\\n\ totalPrice += onePrice*tmpSellInfo->sellCount; }
tmpSellInfo = tmpSellInfo->next; }
printf(\总共有%d条符合条件的记录,销售总价%f元\\n\};
//显示所有销售员的业绩// void ShowAllSellReport() { int rsCount = 0;
float totalPrice = 0.0,onePrice; char productName[20]; SellInfoRecord *tmpSellInfo;
printf(\你好%s:当前功能将进行所有销售报表显示\\n\ tmpSellInfo = pSellInfoHead; if(NULL == tmpSellInfo) return ; while(NULL != tmpSellInfo) { rsCount++;
printf(\第%d条商品销售记录信息如下:\\n\ printf(\销售编号:%d\\n\ printf(\产品编号:%d\\n\ getProductNameById(tmpSellInfo->productId,productName); printf(\产品名称:%s\\n\
onePrice = getPriceById(tmpSellInfo->productId); printf(\商品单价:%f\\n\
printf(\销售数量:%d\\n\ printf(\销售员:%s\\n\
printf(\销售时间:%d年%d月%d日\\n\ totalPrice += onePrice*tmpSellInfo->sellCount;
tmpSellInfo = tmpSellInfo->next; }
printf(\总共有%d条符合条件的记录,销售总价%f元\\n\ };
26
服装管理系统
5.销售员功能模块(图4-17)
销售员模块 1.商品浏览 2.商品信息查询 3.商品销售 4.报表查看
图4-17
(1)销售员欢迎界面
//销售员管理模块// void SellOperationMenu() { int select; while(1) {
printf(\亲爱的销售员%s同志,欢迎使用本系统,你拥有下面所有功能:\\n\ printf(\商品浏览\\n\ printf(\商品查询\\n\ printf(\商品销售\\n\ printf(\报表查看\\n\ printf(\退出登陆系统\\n\
printf(\请输入上面功能对应的序号进行功能选择:\ scanf(\ switch(select) { case 1:
ProductsView(); continue; case 2:
ProductFind(); continue; case 3:
ProductsSell();
27
服装管理系统
continue; case 4:
ReportPrint(); continue; case 5:
ExitSystem();; break; default: break; } } };
(2)其它功能和管理员店长对应功能的函数的调用一致
(即调用ProductsView() ProductFind() ProductsSell() ReportPrint() 函数 )
5.上机操作
1.开始登陆欢迎界面(图5-1)
本程序自动识别所有用户(包括管理员,店长,销售人员)身份,直接登陆即可,无需选择那种登陆方式,身份为用户注册身份。
(注:本程序设置了管理员,店长,销售人员的初始账号为admin boss Sell 初始密码和账号一致,可以用初始账号登陆使用此程序)
图 5-1 2. 管理员功能界面(图5-2)
根据自己的需要选择功能前编号按 ENTER 健即可进入对应功能,例如选择用户信息管理 (选2 按ENTER)
28
服装管理系统
图5-2
3.店长功能界面(图5-3)
假如你的账号身份是店长登陆后显示店长的功能界面
图5-3
如果你需要的显示销售报表 输入3 按enter就进入了(图5-4)
图5-4 4.销售人员功能界面(图5-5)
29
服装管理系统
图5-5
6.总结
在编程过程中遇到很多问题,之后请教同学和老师,细心的把问题一一解决。这次课程设计让我掌握了许多的有用知识。首先通过不断地学习和锻炼更加熟练地掌握应用软件Microsoft Visual C++了。设计正确及合适的程序对于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模块,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。不可避免地,程序中肯定依然存在者某些问题,我希望在以后的学习和应用中不断提高自己的能力,攻克遇到的困难。这次实习让我感觉C语言在生活学习和生产中的应用性很强,所以好好的学习编程很有必要。
7.致谢
感谢各位孔春芳老师,给我这个难得的机会在机房中尝试设计程序,在C语言学习中教会我了许多专业的基础知识。感谢学长们在我遇到问题时虚心教导,并在问题的细节方面进行指点。感谢身边C语言高手们在程序设计时的一些帮助,让我克服难关。
30
服装管理系统
参考文献
[1] 谭浩强. C程序设计(第三版)[M]. 北京: 清华大学出版社, 2005.
[2] 张冬梅, 刘远兴, 陈晶, 等. 基于PBL的C语言课程设计及学习指导[M]. 北京: 清华
大学出版社, 2011.
31
正在阅读:
C语言课程设计-服装销售系统05-11
数学教学质量分析02-17
2022北师大版数学四年级下册《期末检测卷》(带答案解析)04-16
CAN总线最全应用05-01
2010年河北专接本政治真题附带答案11-15
发动机故障码大全06-30
财务人员对报销单据审核要求及处理办法05-31
教学案例01-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 语言
- 课程
- 服装
- 销售
- 设计
- 系统
- 论谨慎性原则在我国新会计准则中的运用
- excel常用宏集合
- 毕业论文排版参考论文
- 2014英语练习题
- 秭归二中2018届高三文科数学选填练习五
- 三年级数学第二学期测试题
- “十三五”重点项目-铅粉铅棒项目商业计划书
- 江苏2014定额解释说明
- 三年级法制教育教案
- 各种原产地证填制
- 单片机 数字电压表设计 - 图文
- 四通信和导航
- 2018小学二年级下册数学导学案全册
- 2012-2013-03大学语文期末思考与练习
- 《贵州省建筑工程计价定额》(2004-版)
- 呼和浩特英文介绍
- 四川省成都外国语学校2018-2019学年高一下学期3月月考试题历史(
- 2018-2024年中国薯片市场运行态势报告(目录) - 图文
- 糯米卷的制作方法
- 基于单片机的多功能时钟