关于超市商品管理系统C

合集下载

C语言超市商品管理系统

C语言超市商品管理系统

题目:超市商品管理系统2.2 详细设计 (3)2.2.1 数据结构设计 (3)2.2.2 主控流程 (3)2.2.3 信息输入模块 (4)2.2.4 信息增加模块 (4)2.2.5 信息修改模块 (4)2.2.6 信息删除模块 (4)2.2.7 信息查看模块 (4)2.2.8 信息统计模块 (4)2.2.9 函数功能描述 (4)实训报告3 系统实现 (5)3.1 编码 (5)3.1.1 程序预处理 (5)3.1.2 主函数main() (5)3.1.3 主菜单界面 (6)3.1.4 商品信息建立 (7)3.1.5 商品信息查看 (9)3.1.6 商品信息增加 (11)3.1.7 商品信息删除 (12)3.1.8 商品信息修改 (14)3.1.9 商品数目统计 (16)超市管理系统主界面2、系统设计2.1 总体设计本程序采用模块化设计方法,即将一个大任务分成一个个小任务,然后分别设计个小任务。

划分出来的模块相对独立而又相互关联,容易理解。

本程序由5大模块组成:1.输入信息模块2.增加信息模块3.修改信息模块4.删除信息模块5.统计信息模块2.2 详细设计定义结构体struct good{char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/ }*head,*p1,*p2;2.2.2 主控main()函数执行流程Int main()struct good *p1,*p2;while(1){if(m==1)printf("********************************商品信息的查看*******************************\n");if(m==2){入计出return 0;}本商品管理系统执行主流程。

它先以可读写的方式打开数据文件,此文件默认为“C:\goods list.txt”,若该文件不存在,则新建此文件。

关于超市商品管理系统c

关于超市商品管理系统c

关于超市商品管理系统C++程序基本功能:基本功能(供参考)有:2、2、1、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。

进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。

3、售出:输入商品编号,修改相应的存货数与销售额。

4、查询:查询商品、销售额# in elude <iostream># in elude <fstream># in elude <stri ng.h>#inelude <conio.h>〃用geteh();using n amespaee std;// eommodity 类elass eommodity{publie:ehar n ame[20];ehar ld[20];int buy;// 进货价;int sale;// 卖出价;int amount;// 数量;int sum;// 利润;eommodity * Next;void In put(){eout<<"\t\t请输入商品的名称:";cin>>name;eout<<"\t\t请输入商品的编号:";ein>>ld;eout<<"\t\t 请输入进货价:";cin>>buy;eout<<"\t\t 请输入售出价:";cin>>sale;eout<<"\t\t 请输入商品数量:";cin>>amount;sum=(sale-buy)*am ount;}void ReadFile(istream & in){in»n ame>>ld>>sale>>buy>>sum;}void Show(){eout<<"商品名"<<name<<endl<<"编号:"<<ld<<endl<<"进货价"<<buy<<"售出价"<<sale<<"商品数量:"<<amount<<"预计总禾U润:"<<sum<<endl<<endl<<endl;}};// Commoditymassage 类class Commoditymassage{public:Commoditymassage();~Commoditymassage();void ShowMe nu();void Fin d();void Save();void ModifyItem();void Removeltem();void Swap(commodity *,commodity *);void Sort();int ListCou nt();void Display(){for(commodity * p=Head->Next;p!=E nd;p=p->Next) p->Show();cout<<"输入任意字符!继续……";getch();}void AddItem(){En d->I nput();En d->Next=new commodity;En d=E nd->Next;cout<<"添加成功!"<<endl;cout<<"输入任意字符!继续……";getch();}private:commodity * Head,* End;ifstream in;ofstream out;commodity *Fin dItem(char * n ame){for(commodity * p=Head;p->Next!=E nd;p=p->Next)〃匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name))return p;{}commodity *Fi ndlD(char * Id){for(commodity * p=Head;p->Next!=E nd;p=p->Next)〃匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->ld,ld))return p;return NULL;}};II构造函数Commoditymassage::Commoditymassage() {Head=new commodity;Head->Next=new commodity;En d=Head->Next;in .open("sort.txt");if(!i n)cout<<"无商品信息。

超市商品管理系统c语言

超市商品管理系统c语言

题目:超市商品管理院系:信息科技学院专业:通信工程姓名: XXX学号: 1251100XXX指导教师:杨永清日期: 2013年9月15日某某电子科技大学信息科技学院实训报告超市商品管理此题目设计目的是训练学生的根本编程能力,了解管理信息系统的开发流程,熟悉C 语言的文件和单链表的各种根本操作。

本程序中涉与结构体、单链表、文件等方面的知识。

通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的根底。

1、程序简介本程序用VC++6.0编译,运行于windows系统下。

1.1、本程序应具有以下功能:1、文件操作功能文件操作:可建立、打开、保存、关闭数据文件。

如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

2、数据输入功能输入信息:输入商品编号、数量完成进货操作。

3、数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。

修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。

删除:删除一类或多类商品的所有信息。

4、计算功能可通过查询商品信息功能,自动计算并输出需要进货的商品信息。

通过商品数量与单价,自动计算出商品总价。

5、查询功能可分别按商品编号和需要进货的商品进展查询。

6、排序功能可分别按商品编号、金额等进展排序。

7、数据显示功能可分别浏览输入、查询和排序后的商品信息。

2、总体设计图采用模块化程序设计方法,将较大任务按一定规如此分成一些较小任务,各个模块之间既独立又相关。

主菜单输入界面:信息显示界面:2.2详细设计:〔以下为局部代码〕struct goods{int num;//编号char name[15];//名称double price;//单价double count;//数量double total;//总金额};struct goods m[50];//定义结构体数组结构体struct goods将用于存储商品的根本信息1、主函数main()定义主函数为空类型(void);利用选择结构(switch)实现在在主函数中的调用各个子函数。

超市管理系统c课程设计

超市管理系统c课程设计

超市管理系统 c 课程设计一、课程目标知识目标:1. 学生能理解超市管理系统的基本概念,掌握其功能模块和使用方法。

2. 学生能掌握数据库的基本操作,包括数据查询、插入、删除和修改。

3. 学生了解面向对象编程的基本思想,并能运用到超市管理系统的设计与实现中。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的超市管理系统。

2. 学生能够熟练运用编程工具和数据库管理系统,完成系统的开发与调试。

3. 学生通过小组合作,提高沟通协调能力和团队协作精神。

情感态度价值观目标:1. 学生培养对计算机编程和数据库管理的兴趣,激发学习积极性。

2. 学生认识到信息技术在生活中的应用,增强实践操作能力和创新意识。

3. 学生通过课程学习,培养认真负责、严谨细致的学习态度,提高解决问题的能力。

课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的动手能力和创新能力。

学生特点:六年级学生已具备一定的计算机操作基础,对新鲜事物充满好奇,但需加强对编程和数据库知识的引导。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,引导他们通过小组合作,共同完成课程任务。

在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能达到课程目标。

将课程目标分解为具体的学习成果,以便在教学设计和评估中有的放矢。

二、教学内容1. 超市管理系统概述:介绍超市管理系统的基本概念、功能模块及其在实际生活中的应用。

- 教材章节:第一章 超市管理系统简介2. 数据库基础知识:讲解数据库的基本概念、数据表的设计与创建、数据操作(查询、插入、删除和修改)。

- 教材章节:第二章 数据库基础、第三章 数据表设计与操作3. 面向对象编程:介绍面向对象编程的基本思想,以超市管理系统为例,讲解类的定义、属性和方法的编写。

- 教材章节:第四章 面向对象编程基础4. 超市管理系统设计与实现:结合教材内容,指导学生进行系统设计,包括界面设计、功能模块划分等,并动手实现系统功能。

c课程设计超市管理系统

c课程设计超市管理系统

c课程设计超市管理系统一、教学目标本课程的教学目标是使学生掌握超市管理系统的基本概念、设计和实现方法。

通过本课程的学习,学生应能理解超市管理系统的业务流程,掌握数据库设计和编程技巧,培养解决实际问题的能力。

知识目标:了解超市管理系统的业务流程,掌握数据库设计原理,熟悉编程语言。

技能目标:能够使用相关工具进行数据库设计和编程,具备超市管理系统项目的开发能力。

情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的积极性和责任感。

二、教学内容本课程的教学内容主要包括超市管理系统的业务流程、数据库设计、编程语言及实践项目。

1.超市管理系统的业务流程:介绍超市管理系统的各个模块及其功能,理解超市管理的基本原理。

2.数据库设计:学习数据库设计的基本方法,掌握实体-关系模型、关系模型等。

3.编程语言:学习编程语言的基本语法,掌握常用数据结构和算法。

4.实践项目:完成一个超市管理系统的小项目,锻炼实际操作能力。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。

1.讲授法:用于传授基本概念和理论知识,帮助学生建立知识体系。

2.讨论法:鼓励学生积极参与课堂讨论,提高学生分析问题和解决问题的能力。

3.案例分析法:分析实际案例,让学生了解超市管理系统在实际应用中的原理和技巧。

4.实验法:通过完成实践项目,培养学生动手能力和解决实际问题的能力。

四、教学资源本课程将采用教材、参考书、多媒体资料和实验设备等教学资源。

1.教材:选用权威、实用的教材,为学生提供系统、全面的知识体系。

2.参考书:提供丰富的参考资料,帮助学生深入理解课程内容。

3.多媒体资料:利用多媒体课件、视频等资源,丰富教学手段,提高教学效果。

4.实验设备:提供必要的实验设备,保障实验教学的顺利进行。

五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面、客观、公正地评价学生的学习成果。

1.平时表现:评估学生在课堂上的参与度、提问回答等情况,反映学生的学习态度和理解程度。

C语言课程设计-超市管理系统

C语言课程设计-超市管理系统

3.设计结果与分析
在VC 6.0环境中输入源程序,在没有提示错误的情况下编译,生成.exe可执行文件。

①运行程序,会看到如图6所示界面。

运行主函数时,首先调用函数main
图6 程序主界面
这个界面是运行函数后首先出现的界面,运行函数时,该函数是一个菜单函数,用switch 语句来实现各功能模块的转移,出来该页面后用户可根据提示输入信息,从而实现各种目的。

②键盘输入1,进入商品详细目录用以显示全部商品详细信息
图7 显示信息界面
该页面用printf输出,在利用指针读出链表中数据并利用合理计算计算出净利润等数据,再用while语句进行循环输出部数据
图8 买卖信息界面
用scanf输入数据,用if语句和while语句来实现循环每一次修改的数据④输入3按回车会进入商品登陆页面,此页面用来登陆商品。

如图9所示
图9 登录信息界面
将数据登陆入链表个变量中
图10修改信息界面
6输入5按回车进入商品删除模块如图11所示
使用printf()函数和scanf( )函数,并且利用指针从而实现各种功能。

其中用到了while 循环语句,实现对链表中个数据的重写功能。

运行完后退出该函数
图11删除信息界面。

超市管理系统c课程设计

超市管理系统c课程设计

超市管理系统 c 课程设计一、教学目标本节课的学习目标为:1.知识目标:学生需要掌握超市管理系统的基本概念、架构和主要模块,了解系统的设计原理和实施方法。

2.技能目标:学生能够使用编程语言实现简单的超市管理系统,具备分析和解决实际问题的能力。

3.情感态度价值观目标:培养学生对信息技术的兴趣,增强其对科技改变生活的认识,提高其创新意识和团队协作能力。

二、教学内容本节课的教学内容主要包括:1.超市管理系统的基本概念和架构,包括前端、后端和数据库等主要模块。

2.系统设计原理,包括需求分析、系统设计、编码和测试等环节。

3.系统实施方法,包括技术选型、开发环境和工具的使用等。

4.实例分析,通过分析具体的超市管理系统案例,使学生更好地理解和掌握相关知识。

三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、架构和设计原理,为学生提供系统的知识结构。

2.案例分析法:通过分析具体案例,使学生更好地理解和掌握相关知识。

3.实验法:学生动手实践,实际操作超市管理系统,提高其技能水平。

4.讨论法:分组讨论,培养学生的团队协作能力和创新意识。

四、教学资源本节课的教学资源包括:1.教材:提供系统知识结构,为学生学习奠定基础。

2.参考书:丰富学生的知识面,提高其自学能力。

3.多媒体资料:通过图片、视频等形式,生动展示超市管理系统的设计和实施过程。

4.实验设备:为学生提供实际操作平台,提高其技能水平。

五、教学评估本节课的评估方式包括:1.平时表现:通过观察学生在课堂上的参与度、提问回答等情况,评估其对知识的掌握程度。

2.作业:布置相关的编程练习,评估学生对知识的应用能力和动手能力。

3.考试:期末进行超市管理系统知识的考试,评估学生对知识的全面掌握程度。

评估方式应客观、公正,能够全面反映学生的学习成果。

教师应及时给予反馈,帮助学生提高。

六、教学安排本节课的教学安排如下:1.进度:按照教材的章节顺序,合理安排每个章节的教学内容和时间。

c语言课程设计超市管理系统

c语言课程设计超市管理系统

c语言课程设计超市管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程基础,能够运用C语言实现简单的超市管理系统。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据类型。

–了解函数的定义和调用。

–掌握数组的声明和使用。

–理解指针的概念和应用。

2.技能目标:–能够使用C语言编写简单的程序。

–能够运用函数实现模块化编程。

–能够使用数组存储和管理数据。

–能够运用指针处理内存地址和数据。

3.情感态度价值观目标:–培养学生的编程兴趣和自信心。

–培养学生解决问题的能力和创新精神。

–培养学生团队合作和交流分享的意识。

二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、函数、数组和指针。

具体安排如下:1.C语言的基本语法和数据类型:介绍C语言的构成要素,包括变量、常量、运算符、表达式等。

2.函数的定义和调用:讲解函数的声明、定义和调用方式,并通过实例演示函数的使用。

3.数组的声明和使用:介绍数组的声明、初始化和使用方法,并通过实例展示数组在超市管理系统中的应用。

4.指针的概念和应用:讲解指针的定义、声明和使用,并通过实例说明指针在超市管理系统中的应用。

三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解C语言的基本语法、数据类型、函数、数组和指针的概念和用法。

2.案例分析法:通过分析超市管理系统的实际案例,引导学生运用C语言编程解决实际问题。

3.实验法:安排课堂实验,让学生动手实践,加深对C语言编程的理解和应用。

4.讨论法:学生分组讨论,促进学生之间的交流与合作,培养团队合作精神。

四、教学资源本节课所需的教学资源包括:1.教材:选用权威、实用的C语言教材,为学生提供系统、全面的学习资料。

2.参考书:提供相关领域的参考书籍,拓展学生的知识面。

3.多媒体资料:制作课件、教学视频等多媒体资料,增强课堂教学的趣味性和生动性。

4.实验设备:准备计算机、编程环境等实验设备,确保学生能够动手实践。

c语言超市商品管理系统实训报告

c语言超市商品管理系统实训报告

超市商品管理系统实训报告1. 背景超市商品管理系统是为了提高超市的商品管理效率和服务质量而开发的一款软件系统。

传统的超市商品管理方式通常依赖于人工操作,存在着工作效率低下、易出错、信息不及时等问题。

为了解决这些问题,我们开发了一套基于C语言的超市商品管理系统。

2. 分析2.1 系统需求分析在进行系统设计之前,我们首先对超市商品管理的需求进行了全面的分析。

通过与超市管理员和员工的沟通和访谈,我们得出了以下主要需求:•商品信息管理:包括商品的录入、修改、查询和删除等功能。

•库存管理:包括库存数量的统计、调整和报警等功能。

•销售管理:包括销售记录的录入、查询和报表生成等功能。

•会员管理:包括会员信息的录入、修改、查询和积分计算等功能。

2.2 系统设计思路基于以上需求分析,我们设计了一套简单而实用的超市商品管理系统。

该系统采用模块化设计,分为以下几个模块:•商品信息模块:负责处理商品信息的录入、修改、查询和删除等操作。

•库存管理模块:负责处理库存数量的统计、调整和报警等操作。

•销售管理模块:负责处理销售记录的录入、查询和报表生成等操作。

•会员管理模块:负责处理会员信息的录入、修改、查询和积分计算等操作。

系统采用了文件存储方式,将商品信息、库存信息、销售记录和会员信息保存在不同的文件中,以便于数据的读取和修改。

系统还提供了简单的用户界面,方便管理员和员工进行操作。

3. 结果经过系统设计和开发,我们成功实现了超市商品管理系统。

该系统在测试中表现良好,满足了超市商品管理的基本需求,并具备以下特点:•界面友好:系统采用简洁直观的用户界面,方便用户进行操作。

•功能完善:系统实现了商品信息管理、库存管理、销售管理和会员管理等多个功能模块。

•数据准确:系统通过文件存储方式,保证数据的准确性和可靠性。

•操作简便:系统提供了简单易用的操作方式,降低了用户学习成本。

4. 建议虽然超市商品管理系统已经取得了一定的成果,但仍存在改进空间。

C语言程序设计超市管理系统

C语言程序设计超市管理系统

程序设计——超市管理系统学院:专业:班级:姓名:学号:指导老师:超市管理系统课程设计1)需求分析:设计题目:超市管理系统设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。

2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计:统计输出库存量低于100的货号及类别。

统计输出有两种以上(含两种)商品库存量低于100的商品类别。

2)概要设计:系统总体设计框架:系统功能模块图:3)详细设计:主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格与库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别工作流程图:4)主要源程序代码:#include "stdio.h" /*输入,输出头文件*/ #include "stdlib.h" /*申请空间头文件*/#include "string.h" /*对字符串加工头文件*/ #include "conio.h" /*清屏头文件*/FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a[4],m; /*定义整数类型*/float aver[4],sum[4],g[4],h; /*定义浮点类型*/char c[5]="elec"; /*定义字符数组类型*/ char d[5]="comm"; /*定义字符数组类型*/char e[5]="food"; /*定义字符数组类型*/char f[5]="offi"; /*定义字符数组类型*/struct good /*定义结构体*/{int num; /*商品编号*/char name[20]; /*商品名称*/char kind[40]; /*商品类型*/float price; /*商品价格*/char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/}*head,*p1,*p2;struct good *createlist() /*创建链表函数*/{struct good *head1,*p1,*p2; /*定义结构体指针类型*/if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/ {printf("can not open the file");exit(0); /*结束程序*/}head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p1=head1;p2=head1;printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1->unit,&p 1->quantity); /*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/while(1){p1=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d",&p1->num);if(p1->num==-1) /*申请空间结束条件*/{printf("____________________\n\n");fprintf(fp,"%d",-1);fclose(fp);return head1; /*返回头指针*/}scanf("%s %s %f %s %d",p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity); /*输入商品信息*/printf("________________\n");fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}struct good *paixu(struct good*head2) /*链表排序函数*/struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/for(i=0;i<=3;i++) /*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;}p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ p6->next=head2;head2=p6;while(p6->next!=NULL) /*判断循环结束条件*/{p7=p6->next;r=p6;while(p7->next!=NULL) /*判断循环结束条件*/{if((p7->next->price)>(r->next->price)) /*判断是否调换*/r=p7;p7=p7->next;}if(p6!=r) /*判断循环结束条件*/s=r->next; /*指针调换*/r->next=s->next;s->next=p6->next;p6->next=s;}p6=p6->next;}p6=head2;head2=head2->next;free(p6); /*释放第一个无效空间*/return head2;}void jisuan(){p1=head;do{if(strcmp(p1->kind,c)==0) /*判断是否为电器类型*/{sum[0]=sum[0]+(p1->price)*(p1->quantity); /*求电器总价*/ a[0]=a[0]+p1->quantity; /*求电器总件数*/}if(strcmp(p1->kind,d)==0) /*判断是否为日用品类型*/{sum[1]=sum[1]+(p1->price)*(p1->quantity); /*求日用品总价*/ a[1]=a[1]+p1->quantity; /*求日用品总件数*/}if(strcmp(p1->kind,e)==0) /*判断是否为办公用品类型*/{sum[2]=sum[2]+(p1->price)*(p1->quantity); /*求办公用品总价*/ a[2]=a[2]+p1->quantity; /*求办公用品总件数*/}if(strcmp(p1->kind,f)==0) /*判断是否为食品类型*/{sum[3]=sum[3]+(p1->price)*(p1->quantity); /*求食品总价*/a[3]=a[3]+p1->quantity; /*求食品总件数*/}p1=p1->next;}while (p1!=NULL); /*遍历链表结束条件*/for(i=0;i<4;i++)aver[i]=sum[i]/a[i]; /*求每类商品平均价*/printf("****************************************************\n"); printf("商品类型\t 平均价\t 总库存量\n");printf("****************************************************\n");printf("____________________________________________________\n"); printf("电器总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[0],aver[0],a[0]); printf("____________________________________________________\n"); printf("日用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[1],aver[1],a[1]); printf("____________________________________________________\n"); printf("食品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[2],aver[2],a[2]); printf("____________________________________________________\n"); printf("办公用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[3],aver[3],a[3]);printf("____________________________________________________\n");}void shuchu() /*输出商品信息函数*/{do{struct good *p3,*p4,*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goods message.txt","rb+"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p3=head;fscanf(fp,"%d %s %s %f %s %d",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity);/*从文件中写到链表*/while(1){p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/fscanf(fp,"%d ",&p4->num);if(p4->num!=-1) /*判断循环结束条件*/{fscanf(fp,"%s %s %f %s %d",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*从文件中写到链表*/ p4->next=NULL;p3->next=p4;p3=p4;}else{p3->next=NULL;break;}}fclose(fp); /*关闭文件*/p3=head;while(p3!=NULL){printf(" %d %s %s %0.1f %s %d\n\n",p3->num,p3->name,p3->kin d,p3->price,p3->unit,p3->quantity);printf("__________________________________\n");p3=p3->next;}printf("**********************************\n");printf("//////////////////////////////////\n");while(n!=4){p3=head;printf("**********************************\n");printf("1 添加商品信息\n");printf("2 删除某商品信息\n");printf("3 修改某商品信息\n");printf("4 返回(当你完成了对某一商品的添加、删除或者修改后请按4返回)\n");printf("**********************************\n");scanf("%d",&n);if(n==1) /*添加商品信息*/{printf("请输入商品编号名称类型价格单位数目\n");printf("**********************************\n");p4=(struct good *)malloc(sizeof(struct good)); /*申请空间*/scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4->unit,&p 4->quantity); /*输入商品信息*/p4->next=NULL;while(p3->next!=NULL) /*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}while(p3!=NULL){fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity) ;/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==2) /*删除商品*/{printf("**********************************\n");printf("请输入需要删除的商品编号\n");printf("**********************************\n");scanf("%d",&p);printf("**********\n");printf("1 确认删除\n2 取消删除\n");printf("**********\n");scanf("%d",&r);if(r==1){if((head->num)==p){head=head->next;free(p3); /*释放空间*/}else{p4=head;p3=p4->next;while(p3!=NULL) /*判断循环结束条件*/ {if((p3->num)==p){p5=p3->next;free(p3); /*释放空间*/p4->next=p5;break;}p3=p3->next;p4=p4->next;}}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/}if(r==2)continue; /*继续循环*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==3) /*修改某商品信息*/{printf("请输入需要修改的商品编号\n");scanf("%d",&q);while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==q) /*判断是否为所需要修改的商品*/{printf("请输入商品单价与库存量(如果单价不变请输入原来的单价)\n");scanf("%f %d",&p3->price,&p3->quantity); /*输入商品价格与库存量*/}p3=p3->next;}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==4) /*退出*/break;}printf("**********\n");printf("1 继续修改\n---------\n2 返回\n");printf("**********\n");scanf("%d",&p);if(p==1)continue; /*继续循环*/if(p==2)break; /*跳出循环*/}while(n!=2);fclose(fp); /*关闭文件*/}void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,c)==0) /*判断商品类型是否为电器类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出电器类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出日用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,e)==0) /*判断商品类型是否为办公用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出办公用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出食品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void shunxudayin(){for(i=0;i<4;i++)g[i]=aver[i]; /*将平均价赋给新数组*/for(j=0;j<3;j++) /*将新数组用冒泡排序法排序*/for(i=j+1;i<4;i++){if(g[j]<g[i]){h=g[j];g[j]=g[i];g[i]=h;}}printf("\n****************************\n");printf("商品平均价格排序表(从高到低)\n");printf("****************************\n");printf("________________________________________________\n");printf("编号\t名称\t类别\t单价\t单位\t数量\n");printf("________________________________________________\n"); for(j=0;j<4;j++)for(i=0;i<4;i++){if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/switch(i){case 0:printf0(head); /*调用遍历链表并打印电器类商品函数*/break;case 1:printf1(head); /*调用遍历链表并打印日用品类商品函数*/break;case 2:printf2(head);/*调用遍历链表并打印办公用品类商品函数*/break;case 3:printf3(head); /*调用遍历链表并打印食品类商品函数*/break;}}void tongji1(){p1=head;printf("\n************************\n");printf("库存量低于100的货名及类别\n");printf("************************\n");printf("________________________\n");printf("商品名称\t商品类型\n");printf("________________________\n");while(p1!=NULL) /*判断遍历链表循环结束条件*/{if(p1->quantity<100) /*判断库存量是否小于100*/{printf("%s\t%s\n",p1->name,p1->kind); /*输出商品名称及类别*/ printf("________________________\n");}p1=p1->next;}}void tongji2()printf("\n**********************************************\n");printf("商品库存量有2种以上(含2种)低于100的商品类别:\n");printf("**********************************************\n");printf("________\n");if((a[0]<100)&&(a[0]>=2)) /*判断电器类库存量是否为2种以上(含2种)低于100*/{printf("电器\n");printf("________\n");}if((a[1]<100)&&(a[1]>=2)) /*判断日用品类库存量是否为2种以上(含2种)低于100*/{printf("日用品\n");printf("________\n");}if((a[2]<100)&&(a[2]>=2)) /*判断食品类库存量是否为2种以上(含2种)低于100*/{printf("食品\n");printf("________\n");if((a[3]<100)&&(a[3]>=2)) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/{printf("办公用品\n");printf("________\n");}}int main(int argc, char* argv[]){struct good *p1,*p2; /*定义结构体指针类型*/while(1){printf("***********************************************\n");printf("1 ----------输出查看或者修改已存信息-----------\n");printf("-----------------------------------------------\n");printf("2 -----重新输入新信息(并且删除原有信息)------\n");printf("-----------------------------------------------\n");printf("3 统计商品信息(如果您还没有查看过信息请先按1)\n");printf("-----------------------------------------------\n");printf("4 -------------------退出---------------------\n");printf("***********************************************\n");scanf("%d",&m);if(m==1)shuchu(); /*调用输出信息函数*/if(m==2){system("cls");head=createlist(); /*调用建立链表函数*/}if(m==3){printf("统计结果如下\n");head=paixu(head); /*调用链表排序函数*/ jisuan(); /*调用计算函数*/ shunxudayin(); /*调用顺序打印函数*/ tongji1(); /*调用统计1函数*/tongji2(); /*调用统计2函数*/}if(m==4){p1=head;while(p1!=NULL) /*判断遍历链表结束条件*/ {p2=p1->next;free(p1); /*释放空间*/p1=p2;}break;}}return 0; /*结束程序*/ }5)调试分析过程描述:测试数据:01 milk drink 2.5 box 502 apple fruit 3 kilo 2测试输出结果:存在问题的思考:源代码出错,漏了一些分号导致程序频频出错,在进行编写时注意小地方别出错!否则会影响大局!6)总结:学习体会与收获:通过这个超市管理系统程序设计实验,我从理论知识跨越到实践上,感到收效良多,从崇拜计算机到学会控制计算机,在心理上不再觉得计算机是万能的,人的大脑才是万能的,算法才是万能的数学才是万能的,在这次实验中,实现一个完整的程序大大加深了我对C语言课程的兴趣!对C语言课程设计的认识以及自己的建议:C语言课程设计就是通过编译实现需要的功能的一种程序的设计,建议自己以后在这方面多下功夫,真正实现自己编译以个完整的C程序,实现自己的梦想和未来!。

