C++课程设计报告-商品管理系统
商品管理系统设计c语言课程设计
商品管理系统设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握商品管理系统的设计与实现方法,培养学生运用C语言进行软件开发的实际能力。
具体目标如下:1.知识目标:使学生了解商品管理系统的功能和结构,掌握C语言的基本语法和编程技巧,了解数据结构的基本概念。
2.技能目标:培养学生能够使用C语言编写程序,实现商品管理系统的功能,培养学生解决实际问题的能力。
3.情感态度价值观目标:培养学生对软件开发的兴趣,增强学生的团队合作意识和创新精神。
二、教学内容本课程的教学内容主要包括三部分:商品管理系统的需求分析、商品管理系统的软件设计、商品管理系统的实现与测试。
具体安排如下:1.商品管理系统的需求分析:介绍商品管理系统的功能和结构,培养学生分析问题和需求的能力。
2.商品管理系统的软件设计:讲解C语言的基本语法和编程技巧,使学生能够使用C语言进行程序设计。
3.商品管理系统的实现与测试:介绍数据结构的基本概念,培养学生使用C语言实现和测试商品管理系统的能力。
三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过讲解商品管理系统的需求分析、软件设计和实现与测试等方面的知识,使学生掌握课程的基本概念和原理。
2.案例分析法:通过分析实际案例,使学生了解商品管理系统的实际应用,培养学生分析问题和解决问题的能力。
3.实验法:通过上机实验,使学生掌握C语言的编程技巧,培养学生实现和测试商品管理系统的能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备多种教学资源,包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用《C语言程序设计》作为教材,系统地介绍C语言的基本语法和编程技巧。
2.参考书:推荐《数据结构》等参考书,帮助学生深入了解数据结构的基本概念。
3.多媒体资料:制作课件和教学视频,生动形象地展示课程内容,提高学生的学习兴趣。
C语言课程设计商品销售管理系统
C语言课程设计商品销售管理系统商品销售管理系统目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (4)四、调试分析 (14)五、用户手册 (14)六、测试数据 (15)七、附录 (18)—1—一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。
记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。
(要求:1.源文件采用多文件的工程结构 2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计(一)按系统分析的功能要求将系统划分为以下几个主要功能模块:1、文件管理文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,能够把其保存在一个文件中,并对该文件可进行打开和关闭操作。
2、进出货管理(1)商品进货: 输入数据后商品信息能自动更新进行添加(2)商品销售: 输入数据后商品信息能自动更新进行减少3、商品数据管理(1)增加/删除商品: 添加或删除某条商品的信息(2)修改商品信息: 对某条商品的信息进行修改4、浏览商品信息管理(1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询(2)排序商品信息: 可按商品编号、名称、类别分别排排序(3)浏览商品信息:可浏览输入、查询或排序后的数据。
(二)本程序结构(1)结构体设计struct goods{ long int num;char name[20];char sort[20];long int count;long int price;}goods[200];(2)各功能函数设计:void input() /*功能1:输入商品信息*/—2—void sequence() /*功能2:排序商品信息*/void purchase() /*功能3:进货商品信息*/void sell() /*功能4:销售商品信息*/void edit() /*功能5:添加或删除商品信息*/ void correct() /*功能6:修改商品信息*/void search() /*功能7:查询商品信息*/void scan() /*功能8:浏览商品信息*/void reserve() /*功能9:保存文件*/void quit() /*退出系统*/(3)主函数设计:void main (){void input();void sequence();void purchase();void sell();void edit();void correct();void search();void scan();void reserve();lp: for(i=0;i<1;i++)scanf("%d",&k);system("cls");switch(k) /*用switch语句实现功能选择*/。
C语言课程设计销售管理系统报告(大全五篇)
C语言课程设计销售管理系统报告(大全五篇)第一篇:C语言课程设计销售管理系统报告报告正文1、题目与要求:1.1 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当日出售的每种产品各写一张便条交上来。
每张便条内容有•销售员的代号•产品的代号•这种产品当天的销售额1.2 每位销售员每天可能上缴0-5张便条。
假设手机到了上个月的所有便条,编写一个处理系统,读取上月的销售情况(自己设定),进行如下处理:•计算上个月没人每种产品的销售额•按销售额对销售员进行排序,输出排序结果(销售员代号)•统计每种产品的总销售额,对这些产品从高到低的顺序输出结果(须输出产品的代号和销售额)•输出统计报表2、需求分析本程序将用到文件系统,list.txt文件内容作为数据源,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
3、功能实现设计3.1总体设计根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。
其中主要模块是前四个模块。
3.2流程图3.3详细设计:3.3.1【头文件和预定义】 #include #include#include #include #define M 155 3.3.2【功能函数声明】 void detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 3.3.3【数据结构】原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。
C语言课程设计《商品销售管理系统》
C语言课程设计《商品销售管理系统》摘要本文介绍的是C语言课程设计《商品销售管理系统》,通过使用C语言编程制作的电脑程序,能实现商品销售入库、库存管理、采购管理、商品销售及库存查询功能,设计的目的是为了让电脑为商店的销售管理工作提供帮助。
关键词:C语言课程设计;商品销售管理系统;商品入库;库存管理;采购管理。
1 绪论商品销售管理系统是一种电脑信息系统,是通过计算机程序实现库存管理、采购管理、销售管理、库存查询等基本功能,以便更有效地管理货物出售,节省人力与财力的。
因此,本文将使用C语言开发一个基于计算机的商品销售管理系统,以实现商品销售入库、库存管理、采购管理、商品销售及库存查询等功能。
2 功能需求2.1主菜单程序的功能菜单由主菜单控制,主菜单主要有以下几项功能:(1)商品入库(2)库存管理(3)采购管理(4)库存查询(5)商品销售(6)退出系统2.2 商品入库此功能需要实现商品信息录入功能,比如商品名称、售价、单位、购买数量等。
2.3 库存管理此功能的功能是实现对商品库存的管理,可以实现对商品库存的查看和管理功能,方便商家明确库存量。
2.4 采购管理此功能是实现采购管理,功能包括供货商信息管理、商品采购管理、采购账务记账等。
2.6 商品销售此功能用于实现对商品的销售,可以实现商品信息的查看及购买,销售的同时可以实现商品库存的查看。
3 系统建模系统建模是用逻辑模型来描述系统信息流程,包括实体-实体关系模型、关系模型及功能模型,实体-实体关系模型可以描述系统中各实体之间关系的抽象结构;关系模型能将系统中的关键实体和关联分析结构表示出来;功能模型能实现各种功能以及功能之间的关系结构。
4 系统设计本系统的设计重点是编写C语言程序,以实现商品销售管理系统功能。
核心算法包括以下:(1)无源文件init_menu(),用于初始化主菜单,根据用户输入调用不同的程序完成功能;(2)商品入库文件proc_input(),主要实现商品信息录入功能,需要获取用户输入的商品信息并存储;(3)库存管理文件proc_manage(),实现对商品库存的查看和管理功能,若商品库存不足,则可以选择跳转到商品采购管理程序;(4)采购管理文件proc_buy(),主要实现采购管理功能,包括供货商信息管理、商品采购管理、采购账务记账等;(5)库存查询文件proc_search(),用于实现对商品库存数量查询;(6)商品销售文件proc_sale(),用于实现商品的销售,销售的同时可以实现商品库存的查看。
商品库存管理c语言课程设计
商品库存管理c语言课程设计一、课程目标知识目标:1. 理解商品库存管理的基本概念和原理,掌握C语言实现库存管理系统的基础知识。
2. 学会使用C语言构建库存管理系统的数据结构,如链表、结构体等。
3. 掌握C语言文件操作,实现对库存数据的读写和存储。
技能目标:1. 能够运用C语言编写商品库存管理系统的基本功能,如商品信息的增加、删除、修改和查询。
2. 学会运用调试工具,对C语言程序进行调试和优化,提高程序的稳定性和运行效率。
3. 培养独立分析和解决实际问题的能力,将所学知识应用于库存管理系统的设计和实现。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发主动学习和探究的热情。
2. 培养学生团队协作精神,学会与他人共同解决问题,提高沟通和协作能力。
3. 增强学生的实际操作能力和创新意识,认识到编程知识在解决实际问题中的价值。
本课程针对高中年级学生,结合学科特点,将课程目标分解为具体的学习成果。
在教学过程中,注重理论与实践相结合,充分考虑学生的认知水平和编程基础,以实现课程目标为导向,培养学生运用C语言解决实际问题的能力。
通过本课程的学习,学生将能够独立设计和实现一个简单的商品库存管理系统,提高编程技能和实际操作能力。
二、教学内容1. 商品库存管理基本原理:介绍库存管理系统的概念、作用和基本功能,使学生了解库存管理在实际生活中的重要性。
2. C语言基础知识回顾:回顾C语言的基本语法、数据类型、运算符、控制结构等,为后续编程打下基础。
3. 数据结构设计:讲解链表、结构体等数据结构在库存管理系统中的应用,使学生掌握如何使用C语言构建合适的数据结构。
4. 函数设计:介绍C语言函数的定义、调用和参数传递,指导学生如何将程序功能模块化。
5. 文件操作:讲解C语言文件操作的基本方法,使学生学会如何读写库存数据到文件。
6. 库存管理系统功能实现:按照教学大纲,详细讲解如何实现商品信息的增加、删除、修改和查询功能。
c课程设计货品管理系统
c课程设计货品管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握货品管理系统的概念、结构和功能。
技能目标要求学生能够运用所学知识设计并实现一个简单的货品管理系统。
情感态度价值观目标则在于培养学生对货品管理工作的重视,以及对待工作的认真态度和团队协作精神。
通过对课程性质、学生特点和教学要求的分析,我们将这些目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容根据课程目标,我们选择和了以下教学内容:1.货品管理系统的概念:介绍货品管理系统的定义、作用和重要性。
2.货品管理系统的结构:讲解货品管理系统的基本组成部分,包括货品信息管理、库存管理、销售管理等。
3.货品管理系统的功能:介绍货品管理系统的主要功能,如货品入库、出库、查询、修改等。
4.货品管理系统的设计与实现:教授如何设计一个简单的货品管理系统,并实际操作演示。
以上内容均与课本紧密相关,符合教学实际。
三、教学方法为了激发学生的学习兴趣和主动性,我们采用了多样化的教学方法,包括:1.讲授法:讲解货品管理系统的概念、结构和功能。
2.案例分析法:分析实际案例,让学生更好地理解货品管理系统的应用。
3.实验法:实际操作演示,让学生亲身体验货品管理系统的设计与实现。
通过以上教学方法,我们旨在提高学生的学习效果。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们选择了以下教学资源:1.教材:作为主要的学习资料,用于引导学生学习。
2.参考书:提供更多的理论知识和实践案例。
3.多媒体资料:通过视频、图片等形式,生动展示货品管理系统的工作原理和应用场景。
4.实验设备:用于实际操作演示,让学生亲身体验货品管理系统的设计与实现。
以上教学资源均与课本紧密相关,符合教学实际。
五、教学评估为了全面反映学生的学习成果,我们设计了以下评估方式:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,以考查其对知识的掌握和运用能力。
C语言课程设计《商品销售管理系统》
商品销售管理系统目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (4)四、调试分析 (14)五、用户手册 (14)六、测试数据 (15)七、附录 (18)—1—一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。
记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。
(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计(一)按系统分析的功能要求将系统划分为以下几个主要功能模块:1、文件管理文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。
2、进出货管理(1)商品进货: 输入数据后商品信息能自动更新进行添加(2)商品销售: 输入数据后商品信息能自动更新进行减少3、商品数据管理(1)增加/删除商品: 添加或删除某条商品的信息(2)修改商品信息: 对某条商品的信息进行修改4、浏览商品信息管理(1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询(2)排序商品信息: 可按商品编号、名称、类别分别排排序(3)浏览商品信息:可浏览输入、查询或排序后的数据。
(二)本程序结构(1)结构体设计struct goods{ long int num;char name[20];char sort[20];long int count;long int price;}goods[200];(2)各功能函数设计:void input() /*功能1:输入商品信息*/—2—void sequence() /*功能2:排序商品信息*/void purchase() /*功能3:进货商品信息*/void sell() /*功能4:销售商品信息*/void edit() /*功能5:添加或删除商品信息*/void correct() /*功能6:修改商品信息*/void search() /*功能7:查询商品信息*/void scan() /*功能8:浏览商品信息*/void reserve() /*功能9:保存文件*/void quit() /*退出系统*/(3)主函数设计:void main (){void input();void sequence();void purchase();void sell();void edit();void correct();void search();void scan();void reserve();lp: for(i=0;i<1;i++)scanf("%d",&k);system("cls");switch(k) /*用switch语句实现功能选择*/system("cls"); /*清屏*/goto lp; /*返回主界面*/}三、详细设计(1)各功能函数:void input() /*功能1:输入商品信息*/{printf("\n 请输入需要建立新库存的商品种类数量:");scanf("%d",&n);system("cls");printf("\n …………………………………………………………………………………………………\n");for(i=0;i<n;i++) /*用循环实现输入n个商品*/{printf("\n\t*请输入商品的编号:");scanf("%ld",&goods[i].num);printf("\n\t 请输入商品的名称:");—3—scanf("%s",goods[i].name);printf("\n\t 请输入商品的种类:");scanf("%s",goods[i].sort);printf("\n\t 请输入商品的数量:");scanf("%d",&goods[i].count);printf("\n\t 请输入商品的单价:");scanf("%d",&goods[i].price);printf("\n …………………………………………………………………………………………………\n");}printf("\tPlease press any key to continue:");getch();return; /*返回主界面*/}void sequence() /*功能2:排序商品信息*/{long temp;char p1[30],p2[30];for(k=0;k<n-1;k++) /*(1): 按编号排序*/for(i=0;i<n-k-1;i++) /*用起泡法排序*/if(goods[i].num>goods[i+1].num) /*按编号由小到大排序*/{temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);}printf("--------------------------------------------------------------------------------\n");printf("\n\t\t按商品编号排序后的商品信息\n\n");printf("\t商品编号商品名称商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5ld %5s %5s %5ld %5ld\n",go ods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);—4—}for(k=0;k<n-1;k++) /*(2): 按商品名称排序*/for(i=0;i<n-k-1;i++)if(strcmp(goods[i].name,goods[i+1].name)>0){strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);}printf("--------------------------------------------------------------------------------\n");printf("\n\t\t按商品名称排序后的商品信息\n");printf("\n\t商品名称商品编号商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5s %5ld %5s %5ld %5ld\n",goods[ i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);}for(k=0;k<n-1;k++) /*(3): 按商品类别排序*/for(i=0;i<n-k-1;i++) /*用起泡法排序*/if(strcmp(goods[i].sort,goods[i+1].sort)>0){strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);}printf("-------------------------------------------------------------—5—-------------------");printf("\n\t\t按商品类别排序后的商品信息\n\n");printf("\t商品类别商品编号商品名称商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5s %5ld %5s %5ld %5ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);}printf("--------------------------------------------------------------------------------");printf("please press any key to continue:");getch();return; /*返回主界面*/}void purchase() /*功能3:进货商品信息*/ {long temp; /*定义临时变量表示刚进货的商品编号*/int j;printf("\n\t\5请输入刚进货的商品编号:");scanf("%ld",&temp);printf("\n\t\5请输入刚进货的商品数量:");scanf("%d",&j);printf("\n\n\n\tpress any key to contiue:");getch();system("cls");printf("\n\t输出进货后的商品信息:");for(i=0;i<n;i++) /*循环,寻找与进货相同的商品信息*/if(temp==goods[i].num)goods[i].count=goods[i].count+j; /*自动更改商品数量*/printf("\n\t商品编号商品名商品类别商品数量商品价格");for(i=0;i<n;i++) /*循环,输出进货后的商品信息*/{printf("\n\t %4ld %4s %4s %ld %4ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}printf("\n\n\t\tPress any key to enter menu:");getch(); /*返回功能选择界面*/return;}—6—void sell() /*功能4:销售商品信息*/{long temp; /*定义临时变量temp表示刚销售的商品编号*/int j;printf("\n\t\5请输入刚销售的商品编号:");scanf("%ld",&temp);printf("\n\t\5请输入刚销售的商品数量:");scanf("%d",&j);for(i=0;i<n;i++) /*循环,找到刚销售的商品信息*/{if(temp==goods[i].num){for(;j>goods[i].count;) /*如果销售额大于库存量,则出现错误提示*/{printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:");scanf("%d",&j);}goods[i].count=goods[i].count-j; /*完成自动更改商品数量的功能*/}}printf("\n\tpress any key to contiue:");getch();system("cls"); /*清屏*/printf("\n\n *销售后商品信息:");printf("\n\t商品类别商品编号商品名称商品数量商品单价\n");for(i=0;i<n;i++) /*循环,输出销售后商品信息*/{printf("\t %4s %4ld %4s %4ld %4ld\n",g oods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price );}printf("\n\tPress any key to enter menu:");getch();return; /*返回功能选择界面*/}void edit() /*功能5:添加或删除商品信息*/ {void add(); /*声明子函数*/void dele();—7—printf("\n\t请选择:1.添加商品信息; 2.删除商品信息;");printf("\t*请输入 1或2 继续:");scanf("%d",&k);switch(k) /*用switch语句实现功能选择*/{case 1: add();break;case 2: dele();break;}getch();return; /*返回主菜单*/}void add() /*添加商品信息*/{ /*定义子函数*/printf("\t*请输入所添加商品的商品编号:");scanf("%ld",&goods[n].num);printf("\n\t请输入所添加商品的名称:");scanf("%s",goods[n].name);printf("\n\t请输入所添加商品的类别:");scanf("%s",goods[n].sort);printf("\n\t请输入所添加商品的数量:");scanf("%d",&goods[n].count);printf("\n\t请输入所添加商品的价格:");scanf("%d",&goods[n].price);n=n+1;printf("\n");}void dele() /*删除商品信息*/{ /*定义子函数*/int temp; /*定义局部变量*/int j;for(i=0;i<n;i++){printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\n");printf("\n*请输入要删除的商品编号:");scanf("%ld",&temp);printf("\n\n");—8—for(i=0;i<n;i++){if(temp==goods[i].num){for(j=i;j<n;j++){goods[j].num=goods[j+1].num;strcpy(goods[j].name,goods[j+1].name);strcpy(goods[j].sort,goods[j+1].sort);goods[j].count=goods[j+1].count;goods[j].price=goods[j+1].price;}n=n-1; /*商品总库存量减少*/}}for(i=0;i<n;i++){printf("\n\t商品编号商品名商品类别商品数量商品价格"); /*输出删除后的商品信息*/printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("Please press any key to continue:");getch();return; /*返回主界面*/}void correct() /*功能6:修改商品信息*/ {long temp; /*定义局部变量*/printf("\n\t请输入要修改的商品的编号:");scanf("%ld",&temp); /*输入新的商品信息*/printf("\n");for(i=0;i<n;i++) /*保存新的商品信息*/{if(temp==goods[i].num){printf("\t请输入一个新的的商品编号:");scanf("%ld",&goods[i].num);printf("\n\t请输入新的商品的名称:");scanf("%s",goods[i].name);printf("\n\t请输入新的商品的类别:");—9—scanf("%s",goods[i].sort);printf("\n\t请输入新的商品的数量:");scanf("%d",&goods[i].count);printf("\n\t请输入新的商品价格:");scanf("%d",&goods[i].price);printf("\n");}}for(i=0;i<n;i++){printf("\n\t新的商品名称商品编号商品类别商品数量商品单价\n");printf("\t %4s %4ld %4s %4ld %4ld",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[ i].price);printf("\n");}printf("Please press any key to continue:"); /*返回功能选择界面*/getch();return; /*返回主菜单*/}void search() /*功能7:查询商品信息*/{int k; /*定义局部变量*/long temp1;char temp2[30],temp3[20];printf("\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货的商品,请按4\n");printf("\n\n\n\t\t\t请输入数字确定查询方式:");scanf("%d",&k);printf("\n");printf("Press any key to continue:");getch();system("cls");switch(k) /*实现查询方式的选择*/{case 1:{ printf("\n\n\n\n\n\t\t请输入要查询的商品的编号:"); /*按商品编号查询*/scanf("%ld",&temp1);system("cls"); /*清屏*/for(i=0;i<n;i++){—10—if(temp1==goods[i].num){printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 2:{ printf("\n\n\n\n\n\t\t请输入要查询的商品名:"); /*按商品名查询数据*/scanf("%s",temp2);system("cls");for(i=0;i<n;i++){if(strcmp(temp2,goods[i].name)==0){printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 3:{ printf("\n\n\n\n\n\t\t请输入要查询的商品类别:"); /*按商品类别查询数据*/scanf("%s",temp3);system("cls");for(i=0;i<n;i++){if(strcmp(temp3,goods[i].sort)==0)printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i] — 11 —.price);}}}break; /*跳出switch语句*/case 4:{ int a=50;for(i=0;i<n;i++) /*查询需要进货的商品名*/{if(goods[i].count<a)printf("\n\t\t\4需要进货的商品名:%s 现有库存量:%ld\n",goods[i].name,goods[i].count);}}break; /*跳出switch语句*/}printf("\n\n\t\tPress any key to enter menu:");getch();return; /*返回主界面*/}void scan() /*功能8:浏览商品信息*/ {printf("\n\t浏览输入的商品信息,请按1\n\n\t浏览查询的商品信息,请按2\n\n\t浏览排序后商品信息,请按3\n");printf("请选择:");scanf("%d",&k);switch(k){case 1:{ printf("\t\t\t浏览输入的商品信息\n");printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");printf("Press any key to enter menu:");getch();return;} break; /*跳出switch语句*/case 2:{ printf("\t\t\t浏览查询的商品信息\n");—12—printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\nPress any key to enter menu:");getch();return;} break; /*跳出switch语句*/case 3:{ printf("\t\t\t浏览按商品编号排序的商品信息\n");printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i].num ,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\nPress any key to enter menu:");getch();return; /*返回主界面*/} break; /*跳出switch语句*/}}void reserve() /*功能9:保存文件*/{FILE *fp;char file[15]; /*用来存放文件保存路径以及文件名*/ system("cls"); /*清屏*/printf("\n\t*请输入文件路径及文件名:");scanf("%s",file);fp=fopen("file","w+"); /*创建并打开一个文件,并得到该文件的地址*/fprintf(fp,"商品编号\t商品名 \t商品类别\t商品数量\t商品价格\n");printf("商品编号\t商品名 \t 商品类别\t 商品数量\t 商品价格\n");for(i=0;i<n;i++)—13—{fprintf(fp,"%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name ,goods[i].sort,goods[i].count,goods[i].price);printf("%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name,goo ds[i].sort,goods[i].count,goods[i].price);}fclose(fp); /*关闭文件*/printf("文件已经保存!\n");getch();system("cls"); /*清屏*/}void quit() /*退出系统*/{exit(0);}四、调试手册(1)、sp.c(225) : warning C4013: 'add' undefined; assuming extern returning int add()函数声明错误。
c课程设计商品管理系统
c 课程设计商品管理系统一、教学目标本课程的教学目标是使学生掌握商品管理系统的基本概念、设计和实现方法。
通过本课程的学习,学生将能够理解商品管理系统的业务流程,掌握系统设计的基本原则和技术,提高解决实际问题的能力。
1.了解商品管理系统的起源和发展历程。
2.掌握商品管理系统的业务流程和基本功能。
3.理解商品管理系统的设计原则和技术架构。
4.能够运用相关工具和技术进行商品管理系统的需求分析。
5.能够根据需求分析结果设计商品管理系统的基本架构。
6.能够编写商品管理系统的核心代码,并进行调试和优化。
情感态度价值观目标:1.培养学生对商品管理系统的兴趣,提高其主动学习和探索的精神。
2.培养学生团队协作的能力,使其能够有效地与他人共同完成任务。
3.培养学生关注社会问题,提高其对商品管理系统在社会中的作用和价值的认识。
二、教学内容本课程的教学内容主要包括商品管理系统的基本概念、业务流程、设计原则和技术架构。
具体包括以下几个部分:1.商品管理系统的基本概念:介绍商品管理系统的发展历程、定义、功能和应用场景。
2.商品管理系统的业务流程:讲解商品管理系统的各个环节,如商品信息管理、库存管理、销售管理等。
3.商品管理系统的设计原则:阐述商品管理系统设计时应遵循的原则,如模块化、灵活性、可扩展性等。
4.商品管理系统的技术架构:介绍商品管理系统常用的技术架构,如客户端/服务器架构、B/S架构等。
5.商品管理系统的实现方法:讲解如何根据设计原则和技术架构实现一个商品管理系统,包括需求分析、系统设计、编码实现等步骤。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
主要教学方法包括:1.讲授法:教师讲解商品管理系统的基本概念、设计原则和技术架构,为学生提供系统的知识结构。
2.案例分析法:分析实际案例,使学生更好地理解商品管理系统的业务流程和实现方法。
3.实验法:让学生动手编写代码,实现商品管理系统的部分功能,提高学生的实际操作能力。
C语言程序课程设计商品进销存管理程序文件
C语言程序课程设计商品进销存管理程序文件在当今商业活动日益频繁的时代,对于企业来说,有效地管理商品的进、销、存情况至关重要。
一个高效、准确的商品进销存管理系统能够帮助企业更好地掌握库存状况、优化采购策略、提高销售效率,并最终实现经济效益的最大化。
而在 C 语言程序设计课程中,设计一个商品进销存管理程序文件,不仅能够锻炼我们的编程能力,还能让我们深入理解程序设计在实际问题解决中的应用。
一、需求分析首先,我们需要明确商品进销存管理程序的功能需求。
它应该能够实现以下基本功能:1、商品信息的录入,包括商品名称、编号、进价、售价、库存数量等。
2、进货操作,能够记录每次进货的商品数量和进价,并更新库存数量和成本。
3、销售操作,记录每次销售的商品数量和售价,并更新库存数量和销售额。
4、库存查询,能够实时查询每种商品的库存数量和成本。
5、销售统计,能够统计一段时间内的销售总额和利润。
二、设计思路在明确了需求之后,我们来考虑程序的设计思路。
1、数据结构的选择我们可以使用结构体来表示商品信息,包括商品的各种属性。
为了存储多个商品的信息,可以使用数组或链表。
2、功能模块的划分商品信息录入模块,负责接收用户输入的商品信息并进行存储。
进货模块,处理进货相关的操作。
销售模块,处理销售相关的操作。
库存查询模块,提供库存信息的查询功能。
销售统计模块,计算和展示销售的统计数据。
3、输入输出的设计使用标准输入输出函数(如`scanf` 和`printf`)与用户进行交互。
三、代码实现以下是一个简单的 C 语言商品进销存管理程序的示例代码:```cinclude <stdioh>include <stdlibh>//定义商品结构体typedef struct {char name50;int id;float purchase_price;float selling_price;int stock_quantity;} Commodity;//商品信息录入函数void inputCommodity(Commodity commodity) {printf("请输入商品名称:");scanf("%s", commodity>name);printf("请输入商品编号:");scanf("%d",&commodity>id);printf("请输入商品进价:");scanf("%f",&commodity>purchase_price);printf("请输入商品售价:");scanf("%f",&commodity>selling_price);printf("请输入商品库存数量:");scanf("%d",&commodity>stock_quantity);}//进货函数void purchaseCommodity(Commodity commodity, int quantity, float purchase_price) {commodity>stock_quantity += quantity;//更新成本//}//销售函数void sellCommodity(Commodity commodity, int quantity) {if (commodity>stock_quantity >= quantity) {commodity>stock_quantity = quantity;//更新销售额//} else {printf("库存不足,无法销售!\n");}}//库存查询函数void queryStock(Commodity commodity) {printf("商品名称:%s\n", commodity>name);printf("商品编号:%d\n", commodity>id);printf("库存数量:%d\n", commodity>stock_quantity);//}//销售统计函数void salesStatistics(Commodity commodity) {//计算和打印销售总额、利润等统计信息//}int main(){Commodity commodity;int choice, quantity;float purchase_price;while (1) {printf("1、商品信息录入\n");printf("2、进货\n");printf("3、销售\n");printf("4、库存查询\n");printf("5、销售统计\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputCommodity(&commodity);break;case 2:printf("请输入进货数量:");scanf("%d",&quantity);printf("请输入进货单价:");scanf("%f",&purchase_price);purchaseCommodity(&commodity, quantity, purchase_price);break;case 3:printf("请输入销售数量:");scanf("%d",&quantity);sellCommodity(&commodity, quantity);break;case 4:queryStock(&commodity);break;case 5:salesStatistics(&commodity);break;case 6:exit(0);default:printf("无效的选择,请重新输入!\n");}}return 0;}```在上述代码中,我们定义了商品结构体来存储商品的相关信息,并实现了商品信息录入、进货、销售、库存查询和销售统计等功能。
商品管理系统课程设计
商品管理系统课程设计一、课程目标知识目标:1. 让学生理解商品管理系统的基本概念,掌握系统的功能模块及其相互关系。
2. 使学生掌握商品信息录入、查询、修改和删除的操作方法。
3. 帮助学生了解商品库存管理的基本原理,学会进行库存盘点和预警分析。
技能目标:1. 培养学生运用计算机技术进行商品信息管理的能力,提高数据处理效率。
2. 培养学生运用商品管理系统进行库存管理,解决实际问题的能力。
3. 培养学生团队协作、沟通表达的能力,能在项目中发挥各自专长,共同完成任务。
情感态度价值观目标:1. 培养学生认真负责的工作态度,养成严谨、细致的信息处理习惯。
2. 培养学生对商品管理工作的兴趣,激发学习热情,树立职业规划意识。
3. 培养学生遵守法律法规,尊重知识产权,养成良好的网络道德素养。
本课程针对初中年级学生,结合学科特点和教学要求,将知识目标、技能目标和情感态度价值观目标分解为具体的学习成果。
通过本课程的学习,使学生能够掌握商品管理系统的基本知识,提高实际操作技能,培养良好的职业素养,为今后从事相关工作打下坚实基础。
二、教学内容1. 商品管理系统概述- 商品管理系统的定义与作用- 商品管理系统的功能模块及相互关系2. 商品信息管理- 商品信息的录入、查询、修改和删除操作- 商品分类和编码规则- 商品图片和详细描述的处理3. 库存管理- 库存管理的基本原理- 库存盘点和预警分析- 库存调整和优化策略4. 数据处理与分析- 数据录入与导入导出- 数据查询与报表生成- 数据可视化展示5. 系统操作与维护- 系统用户管理与权限设置- 商品信息备份与恢复- 系统故障排除与维护6. 实践操作与项目实战- 模拟商品管理系统操作练习- 团队合作完成商品管理系统项目- 项目展示与评价本教学内容根据课程目标制定,涵盖商品管理系统的基本概念、操作方法和实践应用。
教学大纲明确教学内容安排和进度,与教材章节紧密关联。
通过本章节的学习,学生将系统地掌握商品管理系统的相关知识,为实际应用打下坚实基础。
购物管理系统c语言课程设计
购物管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在购物管理系统中的应用,掌握基本数据类型、变量、运算符和表达式;2. 学会使用C语言控制结构(如顺序、选择、循环结构),实现购物管理系统的功能模块;3. 掌握数组、函数、指针在购物管理系统中的运用,实现商品信息、用户信息的存储和管理;4. 了解文件操作在购物管理系统中的应用,实现对数据的持久化存储。
技能目标:1. 能够运用C语言编写简单的购物管理系统程序,实现商品浏览、购买、支付等基本功能;2. 学会使用调试工具,分析并解决程序中出现的错误;3. 能够根据实际需求,设计和优化购物管理系统的功能模块,提高程序的可用性和可维护性;4. 培养良好的编程习惯,编写规范、简洁、高效的代码。
情感态度价值观目标:1. 激发学生对C语言编程的兴趣,培养主动学习和解决问题的能力;2. 培养学生的团队协作精神,学会与他人共同分析和解决问题;3. 增强学生的实践能力,认识到编程在实际应用中的重要性;4. 培养学生诚实守信、认真负责的品质,树立正确的价值观。
本课程旨在帮助学生将所学的C语言知识应用于购物管理系统的实际开发中,通过实践提高编程能力,培养良好的编程习惯,同时关注团队协作和价值观的培养,为将来的学习和工作打下坚实基础。
二、教学内容1. C语言基础知识回顾:- 变量、数据类型、常量- 运算符、表达式、语句- 顺序结构程序设计2. 控制结构:- 选择结构(if、switch)- 循环结构(for、while、do-while)3. 函数与模块化设计:- 函数定义、调用、声明- 作用域规则、局部变量、全局变量- 模块化设计理念4. 数组与指针:- 数组的定义、初始化、访问- 指针的概念、操作、应用- 指针与数组的关系5. 文件操作:- 文件打开、关闭、读写- 文件存储格式、数据持久化6. 购物管理系统功能模块设计:- 商品信息管理- 用户信息管理- 购物车功能实现- 订单管理7. 编程规范与调试:- 代码风格、命名规则- 调试技巧、错误处理8. 实践项目:- 搭建购物管理系统框架- 编写各功能模块代码- 系统测试、优化教学内容将按照以上大纲进行安排和进度规划,与课本内容紧密关联,确保学生能够将所学知识应用于实际项目中。
C++课程设计《商品销售管理系统》
系统稳定性:保证 系统在长时间运行 中不出现崩溃、死 机等问题
数据安全性:确 保用户数据的安 全性和隐私性
用户界面友好:提 供简洁、易用的用 户界面,方便用户 操作
系统可扩展性:系 统具有良好的可扩 展性,能够适应未 来业务需求的变化
数据库类型:MySQL
数据库结构:商品表、 销售表、用户表等
,a click to unlimited possibilities
汇报人:
01
02
03
04
05
06
课程设计背景:C++课程设计是计算机科学与技术专业的必修课程,旨在培养学生编 程能力和实践能力。
系统设计背景:商品销售管理系统是典型的企业信息化系统,旨在提高企业销售管 理效率,降低运营成本。
界面风格:采用扁平化设计, 简洁明了,易于操作
商品管理模块:实现商品信息的添加、 修改、删除和查询
销售管理模块:实现销售记录的添加、 修改、删除和查询
库存管理模块:实现库存信息的添加、 修改、删除和查询
用户管理模块:实现用户信息的添加、 修改、删除和查询
系统管理模块:实现系统参数的设置和 修改,以及系统日志的记录和查询
帮助界面:提 供系统使用帮 助和常见问题
解答
退出界面:退 出系统,保存
数据
商品管理 模块:添 加、修改、 删除商品 信息
销售管理 模块:记 录销售信 息,生成 销售报表
库存管理 模块:管 理库存, 实现库存 预警
用户管理 模块:用 户注册、 登录、权 限管理
系统设置 模块:设 置系统参 数,如货 币单位、 税率等
帮助模块: 提供系统 使用帮助 和常见问 题解答
使用SQLite数据库
c商品库存管理系统课程设计
c 商品库存管理系统课程设计一、教学目标本课程旨在让学生掌握商品库存管理系统的基本原理和实际应用,通过学习,学生应能理解库存管理的重要性,掌握库存管理的基本流程和方法,会使用相关软件工具进行库存管理。
具体来说,知识目标包括:1.理解库存管理的概念、目的和重要性。
2.掌握库存分类、库存控制、库存优化等基本知识。
3.熟悉常见的库存管理软件和工具。
技能目标包括:1.能够运用库存管理理论分析实际问题。
2.能够使用至少一种库存管理软件进行库存管理操作。
3.能够根据实际情况设计合理的库存管理策略。
情感态度价值观目标包括: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-2周:C语言的基本语法和数据类型。
第3-4周:函数和程序结构。
第5-6周:数组和字符串。
第7-8周:指针和内存管理。
第9-10周:结构体和文件操作。
第11-12周:商品库存管理的基本原理和方法。
第13-14周:商品库存管理程序的设计和实现。
三、教学方法本课程将采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
讲授法:通过讲解C语言的基本语法和数据结构,使学生掌握相关知识。
案例分析法:通过分析商品库存管理的实际案例,使学生理解并掌握库存管理的基本原理和方法。
实验法:让学生通过编写和调试商品库存管理程序,提高他们的编程能力和解决实际问题的能力。
四、教学资源为实现课程目标,我们将准备以下教学资源:教材:《C程序设计语言》参考书:《C Primer Plus》、《深入理解计算机系统》多媒体资料:C语言编程教程、商品库存管理案例视频实验设备:计算机、网络设备、编程软件五、教学评估为了全面、公正地评估学生的学习成果,本课程将采用以下评估方式:平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的学习态度和积极性。
作业:布置适量的编程作业,评估学生的编程能力和对课程内容的理解。
考试:进行期中和期末考试,评估学生对C语言和商品库存管理知识的掌握程度。
VC课程设计商品销售管理系统.doc
VC课程设计商品销售管理系统第一章需求分析1.1 商品销售管理功能概述21世纪是个信息发展的时代,随着电脑普及时代的来临以及互联网的迅速发展,越来越多的进程从单一的人工管理上升到电脑智能管理,企业的发展更不例外,商品的经营管理,经营模式已经慢慢的从手工管理过渡到了计算机管理。
对于发展中的绝大多数企业来说,随着规模的不断扩大,商品种类的不断丰富与完善,需要管理的各种商品信息也会大幅度增加,无论是商品管理,订货管理,销售管理,都变得相对复杂。
这里开发出了一个“商品销售管理系统”,对企业的发展至关重要,无疑为商品销售的可持续发展,日益壮大提供了保障和解决方案,也节省了大量时间,从而提高了商品销售的运转效率,更有利于企业的管理和维持。
商品销售管理系统可以实现企业商品管理的网络化,信息化,现代化,可以有效的提高企业商品的管理效率,节约了管理开支。
通过调查,要求系统需要具有以下功能:(1) 由于该系统的使用对象多,要求有较好的权限管理。
(2) 方便的数据查询,支持多条件查询。
(3) 基础信息管理与查询,其中包括商品信息、客户信息和员工信息。
(4) 通过计算机,能够直接“透视”商品销售情况。
(5) 完善的商品查询信息、商品销售信息进行管理。
(6) 当外界环境(停电、网络病毒)干扰本系统后,系统可以自动保护原始数据的安全,对数据进行备份与还原。
(7) 数据计算自动完成,尽量减少人工干预。
(8) 系统退出。
商品销售管理系统分为基础信息管理子系统、日常业务管理子系统、查询报表管理子系统、系统信息管理子系统、维护管理子系统。
如图1.1所示1.1商品销售管理系统1.2 基础信息管理模块基础信息管理模块主要用于对商品信息,员工信息和客户信息的管理。
操作员通过合法的认证登录到该系统中,进行对商品信息,员工信息和客户信息的管理的活动。
主要功能如下:1)操作员首先登录,身份验证成功后即可登陆商品销售管理系统2)操作员进入基础信息功能模块;3)操作员管理商品信息;4)操作员管理客户信息;5)操作员管理员工信息。
C++课程设计报告-商品管理系统
课程设计报告设计题目: 商品管理系统学生姓名: 曹政专业: 计算机科学与技术班级: 09级4班学号: 20092761指导老师: 方帅完成日期: 2010年6月合肥工业大学计算机与信息学院(1)需求与规格说明某商场有如下几种商品:衬衣、鞋子、帽子、裤子、冰箱、电视、立柜、壁橱、沙发。
每一种货物都有详细的说明信息。
衬衣:布料、尺寸、单价、产地、库存量、所属货柜;鞋子:皮料、尺寸、单价、产地、库存量、所属货柜;帽子:布料、样式(平顶或尖顶)、尺寸、单价、产地、库存量、所属货柜;裤子:布料、尺寸、单价、产地、库存量、所属货柜;冰箱:制冷类型、样式(两门或三门)、颜色、重量、尺寸、单价、产地、库存量、所属货柜;电视:样式(彩色或黑白)、颜色、重量、尺寸、单价、产地、库存量、所属货柜;立柜:木料、颜色、尺寸、单价、产地、库存量、所属货柜;壁橱:木料、颜色、尺寸、单价、产地、库存量、所属货柜;沙发:木料、皮料、颜色、尺寸、单价、产地、库存量、所属货柜;对这些商品的操作有:新商品的录入、商品的进库、商品的出库、商品的调价、所属货柜的管理、库存的统计、总价格的计算、产地的统计。
要求自行设计数据结构,用类结构将上述的货品表示出来。
在上一步基础上,将上述的商品管理计算机化,完成操作要求的功能。
⑵设计根据上述要求,设计一个商品基类Goods从中派生出衬衣类Clothes、帽子类Cap、冰箱类Refrigerator、电视类TV、立柜类Closet、沙发类Sofa。
因为鞋子类和裤子类与衬衣类、壁橱类与立柜类属性、行为完全相同,所以从衬衣类中派生出鞋子类Shoes裤子类Pants,从立柜类中派生出壁橱类WAC。
在派生类中实现完整的操作方法。
系统类图WAC属性和方法定义TCloset 方法int intcls_pa(Closet a[]) cls operate(Closet a[]) 该类商品产地查询 对该类商品的操作 WACSofa属性stri ng stri ng stri ngtimber cladd ing color木料 皮料 颜色方法int int int intsofa_get(Sofa a[]) sofa_show(Sofa a[]) sofa_pa(Sofa a[]) sofa operate(Sofa a[])录入该类新商品 该类商品查询 该类商品产地查询 对该类商品的操作(3)用户手册另见 泡泡商品管理系统用户手册 (4)调试及测试:1:11孔退出商品管理系统富靄界面名称 chen材料 ina尺寸 1S0单价 20.3产地 SV 库存量 30所属贷柜1只ni 165 50.1HF15 3CH na 175HZ 2?2 VIma18021.7SV323行如(因商品出库、商 别为: 现运 苹■(3匕毀口口巨旺于抚 请1走择商品类现以衬衣类为例:测试商品的录入、商品进库、查询商品信息、商品产地统计。
C语言课程设计商品库存管理系统
第1章系统分析与设计1.1 系统分析1.1.1解决问题运用现代信息化和智能化的管理方式,解决商品库存信息在日常生活中易于丢失、遗忘,不易保存、管理的问题,从而使企业和商家能够更全面,更直观地了解到商品库存信息。
1.1.2软件功能将商品库存信息进行入库、出库、查询、修改、盘点、排序等操作,更直观反映商品库存信息。
1.2 系统设计1.2.1系统设计思路以简便快捷和人性化为最终目标,力求最简单有效地管理商品库存信息。
1.2.2系统功能划分通过对数据的不同处理方式,将系统分成了商品入库、商品出库、查询商品、修改商品、日盘点、出库排序六大类,在查询商品中又包含了关键字(选项)查询,在出库排序中又包含升降排序等功能。
1.2.3功能结构图图0第2章详细设计与编码2.1详细设计2.1.1主要函数算法设计图1.1.2流程图1.主函数:main函数函数原型:void main()功能是输出一个欢迎界面,并调用函数,提供1-7个功能选项。
图22.分函数(1)商品入库:input函数原型:void input()图32)商品出库:output函数原型:void output()功能是商品出库(减少库存商品数量)图4(3)查询商品find函数原型:void find()void find_1()void find_2()void find_3()三种方式查询图51,.按名称查询图6 2. 按代码查询图73.按生产商查询图84.修改商品change()函数原型:void change()图96,出库排序图102.2系统编码#include "stdio.h"#include "string.h"#include<stdlib.h>#define N 80 /*最大容量限定*/struct a /*商品库内结构体*/{char name[10];int numb;char boss[6];int date ;int count;int price;int chu;int ru;}goods[1];struct a product[N]={{"ac",1,"AC",1,15,5,0,0},{"bd",2,"BD",2,10,20,0,0}}; int num=2;void read(){FILE*fp;int i;system("cls");fp=fopen("text.txt","r+");if(fp==NULL){printf("不能打开文件!\n");exit(0);}i=0;while(!feof(fp)){ if(fread(&product[i],sizeof( struct a),1,fp)==1)i++;} num=i;fclose(fp);}void save()/*保存商品的信息*/{FILE*fp;int i;if((fp=fopen("text.txt","w"))==NULL){printf("cannot open file");return;}for(i=0;i<num;i++){if(fwrite(&product[i],sizeof(struct a),1,fp)!=1) printf("file write error\n");}system("cls");/*清屏*///printf("商品已保存!\n");//getch();fclose(fp);}void input(){ char a[10],g;int m,i;printf("输入商品名称:");scanf("%s",a);for(i=0;i<num;i++){ if(strcmp(product[i].name,a)==0){printf("请输入商品数量:");scanf("%d",&m);product[i].count=product[i].count+m;printf("入库后该商品的数量:");printf("%d",product[i].count);printf("该商品入库量:");product[i].ru=m;printf("%d",product[i].ru);getch();break;}}if(i>=num){printf("库存中无此商品!\n");printf("请输入商品名称:");scanf("%s",product[num].name);printf("请输入商品代码:");scanf("%d",&product[num].numb);printf("请输入商品生产商:");scanf("%s",product[num].boss);printf("请输入商品生产日期:");scanf("%d",&product[num].date);printf("请输入商品数量:");scanf("%d",&product[num].count);printf("请输入商品价格:");scanf("%d",&product[num].price);printf("请输入商品入库:");scanf("%d",&product[num].ru);printf("请输入商品出库:");scanf("%d",&product[num].chu);num++;save();}printf("是否还想入库商品??\n");printf("按y为继续添加,按n为不添加");scanf("\n%c",&g);if(g=='y'){input();getch();}}void output(){int k,i;char str[10],l;system("cls"); /*清屏*/printf("\n请输入要出库的商品名称:");scanf("%s",str);getchar();for(i=0;i<num;i++){if(strcmp(str,product[i].name)==0){printf("\n请输入出库商品数量:");scanf("%d",&k);if(k<=product[i].count){printf("\n剩余的库存商品数量:%d",product[i].count-k);product[i].count=product[i].count-k;printf("显示该库存商品的出库量:");product[i].chu=product[i].chu+k;printf("%d\n",product[i].chu);}else printf("库存数量不足\n");break;}}if(i>=num){printf("没有该商品!\r\n");}printf("是否还想出库商品??\n");printf("按y为继续出库,按n为不出库\n");l=getche();if(l=='y'){output();getch();}save();}void find_1(){char str[10];system("cls"); /*清屏*/printf("输入要找的商品的名称\n");scanf("%s",str);printf("名称\t 代码\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)if((strcmp(str,product[i].name))==0){ printf("%s\t %d\t %s\t %d %d\t %d\t%d\t %d\n",product[i].name,product[i ].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);break;getch();}while(i>=num)printf("没有该商品");printf("按回车键返回!");getch();}void find_2(){int i;int x;system("cls"); /*清屏*/printf("输入要找的商品的代码\n");scanf("%d",&x);printf("名称\t 代码\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)if(x==product[i].numb){ printf("%s\t %d\t %s\t %d %d\t %d\t%d\t %d\n",product[i].name,product[iproduct[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);break;getch();}while(i>=num)printf("没有该商品");printf("按回车键返回!");getch();}void find_3(){char a[6];int i;system("cls"); /*清屏*/printf("输入要找的商品的生产商\n");scanf("%s",a);printf("名称\t 代码\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)if((strcmp(a,product[i].boss))==0){ printf("%s\t %d\t %s\t %d %d\t %d\t%d\t %d\n",product[i].name,product[i ].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);break;getch();}while(i>=num)printf("没有该商品");printf("按回车键返回!");getch();}void find (){int j;getch();printf("查询商品,用商品名称查询请按1,用代码查询请按2,用商品生产商查询请按3");scanf("%d",&j);switch(j){ case 1:printf("按商品名称查询\n");find_1();break;case 2:printf("按代码查询\n");find_2();break;case 3:printf("按生产商查询\n");find_3();break;default:break;}}void change(){int i,k;char str[10];system("cls"); /*清屏*/printf("输入准备修改的商品名称:");scanf("%s",str);for(i=0;i<num;i++)if((strcmp(str,product[i].name))==0){printf("名称\t 代码\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n\n",product[i].name,p roduct[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);printf("是否修改名称<y/n>:\n");k=getche();if (k=='y'){printf("请输入新的名称:\n"); scanf("%s",product[i].name);}printf("是否修改代码<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的代码:\n"); scanf("%d",&product[i].numb);}printf("是否修改生产商<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的生产商:\n"); scanf("%s",product[i].boss);}printf("是否修改生产日期<y/n>:\n"); k=getche();if(k=='y'){printf("请输入新的生产日期:\n"); scanf("%d",&product[i].date);printf("是否修改数量<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的数量:\n"); scanf("%d",&product[i].count);}printf("是否修改价格<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的价格:\n");scanf("%d",&product[i].price);}printf("是否修改出库量<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的出库量:\n");scanf("%d",&product[i].chu);}printf("是否修改入库量<y/n>:\n");k=getche();if(k=='y'){printf("请输入新的入库量:\n");scanf("%d",&product[i].ru);}}}}void display(){int i;system("cls"); /*清屏*/printf("\n\n名称\t 编号\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n",product[i].name,pro duct[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);for(i=0;i<num;i++){ printf("\n\n统计并输出商品(出库)的量\n");printf("名称\t 编号\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)if(product[i].chu>0){printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n",product[i].nam e,product[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);}printf("\n\n统计并输出商品(入库)的量\n");printf("名称\t 编号\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num;i++)if(product[i].ru>0){printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n",product[i].nam e,product[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);}}printf("按回车键返回!");getch();}void shun(){int i;int j;printf("名称\t 编号\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num-1;i++)for(j=0;j<num-1-i;j++)if(product[j].chu >product[j+1].chu ){goods[0]=product[j];product[j]=product[j+1];product[j+1]=goods[0];}for(i=0;i<num;i++)printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n",product[i].name,pro duct[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);printf("按回车键返回!");getch();}void dao(){int i;int j;printf("名称\t 编号\t 生产商\t 生产日期\t 数量\t 价格\t出库\t入库\n");for(i=0;i<num-1;i++)for(j=0;j<num-1-i;j++)if(product[j].chu <product[j+1].chu ){goods[0]=product[j];product[j]=product[j+1];product[j+1]=goods[0];}for(i=0;i<num;i++)printf("%s\t %d\t %s\t %d\t %d\t %d\t %d\t %d\n",product[i].name,pro duct[i].numb,product[i].boss,product[i].date,product[i].count,product[i].price,product[i].chu,product[i].ru);printf("按回车键返回!");getch();}void order(){char t;system("cls"); /*清屏*/printf("对于出库的数量,你想看升序请按1,按2为降序\n");printf("\t 请选择[1/2]:\n ");t=getch();switch(t){ case'1': shun();break;case'2': dao();break;default:break;}}void quit(){system("cls"); /*清屏*/printf("\n\n\n\t\t\t →※谢谢使用※←");printf("\n\n\n\n\n\n\t ◆◆◆^ v ^ ◆◆◆");printf("\n\n\n\t\t ★〓★〓★商品库存管理系统★〓★〓★");printf("\n\n\n\t\t\t\t\t→◆作者:电气121,陈志华");printf("\n\n\t\t\t\t\t◎◎◎◎◎2013年6月\n");printf("\n\n\n\t按回车键进入主菜单:"); /*界面*/getch();}void main(){char j;save();read();printf("\n\n\n\n\n\n\t ◆◆◆^ v ^ ◆◆◆"); printf("\n\n\n\t\t\t →※欢迎使用※←");printf("\n\n\n\t\t ★〓★〓★商品库存管理系统★〓★〓★");printf("\n\n\n\t\t\t\t\t→◆作者:电气121,陈志华");printf("\n\n\t\t\t\t\t◎◎◎◎◎2013年6月\n");printf("\n\n\n\t按回车键进入主菜单:"); /*界面*/getch();do{system("cls"); /*清屏*/printf("\n");printf("\t\t\t ************\n");printf("\t\t\t * 主菜单*\n"); /*主菜单*/printf("\t\t\t ************\n\n\n");printf("\t 1 商品入库 2 商品出库\n\n\n\n");printf("\t 3 查询商品7 退出系统 4 修改商品\n\n\n\n");printf("\t 5 日盘点 6 出库排序\n\n\n");printf("\n\n");printf("\t 请选择[1/2/3/4/5/6/7]: ");j=getch();switch(j){case '1': input(); break; /*返回主菜单*/case '2': output(); break;case '3': find(); break;case '4': change(); break;case '5': display(); break;case '6': order(); break;case '7': save();quit(); break;default: break;}}while(1);}3.3测试数据1.初始数据:名称代码生产商日期数量价格入库出库"ac" 1 "AC" 1 15 5 0 0"bd" 2 "BD" 2 10 20 0 02.新增加数据:“af” 4 ”AF” 1 100 5 100 0“ad” 3 ”AD” 6 34 9 34 03.出库商品:ad 10ac 5bd 2af 502.4运行结果1.开始界面:图112.主菜单:图123.商品入库:图13 继续入库:图14 继续入库图154.商品出库图16 继续出库图17继续出库图18 继续出库图195.查询商品:图20 查询商品图216.修改商品:图22 7.日盘点:图23 8.出库排序:图24 出库量升序排序图25出库量降序排序图26 9.退出系统:图27第3章用户手册. 1.用户首先进入欢迎界面,按回车键进入到主菜单中,然后输入功能选项所对应的数字进行操作。
C语言课程设计——商品信息管理系统
24/23
Sun Create
4 系统特点
➢界面简单明了,功能清晰 ➢操作简单,功能实用 ➢体积小,效率高
25/23
Sun Create
目录
一、概述 二、系统设计 三、功能展示 四、系统特色
六、总结
26/23
Sun Create
5.总结
➢ 刚刚接到这个课题时,感觉无从下手,感觉自己无法完成
大题目,这就像爬山一样,过程是艰辛的,但是当你登上山顶
之后,就会有种畅快淋漓的感觉,我想这就是做编程的乐趣吧
,这是我第一个做的系统,我将会留下很深的印象,我相信以
后我可以做出更好的软件!
27/23
Sun Create
28/23
Sun Create
是否继续输 入
N
结束
提示输入错 误
N N
保存
Sun Create
2 系统设计——函数设计
➢ 销售单据修改函数
Y 提示重复
开始
输入要修改的 单号
单号是否存 在
Y
修改信息
提示单号不存
N
在
检查是否重 复
N
保存
11/23
结束
Sun Create
2 系统设计——函数设计
➢ 删除函数
开始
输入要删除的 单号
检查单号是 否存在
4/23
Sun Create
1 概述——功能概述
销售单据删除:每次您可以删除一条您所指定销 售单号的记录。
查找功能:输入您所要查询的销售单号,会显示 出您所要查询的记录的信息。
统计功能:可以按销售员统计和统计文件中总共 有多少条记录。
排序功能:根据月商品销售数量对商品编号降序 排序。
c商品库存管理系统课程设计
c 商品库存管理系统课程设计一、课程目标知识目标:1. 理解商品库存管理系统的基本概念、功能和结构;2. 掌握商品库存管理系统的数据存储、数据处理和查询方法;3. 学会分析实际业务需求,设计并优化商品库存管理系统。
技能目标:1. 能够运用所学知识,独立完成商品库存管理系统的模块设计;2. 能够运用编程语言或工具,实现商品库存管理系统的基本功能;3. 能够通过实际案例分析,提高问题分析和解决能力。
情感态度价值观目标:1. 培养学生对商品库存管理系统及企业管理信息系统的兴趣,激发学习热情;2. 培养学生严谨、细致、负责任的科学态度,提高团队协作能力;3. 增强学生对企业信息化建设的认识,提升对信息技术的应用信心。
分析课程性质、学生特点和教学要求,本课程旨在让学生通过学习商品库存管理系统相关知识,掌握实际业务分析、系统设计和开发能力。
课程目标具体、可衡量,以便学生和教师在教学过程中能够明确预期成果,为后续教学设计和评估提供依据。
二、教学内容1. 商品库存管理系统概述- 了解库存管理的基本概念、目的和作用;- 掌握库存管理系统的类型和结构。
2. 商品库存管理系统的数据存储与处理- 学习数据库设计原理,理解数据表结构;- 掌握SQL语言进行数据查询、插入、更新和删除操作。
3. 商品库存管理系统的功能模块设计- 分析进货、销售、库存盘点等业务需求;- 设计商品信息管理、库存管理、报表统计等模块。
4. 商品库存管理系统的实现与优化- 学习系统开发流程,了解软件测试方法;- 分析系统性能瓶颈,提出优化方案。
5. 实际案例分析- 分析典型企业商品库存管理系统的应用案例;- 学习借鉴优秀案例,提高自身系统设计能力。
教学内容根据课程目标进行选择和组织,确保科学性和系统性。
教学大纲明确教学内容安排和进度,与教材章节相对应,涵盖以下内容:- 商品库存管理系统基础知识;- 数据库设计与操作;- 功能模块设计;- 系统实现与优化;- 实际案例分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告设计题目: 商品管理系统学生姓名: 曹政专业: 计算机科学与技术班级: 09 级 4 班学号: 20092761指导老师: 方帅完成日期: 2010年6月合肥工业大学计算机与信息学院(1)需求与规格说明某商场有如下几种商品:衬衣、鞋子、帽子、裤子、冰箱、电视、立柜、壁橱、沙发。
每一种货物都有详细的说明信息。
衬衣:布料、尺寸、单价、产地、库存量、所属货柜;鞋子:皮料、尺寸、单价、产地、库存量、所属货柜;帽子:布料、样式(平顶或尖顶)、尺寸、单价、产地、库存量、所属货柜;裤子:布料、尺寸、单价、产地、库存量、所属货柜;冰箱:制冷类型、样式(两门或三门)、颜色、重量、尺寸、单价、产地、库存量、所属货柜;电视:样式(彩色或黑白)、颜色、重量、尺寸、单价、产地、库存量、所属货柜;立柜:木料、颜色、尺寸、单价、产地、库存量、所属货柜;壁橱:木料、颜色、尺寸、单价、产地、库存量、所属货柜;沙发:木料、皮料、颜色、尺寸、单价、产地、库存量、所属货柜;对这些商品的操作有:新商品的录入、商品的进库、商品的出库、商品的调价、所属货柜的管理、库存的统计、总价格的计算、产地的统计。
要求自行设计数据结构,用类结构将上述的货品表示出来。
在上一步基础上,将上述的商品管理计算机化,完成操作要求的功能。
(2)设计根据上述要求,设计一个商品基类Goods,从中派生出衬衣类Clothes、帽子类Cap、冰箱类Refrigerator、电视类TV、立柜类Closet、沙发类Sofa。
因为鞋子类和裤子类与衬衣类、壁橱类与立柜类属性、行为完全相同,所以从衬衣类中派生出鞋子类Shoes、裤子类Pants,从立柜类中派生出壁橱类W AC。
在派生类中实现完整的操作方法。
系统类图↗ ↖↑ ↑↑ ↑属性和方法定义(3)用户手册另见“泡泡商品管理系统用户手册”(4)调试及测试:现以衬衣类为例:测试商品的录入、商品进库、查询商品信息、商品产地统计。
(因商品出库、商品调价、商品货柜管理与商品进库相似,所以仅演示一项)现假设在衬衣类中已有四种商品分别为:现运行如下:(5)源程序:#include<iostream>#include<string>#include<iomanip>using namespace std;int i=2; //i用于界面转换class Goods{protected:string name,producing_area;double size,price;int sum,counter;public:void goods_getout();void goods_getin();void goods_shows(); //输出商品信息void goods_in(); //商品进库void goods_out(); //商品出库void price_change(); //价格调整void counter_change();};void Goods::goods_getout(){cout<<"尺寸"<<"\t"<<"单价"<<"\t"<<"产地"<<"\t"<<"库存量"<<"\t"<<"所属货柜"<<"\t";}void Goods::goods_getin(){cin>>size>>price>>producing_area>>sum>>counter; }void Goods::goods_shows(){cout<<size<<"\t"<<price<<"\t"<<producing_area<<"\t"<<sum<<"\t"<<counter<<"\t";}void Goods::goods_in(){int b;char c;cout<<"现有库存:"<<sum<<endl<<"请输入商品的新进库数:";cin>>b;if(b>=0){cout<<"确认商品新进库数为:"<<b<<"?(Y/N)";cin>>c;if(c=='y'||c=='Y'){sum=sum+b;cout<<"该商品的新库存为:"<<sum<<endl;}else{if(c=='n'||c=='N')cout<<"该商品库存未变,仍为:"<<sum<<endl;}}else{cout<<"输入错误"<<endl;}}void Goods::goods_out(){int b;char c;cout<<"现有库存:"<<sum<<endl<<"请输入商品的出库数:";cin>>b;if(b>0){if(b<=sum){cout<<"确认商品出库数:"<<b<<"?(Y/N)";cin>>c;if(c=='y'||c=='Y'){sum=sum-b;cout<<"该商品的新库存为:"<<sum<<endl;}else{if(c=='n'||c=='N')cout<<"该商品库存未变,仍为:"<<sum<<endl;}}else{cout<<"该商品库存不足!"<<endl;}}else{cout<<"输入错误!"<<endl;}}void Goods::price_change(){char c;double b;cout<<"商品的价格为:"<<price<<endl<<"请输入商品的新价格:";cin>>b;if(b>0){cout<<"确认商品的新价格为:"<<b<<"?(Y/N)";cin>>c;if(c=='y'||c=='Y'){price=b;cout<<"该商品的新价格为:"<<price<<endl;}else{if(c=='n'||c=='N')cout<<"该商品价格未变,仍为:"<<price<<endl;}}else{cout<<"商品价格输入错误!"<<endl;}}void Goods::counter_change(){int b;char c;cout<<"商品的货柜为:"<<counter<<endl<<"请输入商品的新货柜:";cin>>b;cout<<"确认商品的新货柜为:"<<b<<"?(Y/N)";cin>>c;if(c=='y'||c=='Y'){counter=b;cout<<"该商品的新货柜为:"<<counter<<endl;}else{if(c=='n'||c=='N')cout<<"该商品货柜未变,仍为:"<<counter<<endl;}}class Clothes:public Goods{ //衬衣类protected:string material;public:int clo_get(Clothes a[]); //商品录入int clo_show(Clothes a[]); //商品查询int clo_pa(Clothes a[]); //产地统计int clo_operate(Clothes a[]); //方法实现};int Clothes::clo_get(Clothes a[]){int k,j;while(i==1){for(j=1;a[j].name!="";j++){}cout<<"名称"<<"\t"<<"材料"<<"\t";a[j].goods_getout();cout<<endl;cin>>a[j].name>>a[j].material;a[j].goods_getin();for(k=0;k<j;k++){if(a[k].name!=a[j].name&&k==j-1){if(a[j].size<=0||a[j].price<0||a[j].sum<0){cout<<"商品信息输入错误!"<<endl;a[j].name="";a[j].producing_area="";break;}cout<<endl<<"您输入的商品信息为:"<<endl;cout<<"名称"<<"\t"<<"材料"<<"\t";a[j].goods_getout();cout<<endl<<a[j].name<<"\t"<<a[j].material<<"\t";a[j].goods_shows();cout<<endl;break;}if(a[k].name==a[j].name&&k<j){cout<<"该商品已存在!"<<endl;a[j].name="";a[j].producing_area="";break;}}cout<<endl<<"继续输入,请按1"<<endl<<"返回上一级,请按0."<<endl;cin>>i;}return i;}int Clothes::clo_show(Clothes a[]){int k;string n;double z;while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入要查询的商品名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){cout<<"名称"<<"\t"<<"材料"<<"\t";a[k].goods_getout();cout<<"总价"<<endl;cout<<a[k].name<<"\t"<<a[k].material<<"\t";a[k].goods_shows();cout<<setw(10)<<a[k].sum*a[k].price<<endl;break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新查询,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int Clothes::clo_pa(Clothes a[]){int k,j,b;string pa,n;string PA[1000],N[1000];while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}for(j=1;a[j].name!="";j++){}for(k=1;a[k].name!="";k++){PA[k]=a[k].producing_area;N[k]=a[k].name;}for(k=1;k<j-1;k++){for(b=1;b<j-k-1;b++){if(PA[k]>PA[k+1]){pa=PA[k];PA[k]=PA[k+1];PA[k+1]=pa;n=N[k];N[k]=N[k+1];N[k+1]=n;}}}if(a[1].name!=""){cout<<PA[1]<<":"<<N[1]<<" ";for(k=1;PA[k]!="";k++){if(PA[k]==PA[k+1]){cout<<" "<<N[k+1]<<" ";}else{if(PA[k+1]!=""){cout<<endl<<PA[k+1]<<":"<<N[k+1]<<" ";}}}}cout<<endl<<"现返回上一级,请按0"<<endl;cin>>i;}return i;}int Clothes::clo_operate(Clothes a[]){int k,choice;string n;double z;cout<<"1.添加新商品"<<"\t"<<"2.商品进库"<<endl<<"3.商品出库"<<"\t"<<"4.商品价格调整"<<endl<<"5.商品货柜调整"<<"\t"<<"6.商品信息查询"<<endl<<"7.商品产地统计"<<"\t"<<"0.返回商品选择界面"<<endl;cin>>choice;switch(choice){i=2;break;case 1:clo_get(a);case 2:case 3:case 4:case 5:while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入商品的名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){if(choice==2){a[k].goods_in();}if(choice==3){a[k].goods_out();}if(choice==4){a[k].price_change();}if(choice==5){a[k].counter_change();}break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新输入,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}break;clo_show(a);break;case 7:clo_pa(a);break;}return i;}class Shoes:public Clothes{}; //鞋类class Pants:public Clothes{}; //裤子类class Cap:public Goods{ //帽子类private:string material,style;public:int cap_get(Cap a[]); //商品录入int cap_show(Cap a[]); //商品查询int cap_pa(Cap a[]); //产地统计int cap_operate(Cap a[]); //方法实现};int Cap::cap_get(Cap a[]){int k,j;while(i==1){for(j=1;a[j].name!="";j++){}cout<<"名称"<<"\t"<<"材料"<<"\t"<<"样式"<<"\t";a[j].goods_getout();cout<<endl;cin>>a[j].name>>a[j].material>>a[j].style;a[j].goods_getin();for(k=0;k<j;k++){if(a[k].name!=a[j].name&&k==j-1){if(a[j].size<=0||a[j].price<0||a[j].sum<0){cout<<"商品信息输入错误!"<<endl;a[j].name="";a[j].producing_area="";break;}cout<<endl<<"您输入的商品信息为:"<<endl;cout<<"名称"<<"\t"<<"材料"<<"\t"<<"样式"<<"\t";a[j].goods_getout();cout<<endl<<a[j].name<<"\t"<<a[j].material<<"\t"<<a[j].style<<"\t";a[j].goods_shows();cout<<endl;break;}if(a[k].name==a[j].name&&k<j){cout<<"该商品已存在!"<<endl;a[j].name="";a[j].producing_area="";break;}}cout<<endl<<"继续输入,请按1"<<endl<<"返回上一级,请按0."<<endl;cin>>i;}return i;}int Cap::cap_show(Cap a[]){int k;string n;double z;while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入要查询的商品名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){cout<<"名称"<<"\t"<<"材料"<<"\t"<<"样式"<<"\t";a[k].goods_getout();cout<<"总价"<<endl;cout<<a[k].name<<"\t"<<a[k].material<<"\t"<<a[k].style<<"\t";a[k].goods_shows();cout<<setw(10)<<a[k].sum*a[k].price<<endl;break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新查询,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int Cap::cap_pa(Cap a[]){int k,j,b;string pa,n;string PA[1000],N[1000];while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}for(j=1;a[j].name!="";j++){}for(k=1;a[k].name!="";k++){PA[k]=a[k].producing_area;N[k]=a[k].name;}for(k=1;k<j-1;k++){for(b=1;b<j-k-1;b++){if(PA[k]>PA[k+1]){pa=PA[k];PA[k]=PA[k+1];PA[k+1]=pa;n=N[k];N[k]=N[k+1];N[k+1]=n;}}}if(a[1].name!=""){cout<<PA[1]<<":"<<N[1]<<" ";for(k=1;a[k].name!="";k++){if(PA[k]==PA[k+1]){cout<<" "<<N[k+1]<<" ";}else{if(PA[k+1]!=""){cout<<endl<<PA[k+1]<<":"<<N[k+1]<<" ";}}}}cout<<endl<<"现返回上一级,请按0"<<endl;cin>>i;}return i;}int Cap::cap_operate(Cap a[]){int k,choice;string n;double z;cout<<"1.添加新商品"<<"\t"<<"2.商品进库"<<endl<<"3.商品出库"<<"\t"<<"4.商品价格调整"<<endl<<"5.商品货柜调整"<<"\t"<<"6.商品信息查询"<<endl<<"7.商品产地统计"<<"\t"<<"0.返回商品选择界面"<<endl;cin>>choice;switch(choice){case 0:i=2;break;case 1:cap_get(a);case 2:case 3:case 4:case 5:while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入商品的名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){if(choice==2){a[k].goods_in();}if(choice==3){a[k].goods_out();}if(choice==4){a[k].price_change();}if(choice==5){a[k].counter_change();}break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新输入,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}break;case 6:cap_show(a);break;case 7:cap_pa(a);break;}return i;}class Refrigerator:public Goods{ //冰箱类private:string refrigeration_form,style,color;double weight;public:int ref_get(Refrigerator a[]); //商品录入int ref_show(Refrigerator a[]); //商品查询int ref_pa(Refrigerator a[]); //产地统计int ref_operate(Refrigerator a[]); //方法实现};int Refrigerator::ref_get(Refrigerator a[]){int k,j;while(i==1){for(j=1;a[j].name!="";j++){}cout<<"名称"<<"\t"<<"制冷类型"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[j].goods_getout();cout<<endl;cin>>a[j].name>>a[j].refrigeration_form>>a[j].style>>a[j].color>>a[j].weight;a[j].goods_getin();for(k=0;k<j;k++){if(a[k].name!=a[j].name&&k==j-1){if(a[j].size<=0||a[j].price<0||a[j].sum<0){cout<<"商品信息输入错误!"<<endl;a[j].name="";a[j].producing_area="";break;}cout<<endl<<"您输入的商品信息为:"<<endl;cout<<"名称"<<"\t"<<"制冷类型"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[j].goods_getout();cout<<endl<<a[j].name<<"\t"<<a[j].refrigeration_form<<"\t"<<a[j].style<<"\t"<<a[j].color<<"\t"<<a[j].weight<<"\t";a[j].goods_shows();cout<<endl;break;}if(a[k].name==a[j].name&&k<j){cout<<"该商品已存在!"<<endl;a[j].name ="";a[j].producing_area="";break;}}cout<<endl<<"继续输入,请按1"<<endl<<"现返回上一级,请按0."<<endl;cin>>i;}return i;}int Refrigerator::ref_show(Refrigerator a[]){int k;string n;double z;while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入要查询的商品名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){cout<<"名称"<<"\t"<<"制冷类型"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[k].goods_getout();cout<<"总价"<<endl;cout<<a[k].name<<"\t"<<a[k].refrigeration_form<<"\t"<<setw(10)<<a[k].style<<"\t"<<a[k].color<<"\t"<<a[k].weight<<"\t";a[k].goods_shows();cout<<setw(10)<<a[k].sum*a[k].price<<endl;break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新查询,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int Refrigerator::ref_pa(Refrigerator a[]){int k,j,b;string pa,n;string PA[1000],N[1000];while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}for(j=1;a[j].name!="";j++){}for(k=1;a[k].name!="";k++){PA[k]=a[k].producing_area;N[k]=a[k].name;}for(k=1;k<j-1;k++){for(b=1;b<j-k-1;b++){if(PA[k]>PA[k+1]){pa=PA[k];PA[k]=PA[k+1];PA[k+1]=pa;n=N[k];N[k]=N[k+1];N[k+1]=n;}}}if(a[1].name!=""){cout<<PA[1]<<":"<<N[1]<<" ";for(k=1;a[k].name!="";k++){if(PA[k]==PA[k+1]){cout<<" "<<N[k+1]<<" ";}else{if(PA[k+1]!=""){cout<<endl<<PA[k+1]<<":"<<N[k+1]<<" ";}}}}cout<<endl<<"现返回上一级,请按0"<<endl;cin>>i;}return i;}int Refrigerator::ref_operate(Refrigerator a[]){int k,choice;string n;double z;cout<<"1.添加新商品"<<"\t"<<"2.商品进库"<<endl<<"3.商品出库"<<"\t"<<"4.商品价格调整"<<endl<<"5.商品货柜调整"<<"\t"<<"6.商品信息查询"<<endl<<"7.商品产地统计"<<"\t"<<"0.返回商品选择界面"<<endl;cin>>choice;switch(choice){case 0:i=2;break;case 1:ref_get(a);case 2:case 3:case 4:case 5:while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入商品的名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){if(choice==2){a[k].goods_in();}if(choice==3){a[k].goods_out();}if(choice==4){a[k].price_change();}if(choice==5){a[k].counter_change();}break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新输入,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}break;case 6:ref_show(a);break;case 7:ref_pa(a);break;}return i;}class TV:public Goods{ //电视类private:string style,color;double weight;public:int tv_get(TV a[]); //商品录入int tv_show(TV a[]); //商品查询int tv_pa(TV a[]); //产地统计int tv_operate(TV a[]); //方法实现};int TV::tv_get(TV a[]){int k,j;while(i==1){for(j=1;a[j].name!="";j++){}cout<<"名称"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[j].goods_getout();cout<<endl;cin>>a[j].name>>a[j].style>>a[j].color>>a[j].weight;a[j].goods_getin();for(k=0;k<j;k++){if(a[k].name!=a[j].name&&k==j-1){if(a[j].size<=0||a[j].price<0||a[j].sum<0){cout<<"商品信息输入错误!"<<endl;a[j].name="";a[j].producing_area="";break;}cout<<endl<<"您输入的商品信息为:"<<endl;cout<<"名称"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[j].goods_getout();cout<<endl<<a[j].name<<"\t"<<a[j].style<<"\t"<<a[j].color<<"\t"<<a[j].weight<<"\t";a[j].goods_shows();cout<<endl;break;}if(a[k].name==a[j].name&&k<j){cout<<"该商品已存在!"<<endl;a[j].name ="";a[j].producing_area="";break;}}cout<<endl<<"继续输入,请按1"<<endl<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int TV::tv_show(TV a[]){int k;string n;double z;while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入要查询的商品名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){cout<<"名称"<<"\t"<<"样式"<<"\t"<<"颜色"<<"\t"<<"重量"<<"\t";a[k].goods_getout();cout<<"总价"<<endl;cout<<a[k].name<<"\t"<<a[k].style<<"\t"<<a[k].color<<"\t"<<a[k].weight<<"\t";a[k].goods_shows();cout<<setw(10)<<a[k].sum*a[k].price<<endl;break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新查询,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int TV::tv_pa(TV a[]){int k,j,b;string pa,n;string PA[1000],N[1000];while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}for(j=1;a[j].name!="";j++){}for(k=1;a[k].name!="";k++){PA[k]=a[k].producing_area;N[k]=a[k].name;}for(k=1;k<j-1;k++){for(b=1;b<j-k-1;b++){if(PA[k]>PA[k+1]){pa=PA[k];PA[k]=PA[k+1];PA[k+1]=pa;n=N[k];N[k]=N[k+1];N[k+1]=n;}}}if(a[1].name!=""){cout<<PA[1]<<":"<<N[1]<<" ";for(k=1;a[k].name!="";k++){if(PA[k]==PA[k+1]){cout<<" "<<N[k+1]<<" ";}else{if(PA[k+1]!=""){cout<<endl<<PA[k+1]<<":"<<N[k+1]<<" ";}}}}cout<<endl<<"现返回上一级,请按0"<<endl;cin>>i;}return i;}int TV::tv_operate(TV a[]){int k,choice;string n;double z;cout<<"1.添加新商品"<<"\t"<<"2.商品进库"<<endl<<"3.商品出库"<<"\t"<<"4.商品价格调整"<<endl<<"5.商品货柜调整"<<"\t"<<"6.商品信息查询"<<endl<<"7.商品产地统计"<<"\t"<<"0.返回商品选择界面"<<endl;cin>>choice;switch(choice){case 0:i=2;break;case 1:tv_get(a);case 2:case 3:case 4:case 5:while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入商品的名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){if(choice==2){a[k].goods_in();}if(choice==3){a[k].goods_out();}if(choice==4){a[k].price_change();}if(choice==5){a[k].counter_change();}break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新输入,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}break;case 6:tv_show(a);break;case 7:tv_pa(a);break;}return i;}class Closet:public Goods{ //立柜类protected:string timber,color;public:int cls_get(Closet a[]);//商品录入int cls_show(Closet a[]); //商品查询int cls_pa(Closet a[]); //产地统计int cls_operate(Closet a[]); //方法实现};int Closet::cls_get(Closet a[]){int k,j;while(i==1){for(j=1;a[j].name!="";j++){}cout<<"名称"<<"\t"<<"木料"<<"\t"<<"颜色"<<"\t";a[j].goods_getout();cout<<endl;cin>>a[j].name>>a[j].timber>>a[j].color;a[j].goods_getin();for(k=0;k<j;k++){if(a[k].name!=a[j].name&&k==j-1){if(a[j].size<=0||a[j].price<0||a[j].sum<0){cout<<"商品信息输入错误!"<<endl;a[j].name="";a[j].producing_area="";break;}cout<<endl<<"您输入的商品信息为:"<<endl;cout<<"名称"<<"\t"<<"木料"<<"\t"<<"颜色"<<"\t";a[j].goods_getout();cout<<endl<<a[j].name<<"\t"<<a[j].timber<<"\t"<<a[j].color<<"\t";a[j].goods_shows();cout<<endl;break;}if(a[k].name==a[j].name&&k<j){cout<<"该商品已存在!"<<endl;a[j].name ="";a[j].producing_area="";break;}}cout<<endl<<"继续输入,请按1"<<endl<<"返回上一级,请按0."<<endl;cin>>i;}return i;}int Closet::cls_show(Closet a[]){int k;string n;double z;while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}else{cout<<"请输入要查询的商品名称、尺寸:"<<endl;cin>>n>>z;for(k=1;a[k].name!="";k++){if(a[k].name==n&&a[k].size==z){cout<<"名称"<<"\t"<<"木料"<<"\t"<<"颜色"<<"\t";a[k].goods_getout();cout<<"总价"<<endl;cout<<a[k].name<<"\t"<<a[k].timber<<"\t"<<a[k].color<<"\t";a[k].goods_shows();cout<<setw(10)<<a[k].sum*a[k].price<<endl;break;}else{if(a[k+1].name==""){cout<<"该商品不存在!"<<endl;}}}cout<<"重新查询,请按1"<<endl;}cout<<"返回上一级,请按0"<<endl;cin>>i;}return i;}int Closet::cls_pa(Closet a[]){int k,j,b;string pa,n;string PA[1000],N[1000];while(i==1){if(a[1].name==""){cout<<"系统内暂无商品信息!"<<endl;}for(j=1;a[j].name!="";j++){}for(k=1;a[k].name!="";k++){PA[k]=a[k].producing_area;N[k]=a[k].name;}for(k=1;k<j-1;k++){for(b=1;b<j-k-1;b++){if(PA[k]!=PA[k+1]){pa=PA[k];PA[k]=PA[k+1];PA[k+1]=pa;n=N[k];N[k]=N[k+1];N[k+1]=n;}}}if(a[1].name!=""){cout<<PA[1]<<":"<<N[1]<<" ";for(k=1;a[k].name!="";k++){if(PA[k]==PA[k+1]){。