C语言课程设计—超市收银课设
c语言课程设计超市

c语言课程设计超市一、教学目标本课程旨在通过C语言的教学,让学生掌握C语言编程的基本语法和编程思想,培养学生独立解决问题的能力,并提高学生对于计算机科学的理解和认识。
具体来说,知识目标包括:1.理解C语言的基本语法和数据结构。
2.掌握C语言的输入输出、控制流程、函数、数组和指针等基本概念。
3.了解C语言在实际应用中的优势和局限。
技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。
2.具备基本的编程思维,能够独立思考和解决问题。
3.能够阅读和理解C语言的代码,进行代码的调试和优化。
情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情。
2.培养学生独立思考、勇于探索的精神。
3.培养学生良好的编程习惯,注重细节和规范。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、编程技巧和实际应用。
具体的教学大纲如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和应用领域。
2.第二章:基本数据类型和运算符,介绍C语言的基本数据类型、运算符和表达式。
3.第三章:控制流程,介绍条件语句、循环语句和跳转语句。
4.第四章:函数,介绍函数的定义、声明和调用,以及函数的参数传递和返回值。
5.第五章:数组和指针,介绍数组的基本操作和指针的概念、运算。
6.第六章:字符串和文件操作,介绍字符串的基本操作和文件读写。
7.第七章:编程实践,通过实际项目案例,让学生综合运用所学知识解决实际问题。
三、教学方法本课程将采用讲授法、案例分析法和实验法等多种教学方法相结合的方式进行教学。
在课堂上,教师将通过讲解和演示,系统地传授C语言的基本概念和编程技巧。
同时,通过案例分析法,让学生参与到实际项目的开发中,提高学生的实际操作能力和解决问题的能力。
此外,通过实验法,让学生动手编写代码,培养学生的编程思维和实践能力。
四、教学资源为了保证本课程的教学质量,我们将准备以下教学资源:1.教材:《C程序设计语言》或《C Primer Plus》。
超市收银c语言课程设计

超市收银c语言课程设计一、课程目标知识目标:1. 学生能理解C语言在现实生活中的应用,特别是超市收银系统中的基本原理;2. 学生能掌握C语言中的基本数据类型、变量声明、运算符、控制结构(如if-else、循环等);3. 学生能够运用所学知识设计并实现一个简易的超市收银系统程序。
技能目标:1. 学生能够运用C语言编写结构清晰、逻辑严密的程序代码;2. 学生能够利用C语言进行基本的输入输出操作,处理用户交互;3. 学生通过课程设计,提高问题分析能力,掌握程序调试与优化技巧。
情感态度价值观目标:1. 学生通过实际项目的设计与实现,培养对计算机编程的兴趣,增强解决实际问题的自信心;2. 学生在合作学习中培养团队精神和沟通协作能力,认识到合作的重要性;3. 学生能够在课程实践中体会编程对于优化生活的作用,激发创新精神和实践能力。
课程性质分析:本课程设计结合了C语言编程和实际生活场景,旨在提高学生的编程能力,培养学生解决实际问题的能力。
学生特点分析:学生处于高中年级,具备一定的逻辑思维能力和编程基础,对新鲜事物充满好奇,喜欢动手实践。
教学要求:教师需引导学生将所学知识与实际应用相结合,鼓励学生自主探索、合作学习,注重培养学生的实践能力和创新精神。
在教学过程中,将目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. C语言基础回顾:数据类型、变量声明、运算符、控制结构(if-else、for、while等);教材关联章节:第一章至第四章;进度安排:2课时。
2. 输入输出操作:printf、scanf函数的使用;教材关联章节:第二章;进度安排:1课时。
3. 函数:函数定义、调用、传参;教材关联章节:第五章;进度安排:2课时。
4. 数组与字符串:数组的使用、字符串处理;教材关联章节:第六章、第七章;进度安排:2课时。
5. 结构体与文件操作:结构体的定义和使用、文件读写操作;教材关联章节:第八章、第十章;进度安排:3课时。
超市收银模式课程设计