超市食品管理系统c语言实验报告

超市食品管理系统c语言实验报告

超市食品管理系统c语言实验报告超市食品管理系统C语言实验报告一、实验目的本实验旨在让学生通过设计和实现一个超市食品管理系统,初步了解和掌握C语言编程的基本知识和技能,并培养学生独立思考和解决问题的能力。

二、实验内容本实验的主要内容是设计和实现一个超市食品管理系统,该系统可以实现以下功能:1. 管理员可以添加、删除、修改商品信息,如商品名称、价格、生产日期、保质期等。

2. 超市职员可以查询商品信息,并根据生产日期和保质期进行预警提醒。

3. 管理员可以生成商品销售报表,并显示每种商品的日销售量和总销售量。

4. 超市职员可以录入顾客购物清单,生成购物结算单,并计算折扣和总价。

三、实验原理本实验的实现主要依靠C语言编程语言,并借助各种相关函数库和工具,如文件IO操作函数、结构体定义和使用、条件和循环语句等。

四、实验过程1. 首先,我们开始设计和实现商品信息的添加功能。

为此,我们定义一个结构体类型goods,包含商品名称、价格、生产日期、保质期等信息。

然后,我们定义一个函数add_goods,用于添加商品信息。

该函数利用文件IO操作函数将商品信息写入一个文本文件,并对商品信息进行检验,以确保数据的准确性和完整性。

2. 接下来,我们实现商品信息的查询和预警提醒功能。

为此,我们定义两个函数query_goods和warning_goods。

query_goods函数利用文件IO操作函数从文本文件中读取商品信息,并根据用户输入的关键字进行模糊查询,返回匹配的商品信息。

warning_goods函数则利用当前日期和商品的生产日期和保质期计算商品的保质期,如果商品已过期或即将过期,则提醒职员及时处理。

3. 然后,我们开始设计和实现商品销售报表功能。

为此,我们定义一个函数sales_report,用于根据订单信息和商品信息计算每种商品的日销售量和总销售量。

该函数利用文件IO操作函数将销售报表写入一个文本文件,并在屏幕上显示报表信息。

c超市管理系统课程设计

c超市管理系统课程设计

c 超市管理系统课程设计一、课程目标知识目标:1. 了解超市管理系统的基本概念和功能模块;2. 掌握数据库设计的基本原则,能运用实体关系模型进行数据库设计;3. 学会使用一种编程语言(如Python)实现超市管理系统的功能。

技能目标:1. 能够分析超市业务需求,设计出合理的数据库结构;2. 能够编写程序实现商品信息、库存管理、销售管理等基本功能;3. 能够运用所学的知识解决实际超市管理问题,具备一定的项目实践能力。