超市收银模式课程设计一、教学目标本课程旨在让学生掌握超市收银的基本模式,理解收银流程和操作规范,培养学生熟练的收银技能和良好的服务态度。
具体目标如下:1.了解超市收银的基本概念和流程。
2.掌握收银机的使用方法和技巧。
3.熟悉商品编码和价格查询。
4.理解超市销售策略和顾客心理。
5.能够独立完成收银操作,包括扫描商品、计算金额、找零等。
6.能够处理常见的顾客问题和投诉。
7.能够有效沟通,提供优质服务。
情感态度价值观目标:1.培养学生对工作的责任心和敬业精神。
2.培养学生尊重顾客,诚信经营的意识。
3.培养学生团队合作,积极向上的态度。
二、教学内容本课程的教学内容主要包括以下几个部分:1.超市收银概述:介绍超市收银的基本概念、流程和收银员的职责。
2.收银机的使用:讲解收银机的各种功能、操作方法和技巧。
3.商品编码与价格查询:教授商品编码的规律、价格查询的方法。
4.销售策略与顾客心理:分析超市销售策略,了解顾客心理,提高收银员的服务水平。
5.收银操作实践:进行收银操作演练,培养学生独立完成收银能力。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解收银的基本概念、流程和收银员的职责。
2.讨论法:分组讨论收银中遇到的问题和解决方案,培养学生的沟通能力。
3.案例分析法:分析实际案例,让学生了解收银中的特殊情况处理。
4.实验法:进行收银操作实践,培养学生独立完成收银能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用正规出版的超市收银教材,作为学生学习的主要参考资料。
2.参考书:提供相关领域的参考书籍,拓展学生的知识面。
3.多媒体资料:制作精美的PPT,展示收银流程和操作规范。
4.实验设备:准备足够的收银机和实践场地,让学生进行收银操作演练。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
c语言课程设计超市收银系统

c语言课程设计超市收银系统一、教学目标本课程旨在通过超市收银系统的设计与实现,让学生掌握C语言编程的基本语法、数据结构及算法,培养学生的实际编程能力和问题解决能力。
通过本课程的学习,学生应能熟练运用C语言进行简单应用程序的开发,理解面向对象编程的基本概念,掌握基本的调试技巧。
在技能目标方面,学生应掌握C语言的基本语法,包括数据类型、运算符、控制结构等;能运用函数进行模块化编程;了解并使用面向对象编程思想,包括类、对象、继承、封装等;掌握基本的算法设计和分析方法,能够编写并调试简单的C 语言程序。
在情感态度价值观目标方面,通过超市收银系统的设计与实现,使学生体验到编程的乐趣,增强对计算机科学的兴趣;培养学生的团队合作意识,提高学生解决实际问题的能力;培养学生勇于探索、创新的精神,以及对编程工作的敬业精神和责任感。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、面向对象编程和算法设计。
具体包括以下几个部分:1.C语言基本语法:数据类型、变量、运算符、控制结构(循环、分支)、函数等。
2.数据结构:数组、链表、栈、队列等。
3.面向对象编程:类与对象、继承与封装、多态性等。
4.算法设计与分析:排序算法、查找算法、常用算法思想等。
5.超市收银系统的设计与实现:需求分析、系统设计、编码实现、测试与调试等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
1.讲授法:用于讲解C语言的基本语法、数据结构、面向对象编程和算法设计等理论知识。
2.案例分析法:通过分析具体的编程案例,使学生更好地理解编程思想和方法。
3.实验法:让学生通过动手实践,完成超市收银系统的各个模块的设计与实现,提高实际编程能力。
4.小组讨论法:在课程进行过程中,学生进行小组讨论,培养团队合作精神和问题解决能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)、《C++ Primer》等。
超市收银c语言课程设计