情感态度价值观目标:1. 培养学生主动学习和探究问题的兴趣,激发学生学习计算机技术的热情;2. 培养学生团队协作精神,提高沟通与交流能力;3. 增强学生对信息技术在实际生活中的应用意识,认识到所学知识的社会价值。

课程性质:本课程为信息技术学科,结合学生年级特点,注重理论与实践相结合,强调学生的动手实践能力。

学生特点:学生具备一定的计算机操作基础,对编程有一定了解,但项目实践经验不足。

教学要求:结合课程性质、学生特点,通过项目驱动的教学方法,引导学生主动参与教学活动,培养实际操作能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 超市管理系统概述:介绍超市管理系统的基本概念、功能模块及其在实际生活中的应用。

相关教材章节:第一章 超市管理系统简介2. 数据库设计:讲解数据库设计的基本原则,引导学生运用实体关系模型进行数据库设计。

相关教材章节:第二章 数据库设计基础3. 编程语言基础:复习Python编程基础,为后续实现超市管理系统功能做准备。

相关教材章节:第三章 Python编程基础4. 超市管理系统功能实现:(1)商品信息管理:实现商品信息的增加、删除、修改和查询功能。

相关教材章节:第四章 商品信息管理(2)库存管理:实现库存的入库、出库、库存查询等功能。

相关教材章节:第五章 库存管理(3)销售管理:实现销售数据的录入、查询、统计分析等功能。

相关教材章节:第六章 销售管理5. 项目实践:指导学生分组进行超市管理系统的设计与实现,培养学生团队协作和实际操作能力。

c语言课程设计超市管理系统

c语言课程设计超市管理系统

c语言课程设计超市管理系统一、教学目标本课程的目标是让学生掌握C语言编程的基本知识,能够运用C语言设计简单的超市管理系统。

具体分为以下三个部分:1.知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等,为编写程序打下基础。

2.技能目标:培养学生使用C语言进行程序设计的能力,使其能够独立完成简单的程序编写和调试。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,增强其自主学习和解决问题的意识,使其认识到计算机技术在实际生活中的重要性。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等,以及运用C语言设计简单的超市管理系统。

具体安排如下:1.第一章:C语言概述,使学生了解C语言的基本概念,掌握C语言的编译环境和基本语法。

2.第二章:数据类型和运算符,让学生掌握C语言中的基本数据类型和运算符,能够进行简单的数学运算。

3.第三章:控制结构,培养学生掌握C语言的条件语句和循环语句,能够实现分支和循环控制。

4.第四章:函数,使学生了解函数的概念和作用,掌握函数的定义和调用。

5.第五章:数组和字符串,让学生掌握数组和字符串的基本操作,能够运用数组和字符串解决实际问题。

6.第六章:指针,培养学生掌握指针的概念和运用,能够利用指针处理数据。

7.第七章:结构体和文件,使学生了解结构体的概念,掌握文件的基本操作。

8.第八章:超市管理系统设计,引导学生运用所学知识设计并实现一个简单的超市管理系统。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解C语言的基本概念、语法和编程技巧,使学生掌握编程的基本方法。

2.案例分析法:通过分析实际案例,让学生了解C语言在实际应用中的重要性,提高其学习兴趣。

3.实验法:安排上机实验,让学生动手编写程序,培养其实际编程能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高其自主学习和合作能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:课件、教学视频4.实验设备:计算机、编程环境通过以上教学资源,为学生提供丰富的学习资料和实践平台,帮助其更好地掌握C语言编程技能。

超市管理系统c语言课程设计

超市管理系统c语言课程设计

超市管理系统c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和数据结构,如数组、结构体等;2. 学会使用C语言进行简单的文件操作;3. 了解超市管理系统的基本功能和需求;4. 学习如何设计、编写和调试C语言程序。

技能目标:1. 能够运用所学知识设计并实现一个简单的超市管理系统;2. 培养独立分析问题、解决问题的能力;3. 提高编程实践能力,熟练使用C语言进行程序设计;4. 学会使用调试工具,提高程序调试效率。

情感态度价值观目标:1. 培养对计算机编程的兴趣,激发学习积极性;2. 培养团队协作意识,学会与他人共同解决问题;3. 增强学生的自信心,鼓励他们勇于挑战困难;4. 培养良好的编程习惯,注重代码规范和优化。

本课程旨在让学生通过学习C语言,设计并实现一个超市管理系统,掌握编程的基本方法和技巧。

针对学生的年级特点,课程内容注重实践操作,培养学生动手能力和解决问题的能力。

在教学过程中,注重激发学生的学习兴趣,培养团队协作精神,提高学生的综合素质。

课程目标的设定遵循具体、可衡量原则,为教学设计和评估提供明确方向。

二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制结构(顺序、选择、循环);2. 函数:函数定义、调用、参数传递、返回值、库函数使用;3. 数组与字符串:一维数组、二维数组、字符串处理;4. 结构体与文件操作:结构体定义、初始化、结构体数组、文件打开、读写、关闭;5. 超市管理系统功能模块设计:用户模块(登录、注册)、商品模块(增删改查)、购物车模块(添加、删除、结算)、库存模块(库存管理);6. 程序调试与优化:错误类型分析、调试工具使用、代码优化。

教学内容依据课程目标进行选择和组织,确保学生掌握C语言基础知识,并能运用所学设计超市管理系统。

教学大纲明确指出教材相关章节,安排合理的教学进度,使教学内容具有科学性和系统性。

教学中注重理论与实践相结合,提高学生的编程实践能力。

c超市商品信息管理系统数组版

c超市商品信息管理系统数组版