超市收银c语言课程设计一、教学目标本节课的教学目标是让学生掌握超市收银系统的的基本流程,通过C语言编程实现一个简单的超市收银系统。
具体来说,知识目标包括掌握C语言的基本语法、数据结构和算法;技能目标包括能够使用C语言编写程序,解决实际问题;情感态度价值观目标包括培养学生的编程兴趣,提高学生解决问题的能力。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、控制语句等基本语法知识。
2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在程序中使用这些数据结构。
3.算法:介绍常用的排序和查找算法,如冒泡排序、选择排序、插入排序等,并讲解如何在程序中实现这些算法。
三、教学方法为了达到本节课的教学目标,将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据结构和算法,让学生掌握相关知识。
2.案例分析法:通过分析实际案例,让学生了解如何使用C语言解决实际问题。
3.实验法:让学生动手编写程序,巩固所学知识,提高编程能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供学习参考。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT,直观展示C语言编程过程。
4.实验设备:为学生提供电脑等实验设备,方便学生动手实践。
通过以上教学设计,相信能够帮助学生更好地掌握C语言编程知识,提高解决问题的能力。
五、教学评估本节课的教学评估将采用多元化的评价方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括:1.平时表现:评价学生在课堂上的参与程度、提问回答、小组讨论等,以考察学生的学习态度和积极性。
2.作业:布置相应的编程作业,要求学生独立完成,以检验学生对C语言编程知识的掌握程度。
3.考试:安排一次期末考试,测试学生对C语言基本语法、数据结构和算法的掌握情况。
超市收银c语言课程设计

超市收银c语言课程设计一、课程目标知识目标:1. 学生能理解C语言在超市收银系统中的应用,掌握基本的数据类型、变量、运算符和语法结构。
2. 学生能掌握结构体和数组的使用,实现对商品信息和收银数据的存储与管理。
3. 学生能运用函数和模块化编程思想,实现超市收银系统的各个功能模块。
技能目标:1. 学生能运用C语言编写简单的超市收银系统程序,具备基本的编程能力。
2. 学生能通过调试和修改程序,解决超市收银系统中的常见问题,提高问题解决能力。
3. 学生能运用所学知识,对超市收银系统进行优化和扩展,提高系统性能。
情感态度价值观目标:1. 学生通过课程学习,认识到编程在现实生活中的应用价值,激发对计算机编程的兴趣和热情。
2. 学生在团队协作中学会沟通、分享和合作,培养良好的团队精神。
3. 学生在课程实践中,体验编程带来的成就感,增强自信心,培养积极向上的学习态度。
本课程针对高年级学生,结合C语言学科特点,注重理论与实践相结合。
在教学过程中,关注学生的个体差异,激发学生的兴趣和潜能,培养学生编程思维和实际操作能力。
课程目标明确,分解为具体学习成果,便于后续教学设计和评估。
通过本课程的学习,使学生能够掌握C语言编程技能,为实际应用打下坚实基础。
二、教学内容1. C语言基础语法:数据类型、变量定义、运算符、表达式、输入输出语句。
- 教材章节:第一章至第三章- 进度安排:2课时2. 控制结构:顺序结构、选择结构、循环结构。
- 教材章节:第四章- 进度安排:3课时3. 函数:函数定义、调用、参数传递、递归。
- 教材章节:第五章- 进度安排:3课时4. 结构体与数组:结构体定义、数组应用、结构体数组。
- 教材章节:第六章、第七章- 进度安排:4课时5. 文件操作:文件打开、读写、关闭。
- 教材章节:第十章- 进度安排:2课时6. 超市收银系统设计:需求分析、模块划分、代码编写、系统测试。
- 教材章节:综合应用- 进度安排:5课时教学内容依据课程目标进行选择和组织,注重科学性和系统性。
C语言超市收银管理系统实现