#include <stdio.h> #include <stdlib.h>#include <string.h>int SNum[100];char SName[100][20];char pub[100][20];int Anamber[100];float price[100];int Bnamber[100];void a();void b();void c();void d();void e();int main(){int n;int w=0;printf("************欢迎使用超市商品信息管理系统**********\n\n"); printf("1.**************录入商品信息*************\n\n");printf("2.**************修改商品信息*************\n\n");printf("3.**************查询商品信息*************\n\n");printf("4.**************删除商品信息*************\n\n");printf("5.**************统计商品信息*************\n\n");printf("6.**************退出管理系统*************\n\n");printf("请输入需要进行操作前的编号:\n");scanf("%d",&n);do{if(n>6||n<0){printf("\n输入错误,请重新输入!\n");scanf("%d",&n);}else{w=1;}}while(w==0);switch(n){case 1:a();break;case 2:b();break;case 3:c();break;case 4:d();break;case 5:e();break;case 6:exit(0);}return 0;}void a (){FILE *fp;int t;if((fp=fopen("s.txt","a+"))==NULL){printf("无法打开此文件");}printf("商品编号、商品名称、商品品牌、库存数量、售价、已售数量\n");printf("请按照上面的格式录入商品信息\n");scanf("%d %s %s %d %f %d",&SNum[0],&SName[0][0],&pub[0][0],& Anamber [0],&price[0],& Bnamber [0]);fprintf(fp,"%d %s %s %d %f %d\n",SNum[0],SName[0],pub[0], Anamber[0],price[0], Bnamber[0]);fclose(fp);printf("是否继续录入商品信息?(1/0)\n");scanf("%d",&t);if(t==1){a();}else{main();}}void b(){FILE *fp;int num;int i;int t=0;int m;int temp;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请输入你要修改的商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++) {if(num==SNum[i]){printf("2-商品名称\n");printf("3-商品品牌\n");printf("4-库存数量\n");printf("5-售价\n");printf("6-已售数量\n");aaa:printf("请输入要修改的选项前的编号:\n"); scanf("%d",&temp);switch (temp) {case 1:printf("请输入要修改的内容:\n");scanf("%d",&SNum[i]);break;case 2:printf("请输入要修改的内容:\n");scanf("%s",&SName[i][0]);break;case 3:printf("请输入要修改的内容:\n");scanf("%s",&pub[i][0]);break;case 4:printf("请输入要修改的内容:\n"); scanf("%d",& Anamber [i]); break;case 5:printf("请输入要修改的内容:\n"); scanf("%f",&price[i]);break;case 6:printf("请输入要修改的内容:\n"); scanf("%s",& Bnamber [i]); break;default:printf("输入错误,"); goto aaa;break;}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}fclose(fp);printf("修改成功,是否继续修改?(1/0)");scanf("%d",&m);if(m==1){b();}else{main();}}void c(){int num,a;char name[20];char apub[20];int i;int t=0;int m;FILE *fp;printf("1-按商品名称查询,2-按品牌名查询,3-按照商品编号查询\n"); printf("请输入要进行操作前的编号:\n");scanf("%d",&num);if((fp=fopen("s.txt","r"))==NULL){printf("不能打开此文件\n");}for(t=0;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],SName[t],pub[t],&Anamber[t],&pric e[t],&Bnamber[t]) ;}if(num==1){printf("请输入你要查询的商品名:\n");scanf("%s",&name[0]);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if((strcmp(SName[i],name))==0)printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i], price[i],Bnamber [i]);}}else if(num==2){//输入商品品牌,在商品信息文件中统计其不同商品名称的库存量,并输出库存量最高的那个商品的信息int max=0,n;printf("请输入你要查询的商品品牌:\n");scanf("%s",&apub[0]);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if((strcmp(pub[i],apub))==0){printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i] ,price[i],Bnam ber [i]);if (Anamber[i]>max)max=Anamber[i];n=i;}}printf("库存量最高的那个商品的信息:\n%5d%8s%8s%9d%8.1f%5d\n",SNum[n],SName[n],pub[n],Anamber[n],price[n] ,Bnamber[n] );}else if(num==3){printf("请输入你要查询的商品编号:\n");scanf("%d",&a);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if(SNum[i]==a)printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i], price[i],Bnamber [i]);}}else{printf("输入错误!\n");c();}printf("是否继续查询?(1/0)\n"); scanf("%d",&m);if(m==1){c();}else{main();}}void d(){FILE *fp;int num;int i;int t=0;int m;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请输入你要删除的商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],&Bn amber[t]);}for (i=0;i<t+1; i++)if(num==SNum[i]){SNum[i]=0;SName[i][0]=0;pub[i][0]=0;Anamber[i]=0;Bnamber[i]=0;}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %d %d %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]); } fclose(fp);printf("删除成功,是否继续删除?(1/0)\n");scanf("%d",&m);if(m==1) {d();}else {main(); }}void e() {FILE *fp; int num; int x,b; int n;int y=10; int i;int t=0;int m;double s,sum;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请选择相应的编号\n");printf("1-出售,2-进货\n");scanf("%d",&x);if(x==1){{printf("出售\n");printf("请输入商品编号和名称\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++) {if(num==SNum[i]){printf("请输入商品数量\n"); scanf("%d",&n);if(n> Anamber[i]){printf("输入错误,请重新输入"); e();}Anamber[i]= Anamber[i]-n; Bnamber [i]=Bnamber [i]+n; sum=price[i]*Bnamber [i];b=Anamber[i];s=n*price[i];printf("商品编号商品名称商品品牌库存数量售价已售数量当前销售价格已销售总价\n");printf("%d %s %s %d %f %d %f %f\n",SNum[i],SName[i],pub[i], Anamber[i],price[i],Bnamber [i],s,sum);if("b<y");printf("商品库存量较低,请及时补充\n");}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i] ,Bnamber [i]);}fclose(fp);printf("修改成功,是否继续?(1/0)"); scanf("%d",&m);if(m==1){e();}else{main();}}if(x==2){{printf("进货\n");printf("请输入商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++){if(num==SNum[i]){printf("请输入商品数量\n");scanf("%d",&n);Anamber[i]=Anamber[i]+n;printf("%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}else{printf("商品不存在,请添加该商品信息\n");printf("是否添加?1-是/2-否\n");scanf("%d",&n);if(n==1){a();}else{e();}}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL) {printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}fclose(fp);printf("修改成功,是否继续?(1/0)");scanf("%d",&m);if(m==1){e();}else{main();}}}。

C毕业课程设计超市管理系统

C毕业课程设计超市管理系统

C 毕业课程设计超市管理系统一、教学目标本课程旨在让学生掌握超市管理系统的基本知识和技能,能够运用C语言进行程序设计,实现超市管理的基本功能,如商品信息管理、库存管理、销售管理等。

同时,通过本课程的学习,培养学生的问题解决能力和团队协作能力,提高学生的创新意识和实践能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和编程方法。

2.理解超市管理系统的业务流程和需求分析。

3.学习常用的数据结构和算法,并能够应用于实际问题解决。

技能目标包括:1.能够使用C语言编写简单的程序,实现超市管理的基本功能。

2.学会使用调试工具,能够发现和修复程序中的错误。

3.能够进行团队合作,共同完成一个完整的超市管理系统项目。

情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情,提高学生的学习积极性。

2.培养学生的问题解决能力和创新意识,让学生感受到编程的乐趣。

3.培养学生的团队协作意识,让学生学会与他人合作共同完成任务。

二、教学内容本课程的教学内容主要包括三个部分:C语言基础知识、超市管理系统的设计与实现、项目实践。

1.C语言基础知识:包括C语言的基本语法、数据类型、运算符、控制结构等。

这部分内容是学习后续章节的基础,需要学生掌握。

2.超市管理系统的设计与实现:包括需求分析、系统设计、模块划分等。

这部分内容让学生了解超市管理系统的业务流程,学会如何将实际问题转化为程序设计问题。

3.项目实践:学生分组完成一个超市管理系统项目,包括商品信息管理、库存管理、销售管理等。

这部分内容让学生将所学知识应用于实际问题解决,提高学生的实践能力。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。

1.讲授法:教师讲解C语言的基本语法和编程方法,让学生掌握基础知识。

2.案例分析法:通过分析真实的超市管理系统案例,让学生了解业务流程和需求分析。