C语言超市收银管理系统实现引言:随着社会经济的发展,超市作为一种新型的购物场所,逐渐取代了传统市场的地位,成为人们购物的首选。
超市管理面临诸多的挑战,因此,使用计算机技术来实现超市收银管理系统具有重要意义。
本文将介绍如何使用C语言实现超市收银管理系统。
1.系统需求分析:超市收银管理系统的主要功能包括商品信息管理、销售管理、库存管理和报表管理等。
这些功能对于超市管理人员来说是非常重要的,因此,我们需要分析每个功能所需的具体要求。
(1)商品信息管理:记录商品的信息,包括商品编号、商品名称、商品数量、商品价格等。
这些信息可以使用文件来存储和读取。
(2)销售管理:记录每次销售的详细信息,包括销售时间、销售员、商品名称、销售数量和销售金额等。
此外,还需要实时更新商品的库存信息。
(3)库存管理:根据销售信息实时更新商品的库存数量,当库存数量低于设定的预警值时,系统应发出警报。
(4)报表管理:生成各种销售报表,包括每日销售额、每月销售额、每类商品的销售情况等。
这些报表可以帮助管理人员了解超市的销售情况并进行分析。
2.系统设计:(1)数据结构设计:根据系统需求,我们需要设计一些数据结构来存储不同的数据,比如商品信息、销售信息和库存信息等。
可以使用结构体来表示每个数据项,同时可以使用链表或数组来保存多个数据项。
(2)功能模块设计:根据系统需求,我们可以把系统功能分为不同的模块,比如商品信息管理模块、销售管理模块、库存管理模块和报表管理模块等。
每个模块可以对应一个函数来实现相应的功能。
(3)界面设计:为了方便用户使用,我们可以设计一个简单的控制台界面,用户通过输入相应的命令来调用功能模块。
比如用户输入"add"可以调用商品信息管理模块来添加商品信息。
3.系统实现:(1)商品信息管理模块:实现商品信息的添加、删除、修改和查询功能。
可以使用文件来存储商品信息。
(2)销售管理模块:实现销售信息的记录和销售金额的计算功能。
超市收银系统C 课程设计