3.实验法:学生动手编写程序,实现超市管理的基本功能,培养学生的实践能力。

超市管理系统c语言课程设计

超市管理系统c语言课程设计

超市管理系统c语言课程设计一、教学目标本节课的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握超市管理系统的基本概念、设计方法和实现技术。

技能目标要求学生能够使用C语言进行简单的程序设计,掌握数据结构的基本操作,以及运用面向对象编程思想进行软件开发。

情感态度价值观目标则是培养学生对计算机科学的兴趣和热情,提高他们的问题解决能力和团队合作意识。

通过对本节课的学习,学生将了解超市管理系统的设计原理,掌握C语言编程方法,培养实际操作能力,提高对计算机科学的兴趣和热情。

二、教学内容本节课的教学内容主要包括超市管理系统的基本概念、C语言编程基础、数据结构的基本操作以及面向对象编程思想。

首先,介绍超市管理系统的基本概念,包括系统架构、功能模块和设计原则。

然后,通过C语言编程实例,使学生掌握C语言的基本语法、数据类型、运算符、控制结构等编程基础。

接下来,讲解数据结构的基本操作,如链表、栈、队列等,并引导学生运用这些数据结构实现超市管理系统的相关功能。

最后,引入面向对象编程思想,让学生了解类、对象、封装、继承等基本概念,并运用面向对象的方法设计超市管理系统。

三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

首先,通过讲授法向学生传授超市管理系统的基本概念、C语言编程基础和数据结构的基本操作。

然后,运用讨论法引导学生探讨面向对象编程思想的优点和适用场景,以及如何在超市管理系统中运用这一思想。

接下来,通过案例分析法分析具体的超市管理系统案例,让学生了解实际应用中的问题和解决方案。

最后,利用实验法让学生动手实践,编写简单的超市管理系统程序,提高实际操作能力。

四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书将提供超市管理系统的基本概念、C语言编程方法和数据结构的基本操作等知识,为学生学习提供理论支持。

多媒体资料将通过图片、视频等形式展示超市管理系统的实际应用场景,帮助学生更好地理解课程内容。

超市商品管理系统C语言版(文件读取)

超市商品管理系统C语言版(文件读取)

超市商品管理系统C语言版(文件读取)#include#include#include//------------------------------------------------------------- //Max count of good,def 100 temporary//------------------------------------------------------------- #define MAX 100#define false -1#define true 1//声明一个计数器int CurrentCnt;//------------------------------------------------------------- //Good Information Definition//------------------------------------------------------------- struct GoodInfo {char good_id[30];char good_name[30];char good_price[10];char good_discount[10];int good_amount;int good_remain;};struct GoodInfo *Goods[MAX];//------------------------------------------------------------- //read a goodinfo from file//------------------------------------------------------------- struct GoodInfo *readGoodInfo(FILE* fp){struct GoodInfo *pGoodInfo = (struct GoodInfo*)malloc(sizeof(struct GoodInfo));//开辟空间fscanf(fp,"%s",&pGoodInfo->good_id);fscanf(fp,"\t%s",&pGoodInfo->good_name);fscanf(fp,"\t%s",&pGoodInfo->good_price);fscanf(fp,"\t%s",&pGoodInfo->good_discount);fscanf(fp,"\t%d",&pGoodInfo->good_amount);fscanf(fp,"\t%d\n",&pGoodInfo->good_remain);//将信息存入结构return pGoodInfo;}//-------------------------------------------------------------//check whether the file exists or not//-------------------------------------------------------------int check_nullfile(){FILE *fp = fopen("E:\\goodinfo.txt","r");//file not existif(!fp){printf("商品信息初始化文件不存在!\n请您放到E盘根目录!\n");FILE *fp = fopen("E:\goodinfo.txt","w");fclose(fp);}//file already existelse{int temp;//res for try to read file if file null feof() can't jarge if file is nullint res = fscanf(fp,"%d",&temp);fclose(fp);if(res<=0){printf("文件为空,请确保文件中存有商品信息\n");return false;}elsereturn true;}}//------------------------------------------------------------- //initialize//------------------------------------------------------------- void info_init(){int i;for(i=0; i<="" p="">Goods[i] = NULL;}int res = check_nullfile();FILE *fp = fopen("E:\\goodinfo.txt","r");int j = 0;while( res && !feof(fp) ){Goods[j] = readGoodInfo(fp);j++;CurrentCnt++;}fclose(fp);}//------------------------------------------------------------- // search a goodinfoint info_search(){int i;char name[30];scanf("%s",&name);for(i=0;i<="">{if(Goods[i]==NULL)//跳过已被释放内存的空指针i++;if(strcmp(name,Goods[i]->good_name)==0)//若商品名与输入相同则返回下标return i;}if(i==CurrentCnt)//未找到商品return false;}//-------------------------------------------------------------//modify a goodinfo//-------------------------------------------------------------void info_change(int i){printf("输入新的商品信息(以换行区分信息条目):\n");scanf("%s",&Goods[i]->good_id);scanf("%s",&Goods[i]->good_name);scanf("%s",&Goods[i]->good_price);scanf("%s",&Goods[i]->good_discount);scanf("%d",&Goods[i]->good_amount);scanf("%d",&Goods[i]->good_remain);printf("修改商品信息成功!\n");}//delete a goodinfo//-------------------------------------------------------------void info_dele(int i){if(i!=false){free(Goods[i]);//释放空间Goods[i]=NULL;//指向空指针}printf("删除商品信息成功!\n");}//-------------------------------------------------------------//output//-------------------------------------------------------------void info_output(int i){printf("目前商品信息:\n");printf("商品id:%s商品名称:%s商品价格:%s\n",Goods[i]->good_id,Goods[i]->good_name,Goods[i]->g ood_price);printf("商品折扣:%s商品数量:%d商品余数:%d\n",Goods[i]->good_discount,Goods[i]->good_amount,Go ods[i]->good_remain);}//-------------------------------------------------------------//insert one goodinfo//-------------------------------------------------------------void info_insert(){ //开辟空间struct GoodInfo *newgoods=(struct GoodInfo*)malloc(sizeof(struct GoodInfo));scanf("%s",&newgoods->good_id);scanf("\n%s",&newgoods->good_name);scanf("\n%s",&newgoods->good_price);scanf("\n%s",&newgoods->good_discount);scanf("\n%d",&newgoods->good_amount);scanf("\n%d",&newgoods->good_remain);Goods[CurrentCnt]=newgoods;CurrentCnt++;printf("商品信息插入完成!\n");}//-------------------------------------------------------------//write one goodinfo into file//-------------------------------------------------------------void writeGoodInfo(FILE* fp,struct GoodInfo* pGoodInfo) { fprintf(fp,"%s\t",pGoodInfo->good_id);fprintf(fp,"%s\t",pGoodInfo->good_name);fprintf(fp,"%s\t",pGoodInfo->good_price);fprintf(fp,"%s\t",pGoodInfo->good_discount);fprintf(fp,"%d\t",pGoodInfo->good_amount);fprintf(fp,"%d\n",pGoodInfo->good_remain);}//-------------------------------------------------------------//write all goodinfos into file//-------------------------------------------------------------void info_flush(){int i;FILE *fp = fopen("E:\\goodinfo.txt","w");for(i=0; i<="" p="">if(Goods[i])writeGoodInfo(fp,Goods[i]);}fclose(fp);}//------------------------------------------------------------- //free goodinfo memory//------------------------------------------------------------- void freeGoodInfo(){int i;for(i=0;i<currentcnt;i++)< p="">free(Goods[i]);}//------------------------------------------------------------- //main entry//------------------------------------------------------------- int main(){int i;int choice;char name[30];info_init();for(;;){printf("超市商品管理系统\n""*****************************************\n""1.商品信息的修改:\n""2.删除某个商品信息:\n""3.查找商品信息:\n""4.插入某个商品信息\n""其他数字,退出系统\n""****************************************\n" "请输入您的选择:");scanf("%d",&choice);switch(choice){case 1:printf("输入您要修改的商品名称:");i=info_search();if(i!=false)info_change(i);elseprintf("您要修改的商品不存在\n"); break;case 2:printf("输入您要删除的商品名称:");i=info_search();if(i!=false)info_dele(i);elseprintf("您要删除的商品不存在\n"); break;case 3:printf("输入你要查询的商品名称:");i=info_search();if(i!=false)info_output(i);elseprintf("您要查询的商品不存在\n"); break;case 4:printf("输入你要插入的商品信息(以换行区分信息条目):\n"); info_insert();break;default:break;}if(choice!=1&&choice!=2&&choice!=3&&choice!=4) break;}info_flush();//存盘freeGoodInfo();//释放内存return 0;}</currentcnt;i++)<>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于超市商品管理系统C++程序基本功能:基本功能(供参考)有:1、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。