(1)查阅 C++书籍 (2)与同学讨论 (3)上网寻找解决方案
七、程序测试案例
1、进入系统,输入密码
2、密码,可以开始购买
4、输入索引号及数量购买 5、输出已购买商品的清单
7
6、付款及找零 七、参考文献
1 、谭浩强 《C++程序设计》 清华大学出版社 2004 年
8
cout<<"找零:"<<change<<endl;
5
} else {
cout<<"钱不够啊!!!"<<endl; cout<<"补交:"<<0-change<<endl; } cout<<"\n\n";
六、设计中遇到的问题及解决方案
1、问题:
(1)收银系统的流程不明了 (2)对程序编译的细节不清楚,导致错误改正不了 (3)不会导出.txt 格式文档
cout.width(18); cout<<left<<title[i]; } cout<<endl; }
4
(4)设置密码 int code=123,incode; cout<<"————超市收银系统————"<<endl; cout<<"请输入密码:"; cin>>incode; while (incode!=code) {
out<<setw(18)<<g.GetIndex()<<setw(18)<<g.GetName()<<setw(18)<<g.GetPrice()<<setw( 18)<<g.GetNum()<<endl;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称《C语言程序设计》课题名称超市收银系统的设计与实现专业统计学班级1201班学号************姓名马游指导教师杨子华陈世清李杰君2013年5月20日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题超市收银系统的设计与实现专业班级统计1201班学生姓名马游学号************指导老师杨子华陈世清李杰君审批任务书下达日期2013 年5月20日任务完成日期2013年6月23 日目录1.系统需求分析 (1)1.1系统要求1.2功能要求2.总体设计 (1)2.1模块划分2.2系统功能模块图2.3模块功能说明2.4商品函数数据类型3.详细设计 (3)3.1商品进货流程图3.2商品修改流程图4.程序调试分析 (4)5.总结 (9)6.系统使用说明 (9)附件:源程序清单1.系统需求分析1.1系统要求:实现对超市商品的收银以及各项数据的显示、查询、修改、排序等操作的管理。
1.2功能要求:1)本系统采用一个结构体数组,数据的结构应当包括:商品编号、商品名称、单价、库存量、购买量、总价、成本、利润。
2)本系统显示这样的菜单:请选择系统功能项:a、收银b、数据查询c、数据管理⑴入库⑵删除⑶修改d、利润统计⑴按类统计利润并排序⑵统计总利润e、退出系统3)执行一个具体的功能之后,程序将重新显示菜单。
4)将数据保存到文件中。
5)进入系统前要求先输入密码2.总体设计2.1模块划分首先输入管理员的账号、密码,成功登入系统,然后系统模块分为“商品管理”、“商品销售”、“查看利润”三个部分。
商品管理又包含:商品进货,商品添加,商品浏览,商品搜索,商品删除,商品修改或返回上一级。
2.2系统功能模块图2.3模块功能说明(1).登入模块:输入账号,密码登入。
(2).商品管理模块:对商品条形码,名称,单价,库存量,购买量,成本价,利润等信息录入的管理。
还可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品种类查询或按商品进货量查询。
(3).商品销售模块:输入要销售商品条形码,名称以及数量,最后进行付款,找零,或者打印小票。
(4).进货模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(5).删除模块:可对过期的商品做删除处理。
(6).修改模块:可根据需要对多件商品信息进行修改,也可随时对个别项进行修改。
(7).浏览模块:将所有商品信息或想要查询的商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。
(8).利润模块:统计商品的利润进行统计。
(9).返回上一级:选择该项,自动返回上一级的选择。
2.4商品函数数据类型3.详细设计3.1 商品进货流程图3.2商品修改流程图 ynn4. 程序调试分析1.首先输入账号、密码,登入收银系统修改商品名称:进货单价: 库存数量: 销售单价: 是否继续修改:(y/n) 结束修改输入2到修改模块继续修改进货信息2.选择商品菜单功能3..输入进货的商品条码、名称、单价、数量、售价4.修改商品名称、单价、售价、库存 5.浏览所有商品信息6.查找商品 7.添加商品8.删除部分商品 9.购买商品5. 总结此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,于是就按课本上的例子编了超市管理系统,先把界面弄好然后再添加各模块。
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。
尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。
这过程艰辛,但只要你持之以恒,成功指日可待。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学, 学到了课本上没有的知识。
从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起应用,除此之外,写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。
在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。
当然由于自己学的不够好,知识不够丰富,在选题报告中还有一些不够完美的地方。
希望自己继续努力,下次能做的更好。
同时我想向所有为我的实习提供帮助和指导的老师和同学致谢,感谢你们为我的顺利实习所作的努力和帮助。
通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学洗C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
6. 系统使用说明(1)初次使用先添加管路员的账号、密码,密码需要再次输入。
(2)输入正确的账号、密码即可登入成功,进入商品管理。
(3)添加商品时,只可添加已有条码商品的数量,若添加新的商品则进入进货模块。
(4)修改商品时,可修改商品全部信息,也可以只是修改商品部分的信息。
(5)退出再次进入系统时,原来进货的商品信息依然存在,方便操作。
(6)退出系统,再次登入,直接输入账号、密码即可,无需再添加账户。
计算机与通信学院课程设计评分表教师签名:日期:附件:源程序清单#include <stdio.h>#include<string>#include<windows.h>void jieshao()//软件介绍{printf("\t**************************************************\n");printf("\t***** 欢迎来到超市收银系统 ******\n"); printf("\t*************************************************\n"); }float zongjine=0;//消费总金额float chengben=0;//保存使用的成本float yingli=0;//保存盈利金额int guanshuliang=0;//记录管理员数量int xiaoshuliang=0;//记录销售员数量int chenggong=0;//0则是管理员,非0则是销售员。
证明登陆是否成功int zhonglei=0;//记录货物种类int zhenjia=0; //记录是否是会员 0则不是会员1则是会员int diji=0;//记录是会员编号int zongjifen=0;//记录一共接受了多少积分struct huiyuan//定义会员信息结构{float jifen;//记录会员积分char name[50];//帐户char mima[50];//密码};huiyuan hui[1000000];//会员信息struct shangpin//定义商品结构体{char name[50];//商品名char tiaoxinma[50];//条形码float xiaoshoudanjia;//销售单价float jinhuodanjia;//进货单价int kucun;//库存};shangpin shp[10000000];//用于保存商品的信息struct xiaoshouyuan//定义销售员结构体{int cunzai;//用于记录该销售员是否存在,=-1则表示被删除char zhanghu[20];//销售员帐户char mima[20]; //销售员密码};xiaoshouyuan xiao[50];struct guanliyuan//定义管理员结构体{int cunzai;//用于记录该管理员员是否存在,=-1则表示被删除char zhanghu[20];//管理员帐户char mima[20]; //管理员密码};guanliyuan guan[100];FILE *fp;//定义一个FILE类型的*fp指针//保存商品结构体数组void Saveshangpin()//wb为二进制写,如果文件不存在则自动创建文件shangpin.dat {fp=fopen("shangpin.dat","wb");if(fp) //如果文件被成功打开的话(有可能文件不存在){for(int i=0;i<zhonglei;i++){if(fwrite(&shp[i],sizeof(struct shangpin),1,fp)!=1)printf("文件写入错误!\n");}fclose(fp);}}//读取商品结构体数组到文件void Loadshangpin(){fp=fopen("shangpin.dat","rb");if(fp) //如果文件被成功打开的话(有可能文件不存在){for(int i=0;fread(&shp[i],sizeof(struct shangpin),1,fp);i++){zhonglei++;}fclose(fp);}}//保存管理员结构体数组void Saveguanliyuan()//wb为二进制写,如果文件不存在则自动创建文件{fp=fopen("guanliyuan.dat","wb");if(fp) //如果文件被成功打开的话(有可能文件不存在){for(int i=0;i<guanshuliang;i++){if(fwrite(&guan[i],sizeof(struct guanliyuan),1,fp)!=1)printf("文件写入错误!\n");}fclose(fp);}}void Loadguanliyuan()//读取管理员结构体数组到文件{fp=fopen("guanliyuan.dat","rb");if(fp) //如果文件被成功打开的话(有可能文件不存在){guanshuliang=0;for(int i=0;fread(&guan[i],sizeof(struct guanliyuan),1,fp);i++){guanshuliang++;}fclose(fp);}}//保存销售员结构体数组void Savexiaoshouyuan()//wb为二进制写,如果文件不存在则自动创建文件shangpin.dat{fp=fopen("xiaoshouyuan.dat","wb");if(fp) //如果文件被成功打开的话(有可能文件不存在){for(int i=0;i<xiaoshuliang;i++){if(fwrite(&xiao[i],sizeof(struct xiaoshouyuan),1,fp)!=1)printf("文件写入错误!\n");}fclose(fp);}}void Loadxiaoshouyuan()//读取销售员结构体数组到文件{fp=fopen("xiaoshouyuan.dat","rb");if(fp) //如果文件被成功打开的话(有可能文件不存在){xiaoshuliang=0;for(int i=0;fread(&xiao[i],sizeof(struct xiaoshouyuan),1,fp);i++) {xiaoshuliang++;}fclose(fp);}}void guanlicaidan()//管理员权限菜单{printf("\n\n\t********* 管理员权限菜单: **************\n");printf("\t**************************************************\n");printf("\t********** 1. 商品管理 **********\n");printf("\t \n");printf("\t********** 2. 查看利润 **********\n");printf("\t \n");printf("\t********** 0. 返回身份选择! **********\n");printf("\t**************************************************\n");}void xiaocaidan()//销售员权限菜单{printf("\n\n\t******** 销售员权限菜单: ***********\n");printf("\t \n");printf("\t******* 1. 浏览商品信息 *******\n");printf("\t \n");printf("\t******* 2. 销售 *******\n");printf("\t \n");printf("\t******* 0. 返回身份选择! *******\n");printf("\t**************************************************\n");}void jinhuo()//进货{Loadshangpin();char choose;int i=zhonglei;int shi=1;//记录条形码是否被使用-数则表示被使用了do{shi=1;//在判断条码前为非负数printf("购买商的条码:");fflush(stdin);scanf("%s",shp[i].tiaoxinma);if(zhonglei>0){for(int a=0;a<zhonglei;a++){if(a!=i&&shp[a].kucun>=0){if(strcmp(shp[i].tiaoxinma,shp[a].tiaoxinma)==0){printf("错误!!此条码已经被使用!\n");shi=-1;//条码被使用。