2、2、进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。

3、售出:输入商品编号,修改相应的存货数与销售额。

4、查询:查询商品、销售额# include <iostream># include <fstream># include <string.h>#include <conio.h>//用getch();using namespace std;//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌commodity类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌class commodity{public:char name[20];char Id[20];int buy;//进货价;int sale;//卖出价;int amount;//数量;int sum;//利润;commodity * Next;void Input(){cout<<"\t\t请输入商品的名称:"; cin>>name;cout<<"\t\t请输入商品的编号:"; cin>>Id;cout<<"\t\t请输入进货价:"; cin>>buy;cout<<"\t\t请输入售出价:"; cin>>sale;cout<<"\t\t请输入商品数量:"; cin>>amount;sum=(sale-buy)*amount;}void ReadFile(istream & in){in>>name>>Id>>sale>>buy>>sum;}void Show(){cout<<"商品名"<<name<<endl<<"编号:"<<Id<<endl<<"进货价"<<buy<<"售出价"<<sale<<"商品数量:"<<amount<<"预计总利润:"<<sum<<endl<<endl<<endl;}};//﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌class Commoditymassage{public:Commoditymassage();~Commoditymassage();void ShowMenu();void Find();void Save();void ModifyItem();void RemoveItem();void Swap(commodity *,commodity *);void Sort();int ListCount();void Display(){for(commodity * p=Head->Next;p!=End;p=p->Next)p->Show();cout<<"输入任意字符!继续……";getch();}void AddItem(){End->Input();End->Next=new commodity;End=End->Next;cout<<"添加成功!"<<endl;cout<<"输入任意字符!继续……";getch();}private:commodity * Head,* End;ifstream in;ofstream out;commodity *FindItem(char * name){for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name))return p;return NULL;}commodity *FindID(char * Id){for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Id,Id))return p;return NULL;}};//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage::Commoditymassage(){Head=new commodity;Head->Next=new commodity;End=Head->Next;in.open("sort.txt");if(!in)cout<<"无商品信息。

请先输入。

"<<endl;else{while(!in.eof()){End->ReadFile(in);if(End->name[0]=='\0')break;End->Next=new commodity;End=End->Next;}in.close();cout<<"\t\t读取商品信息成功!"<<endl;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage::~Commoditymassage(){Save();for(commodity * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::ShowMenu(){cout<<"〓〓〓〓〓〓〓〓〓〓☆超市商品管理系统☆〓〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 1.增加超市商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 2.显示超市商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 3.排序统计商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 4.查找超市商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 5.删除超市商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆ 6.修改超市商品☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"〓〓〓〓〓〓〓〓〓★☆0.安全退出系统☆★〓〓〓〓〓〓〓〓〓"<<endl;cout<<"\n\t\t\n\t\t请选择:";}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::Find(){char name[20] ,Id[10];int x;commodity * p=NULL;cout<<"\n\t\t*********************************\n";cout<<"\t\t※1.按商品的名称查找\n\t\t※2.按商品编号查找";cout<<"\n\t\t*********************************\n请选择:";cin>>x;switch(x){case 1:{cout<<"\t\t请输入要查找的商品的名称:";cin>>name;if(p=FindItem(name)){p->Next->Show();cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到该名称的商品!"<<'\n'<<endl;cout<<"输入任意字符!继续……";getch();}}break;case 2:{cout<<"\t\t请输入要查找的商品的编号:";cin>>Id;if(p=FindID(Id)){p->Next->Show();cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到该编号的商品!"<<'\n'<<endl;cout<<"输入任意字符!继续……";getch();}}break;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::ModifyItem() //修改商品信息{char name[20];commodity * p=NULL;cout<<"\t\t请输入要修改的商品的名称:";cin>>name;if(p=FindItem(name)){cout<<"\t\t已找到商品的信息,请输入新的信息!"<<endl;p->Next->Input();cout<<"修改成功!"<<endl;cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到!"<<endl;cout<<"输入任意字符!继续……";getch();}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::RemoveItem() // 删除信息{char name[20];commodity * p=NULL,*temp=NULL;cout<<"\t\t请输入要删除的商品的名称:"<<endl;cin>>name;if(p=FindItem(name)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"\t\t删除成功!"<<endl;cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到!"<<endl;cout<<"输入任意字符!继续……";getch();}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::Swap(commodity *p1, commodity *p2)//交换两个combox变量的数据域{commodity *temp=new commodity;strcpy(temp->name,p1->name);strcpy(temp->Id,p1->Id);temp->sale=p1->sale;temp->buy=p1->buy;temp->sum=p1->sum;strcpy(p1->name,p2->name);strcpy(p1->Id,p2->Id);p1->sale=p2->sale;p1->buy=p2->buy;p1->sum=p2->sum;strcpy(p2->name,temp->name);strcpy(p2->Id,temp->Id);p2->sale=temp->sale;p2->buy=temp->buy;p2->sum=temp->sum;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌int Commoditymassage::ListCount()//统计当前链表的记录总数,返回一个整数{if(! Head)return 0;int n=0;for(commodity * p=Head->Next;p!=End;p=p->Next){n++;}return n;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::Sort()//对当前链表进行排序{cout <<"Sorting..."<<endl;commodity *p=NULL,*p1=NULL,*k=NULL;int n=Commoditymassage::ListCount();if(n<2)return;for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next){if(p->sum>k->sum){Commoditymassage::Swap(p,k);}}cout <<"排序完成!"<<endl;getch();return;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Commoditymassage::Save(){out.open("sort.txt");for(commodity *p=Head->Next;p!=End;p=p->Next)out<<p->name<<"\t"<<p->Id<<"\t"<<p->sum<<'\n';out.close();}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌int main(){int x,i=0;bool quit=false;cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;for(i=0;i<3;i++)cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;cout<<"\t\t◎★★★★【欢迎进入超市商品管理系统】★★★★◎"<<endl; for(i=0;i<3;i++)cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;; Commoditymassage Grade;cout<<"按任意键开始……";getch();while(!quit){system("cls");Grade.ShowMenu();cin>>x;switch(x){case 0:quit=true;break;case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Sort();break;case 4:Grade.Find();break;case 5:Grade.RemoveItem();break; case 6:Grade.ModifyItem();break; }}return 0;}。

相关文档
最新文档