超市商品管理系统代码

合集下载

超市常用的信息系统缩写

超市常用的信息系统缩写

超市常用的信息系统缩写
超市常用的信息系统缩写主要有以下几个:
1. POS:销售点终端系统(Point of Sale System)
2. ERP:企业资源计划(Enterprise Resource Planning)
3. WMS:仓库管理系统(Warehouse Management System)
4. CRM:客户关系管理(Customer Relationship Management)
5. SCM:供应链管理(Supply Chain Management)
6. OMS:订单管理系统(Order Management System)
7. PMS:采购管理系统(Purchase Management System)
8. EPOS:电子销售点终端系统(Electronic Point of Sale)
9. BI:商业智能(Business Intelligence)
10. EDI:电子数据交换(Electronic Data Interchange)
补充说明:这些缩写只是描述了一些常用的超市信息系统,并不代表所有的缩写。

如果您有具体需求,还可以提供更多信息。

超市管理系统的设计与实现JAVAEE与中间件

超市管理系统的设计与实现JAVAEE与中间件

目录1.设计内容___________________________________________________ 22.开发工具及相关内容介绍_____________________________________ 23.数据库设计_________________________________________________ 33.1系统的E-R图__________________________________________ 33.2数据库表定义__________________________________________ 33.2.1 职工信息表________________________________________________ 33.2.2 用户登录表________________________________________________ 43.2.3 商品信息表________________________________________________ 43.2.4 供货商信息表______________________________________________ 43.2.5 进货信息表________________________________________________ 53.2.6 销售信息表________________________________________________ 53.2.7 库存信息表________________________________________________ 64.系统整体功能分析___________________________________________ 64.1 系统登录模块__________________________________________ 74.2 商品信息管理模块______________________________________ 84.3 职工信息管理模块_____________________________________ 104.4 供货商信息管理模块___________________________________ 114.5 添加销售信息模块_____________________________________ 134.6 添加进货信息模块_____________________________________ 154.7 库存信息管理模块_____________________________________ 184.8权限设置管理模块_____________________________________ 195.系统测试__________________________________________________ 196.总结______________________________________________________ 207.参考文献__________________________________________________ 201.设计内容随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。

超市各种商品代码的认识

超市各种商品代码的认识
应的位置
(3)将顾客丢弃的购物车及购物篮摆放到固定位置
(4)时刻注意卖场内的动态,如发现异常情况及时向主管报告
(5)保护好商品,如发现有人有破坏商品的倾向或偷窃时,应及时地予以提示和
制止
(6)及时反馈营业中的市场信息和商品信息
(7)主管安排的其他事情
20:30——21:00(21:30)
(1)货架整理,将商品摆放整齐,有不足的进行补充
各种商品代码的认识
1、条形码
常用条形码包括EAN-13码和EAN-8码,其代表含义如下:
ENA-13码:标准版商品条码
X13X12X11 X10X9X8X7 X6X5X4X3X2 X1
X13~X11代表国家代码,X10~X7代表厂商识别代码,X6~X2代表商品项目代码,X1为校验码;
ENA-8码:缩短版商品条码
5、接到变价单、DM变价单及新品单后工作流程
变价单:首先看变价单上是否有本区商品,如若有,查看此种商品是否有货;其次用新标签更改价格,注意变价单上是否有截止日期或备注,将变价商品记录在本区交接本上;最后,在变价单上的本区商品后签上名字,传至其他货区;由最后一个传阅完的货区将变价单交于组长(内勤、课长)处。
18:30以前
(1)上班
(2)换工装,制服是否整洁且合乎规定
(3)胸卡是否佩带
(4)仪容仪表自查:发型、仪容是否整洁
18:30点名
18:30——18:40交接班
18:40——20:30营业高峰期
(1)顾客选购后将散乱的商品摆放整齐
(2)如发现某类商品数量减少至一定程度时,从货架上方取下同类商品摆放在相
4、验货员及理货员接货时的注意事项
1)核对供应商所持订单上的到货日期、商品品类、商品数量是否与实物相符合;

C语言 超市收银系统

C语言 超市收银系统

/*—-——-———-—-—-———-——--——--—--———-—--—-——时间:2015—7—1 16:44:21吴俊龙C语言专周设计超市收银系统--————--——-—---—-——-———-————---—--—-—--*/#include 〈stdio.h>#include <windows。

h〉#include 〈string。

h>int menu1(void);//主页面int menu2(void);//商品管理页面int menu3(void);//退出页面int menu4(void);//添加商品信息int menu5(void);//商品信息浏览int menu6(void);//商品信息修改int menu7(void);//商品信息查询int menu8(void);//商品信息删除int menu9(void);//结账页面int sign(void);//欢迎页面struct ima{int id;//商品编号char name[20];//商品的名称char produce[30]; //商品的产地int number; //商品的数量int money; //商品的价格};int len = 0;struct ima thing[50];struct ima *p;int menu1(void)//主页面{int n;system("cls");printf(”\n\n\n");printf(”\t\t —--—-------——-—-—-—--————--—-———-—-—---—— \n");printf(”\t\t| 欢迎使用结账管理系统|\n”);printf("\t\t|---—-—-—--—-—---—————------—--—----———---|\n");printf(”\t\t| |\n");printf("\t\t| 1。

超市各种商品代码的认识

超市各种商品代码的认识
(3)畐U食类:调味料、粮油、常温制品、低温制品、速冻类、农
副产品
调味料:佐料、酱油、醋、其他调料
粮油:袋装米面、散装米面、精品油、散油、方便面挂面、豆类 制品、其他粮油类
常温制品:常温肉制品、酱菜、罐头、其他常温制品 低温制品:低温肉制品、其他低温制品 速冻类:汤圆、水饺、丸子、冰糕、海产品、其他速冻食品 农副产品:禽蛋类、生鲜肉、蔬菜、水果、干货、其他农副产品
1、基本设备:货架(种类)、促销平台、立风柜、岛柜、空调、电源
2、辅助设备:电子秤、打价枪 理货员岗位职责及每日工作流程
1、理货员岗位职责
1、了解并掌握本区的商品名称、用途、价格、生产日期、保质期等基本信息 资料;
2、及时整理、补充商品,保证货架及货堆的丰满,管辖区域商品无缺物价签 现象;
3、每日按规定的时间打好续货单,及时补充货源;
帽类 床上用品:被褥、垫盖、其他床上用品 箱包类:皮包类、其他箱包类 针织类:毛巾、台布、其他针织品
(4)文体区:文化用品、体育用品、玩具 文化用品:纸制品、办公用品、书籍、音像制品、其他文化用品 体育用品:球类、健身类、保护类、其他体育用品类 玩具:电动玩具、智力玩具、毛绒玩具、其他玩具
3、联营商品(无库存,不参加盘点) 卖场内设备常识
(7)主管安排的其他事情
12:00——12:30
(1)货架整理,将商品摆放整齐,有不足的进行补充
(2)将购物车篮摆放在固定位置
12:30——12:40交班
(1)告诉下一班当日上午的到货情况
(2)当日上午未完成工作需下一班人员继续的内容
(3)需要续货的商品情况
12:40点名,下班
(二)午班
12:30以前
X8〜X6代表国家代码,X5〜X2代表商品项目代码,X1为校验码

超市管理系统数据字典

超市管理系统数据字典

超市管理系统数据字典1. 概述超市管理系统是一个用于管理超市日常运营的软件系统。

该系统涵盖了超市各个部门的功能和业务流程,包括商品管理、库存管理、销售管理、会员管理等。

本文将详细介绍超市管理系统中涉及的数据字典,包括各个数据表的字段、数据类型、约束条件等信息。

2. 数据字典2.1 商品表(Product)字段名数据类型约束条件说明--------------------------------------------------------------商品ID int 主键,自增商品唯一标识符商品名称 varchar(50) 非空商品的名称商品分类 varchar(50) 非空商品所属的分类商品价格 decimal(8,2) 非空,大于0 商品的销售价格商品库存 int 非空,大于等于0 商品的当前库存量2.2 供应商表(Supplier)字段名数据类型约束条件说明--------------------------------------------------------------供应商ID int 主键,自增供应商唯一标识符供应商名称 varchar(50) 非空供应商的名称联系人 varchar(50) 非空供应商联系人姓名联系电话 varchar(20) 非空供应商联系人电话地址 varchar(100) 非空供应商地址2.3 库存表(Inventory)字段名数据类型约束条件说明--------------------------------------------------------------库存ID int 主键,自增库存唯一标识符商品ID int 外键,非空库存所属商品的ID库存数量 int 非空,大于等于0 库存中该商品的数量入库时间 datetime 非空商品入库的时间供应商ID int 外键,非空供应商的ID2.4 销售表(Sales)字段名数据类型约束条件说明--------------------------------------------------------------销售ID int 主键,自增销售记录的唯一标识符商品ID int 外键,非空销售商品的ID销售数量 int 非空,大于0 销售的商品数量销售时间 datetime 非空销售的时间销售金额 decimal(8,2) 非空,大于0 销售的总金额会员ID int 外键,可空购买商品的会员ID2.5 会员表(Member)字段名数据类型约束条件说明--------------------------------------------------------------会员ID int 主键,自增会员唯一标识符会员姓名 varchar(50) 非空会员姓名联系电话 varchar(20) 非空会员联系电话注册日期 date 非空会员注册的日期积分 int 非空,大于等于0 会员的积分3. 数据字典的作用数据字典是超市管理系统中的重要文档,它对系统中涉及的数据进行了详细的描述和定义,有助于开发人员理解和使用系统中的数据。

超市管理系统设计代码

超市管理系统设计代码

import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import javax.swing.event.*;import javax.swing.*;import java.sql.*;import java.util.*;import java.io.*;class Myframe1 extends JFrame //设置主界面{JFrame f=new JFrame();JLabel L1,L2;JButton btn1,btn2,btn3,btn4;public Myframe1(){f=new JFrame("主界面");L1=new JLabel("超市商品管理系统欢迎您");L1.setFont(new Font("TimesRoman",Font.BOLD,18));L2=new JLabel("您辛苦了~~~~");L2.setFont(new Font("TimesRoman",Font.BOLD,18));btn1=new JButton("进货管理系统");btn2=new JButton("售货管理系统");btn3=new JButton("商品信息管理");btn4=new JButton("管理系统帮助");Container container=this.getContentPane();container.setLayout(new GridLayout(9,3,0,50));for(int i=0;i<3;i++)container.add(new JLabel());container.add(new JLabel()); container.add(L1);container.add(new JLabel());container.add(new JLabel()); container.add(btn1);container.add(new JLabel());container.add(new JLabel()); container.add(btn2);container.add(new JLabel());container.add(new JLabel()); container.add(btn3);container.add(new JLabel());container.add(new JLabel()); container.add(btn4);container.add(new JLabel());container.add(new JLabel()); container.add(L2);container.add(new JLabel());container.setBackground(Color.cyan);f.add(container);f.setLocation(60,60);f.setSize(750,650);f.setVisible(true);Montior bn=new Montior();btn1.addActionListener(bn);btn2.addActionListener(bn);btn3.addActionListener(bn);btn4.addActionListener(bn);}class Montior implements ActionListener{public void actionPerformed(ActionEvent e1) {if(e1.getSource()==btn1){new Myframe2();}if(e1.getSource()==btn2){new Myframe3();}if(e1.getSource()==btn3){new Myframe4();}if(e1.getSource()==btn4){new bangzhu();}}}}class bangzhu extends JFrame{JTextPane ta=new JTextPane();JScrollPane sp=new JScrollPane(ta);public bangzhu(){super("管理系统帮助");ta.setFont(new Font("TimesRoaman",Font.BOLD+Font.PLAIN,20));ta.setText(" 1.初次进入登录系统,系统中没有售货员信息,可以进入系统但是为了以后能够使用方便\n"+" 还是增加售货员信息,以便下次登录。

超市货物管理系统

超市货物管理系统

超市货物管理系统1.课程设计目的通过数据库课程设计,培养学生数据库设计的综合能力。

从需求分析和数据库逻辑、物理设计,到功能分析和应用程序的最终实现,让学生亲自动手参与一个具有一定规模的数据库应用系统的设计和开发,真正理解和掌握数据库设计和开发的思路和方法,加深对数据库系统,软件工程,程序设计语言的理论知识的理解和应用水平;在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;学会将知识应用于实际的方法,提高分析和解决问题的能力,增强对手能力;并更好的理解和消化课本所学的知识,为毕业设计和以后工作打下必要基础。

2.设计方案论证2.1问题提出超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。

从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。

随着计算机技术的发展和网络人口的增加,人们对网络的需求也越来越苛刻,越来越贴近其生活,电子信息管理已经成为网上的一股潮流。

而更多的,是要求传统行业的管理要延伸到网络,以更方便其生活、工作和学习。

可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。

因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

我们细致一对人工系统及软件系统实现测评的费用进行了计算及对比,得出的结论是使用软件系统可节省人力、物力,而且可以提高测评结果的准确性。

实现本系统需要的技术包括:SQL脚本的编程、B/S结构的软件开发技术。

目前这些技术已经成熟。

这些技术对计算机系的教师而言都是必须掌握的基本技术。

此外,本软件系统开发成本低,有较强的应用需求。

数据采集节省了大量纸张,保护了环境。

(店铺管理)超市管理系统完整+源代码最全版

(店铺管理)超市管理系统完整+源代码最全版

(店铺管理)超市管理系统完整+源代码有壹个小型超市,出售N(N>=10)种商品,设计且实现壹个系统,完成下列功能:1.保存及输出。

超市中的各种商品信息保存在指定文件中,能够把它们输出显示。

2.计算且排序。

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

3.统计。

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

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

1.2总体结构本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立壹个新结构体,为链表存信息用,且且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格和库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种之上(含2种)低于100的商品类别。

附录(程序清单)#include"stdio.h"/*输入,输出头文件*/#include"stdlib.h"/*申请空间头文件*/#include"string.h"/*对字符串加工头文件*/#include"conio.h"/*清屏头文件*/FILE*fp;intn=0;/*定义文件指针类型*/inti,j,a[4],m;/*定义整数类型*/floataver[4],sum[4],g[4],h;/*定义浮点类型*/charc[5]="elec";/*定义字符数组类型*/chard[5]="comm";/*定义字符数组类型*/chare[5]="food";/*定义字符数组类型*/charf[5]="offi";/*定义字符数组类型*/structgood/*定义结构体*/{intnum;/*商品编号*/charname[20];/*商品名称*/charkind[40];/*商品类型*/floatprice;/*商品价格*/charunit[10];/*商品单位*/intquantity;/*商品数量*/structgood*next;/*定义结构体指针类型*/}*head,*p1,*p2;structgood*createlist()/*创建链表函数*/{structgood*head1,*p1,*p2;/*定义结构体指针类型*/if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}head1=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/ 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,p 1->unit,&p1->quantity);/*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p 1->unit,p1->quantity);/*将商品信息写入文件*/while(1){p1=(structgood*)malloc(sizeof(structgood));/*申请新空间*/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);returnhead1;/*返回头指针*/}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,p 1->unit,p1->quantity);/*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}structgood*paixu(structgood*head2)/*链表排序函数*/ {structgood*p6,*p7,*r,*s;/*定义结构体指针类型*/for(i=0;i<=3;i++)/*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;}p6=(structgood*)malloc(sizeof(structgood));/*申请新空间*/ 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);/*释放第壹个无效空间*/returnhead2;}voidjisuan(){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"); }voidshuchu()/*输出商品信息函数*/{do{structgood*p3,*p4,*p5;/*定义结构体指针类型*/intn=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goodsmessage.txt","rb+"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}head=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/p3=head;fscanf(fp,"%d%s%s%f%s%d",&p3->num,p3->name,p3->kind,&p3->pric e,p3->unit,&p3->quantity);/*从文件中写到链表*/while(1){p4=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/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->kind,p3->pric e,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=(structgood*)malloc(sizeof(structgood));/*申请空间*/scanf("%d%s%s%f%s%d",&p4->num,p4->name,p4->kind,&p4->price,p 4->unit,&p4->quantity);/*输入商品信息*/p4->next=NULL;while(p3->next!=NULL)/*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}while(p3!=NULL){fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->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("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}p3=head;while(p3!=NULL)/*判断循环结束条件*/{fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->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("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}p3=head;while(p3!=NULL)/*判断循环结束条件*/{fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->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);/*关闭文件*/}voidprintf0(structgood*p)/*遍历链表且打印电器类商品函数*/{structgood*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;}voidprintf1(structgood*p)/*遍历链表且打印日用品类商品函数*/{structgood*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;}voidprintf2(structgood*p)/*遍历链表且打印办公用品类商品函数*/{structgood*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;}voidprintf3(structgood*p)/*遍历链表且打印食品类商品函数*/{structgood*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;}voidshunxudayin(){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(i=0;i<4;i++){if(aver[i]==g[j])/*判断每类商品平均价格的先后顺序*/ switch(i){case0:printf0(head);/*调用遍历链表且打印电器类商品函数*/ break;case1:printf1(head);/*调用遍历链表且打印日用品类商品函数*/ break;case2:printf2(head);/*调用遍历链表且打印办公用品类商品函数*/ break;case3:printf3(head);/*调用遍历链表且打印食品类商品函数*/ break;}}voidtongji1(){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;}}voidtongji2(){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");}}intmain(intargc,char*argv[]){structgood*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;}}return0;/*结束程序*/ }。

商品订购系统设计完整代码

商品订购系统设计完整代码

商品订购系统设计完整代码以下是一个商品订购系统的设计完整代码示例:```pythonimport jsonclass Product:def __init__(self, id, name, price):self.id = id = nameself.price = priceclass Order:def __init__(self, id, products):self.id = idself.products = productsdef calculate_total(self):total = 0for product in self.products:total += product.pricereturn totalclass OrderSystem:def __init__(self):self.products = []self.orders = []def add_product(self, product):self.products.append(product)def create_order(self, product_ids): order_products = []for id in product_ids:for product in self.products:if product.id == id:order_products.append(product)breakorder_id = len(self.orders) + 1order = Order(order_id, order_products) self.orders.append(order)return order_iddef get_order_total(self, order_id):for order in self.orders:if order.id == order_id:return order.calculate_totalreturn Nonedef save_to_file(self, filename): data ="products": [],"orders": []}for product in self.products:data["products"].append"id": product.id,"name": ,"price": product.price})for order in self.orders:order_product_ids = []for product in order.products:order_product_ids.append(product.id) data["orders"].append"id": order.id,"product_ids": order_product_ids})with open(filename, 'w') as file:json.dump(data, file)def load_from_file(self, filename):with open(filename, 'r') as file:data = json.load(file)for product_data in data["products"]:product = Product(product_data["id"], product_data["name"], product_data["price"])self.add_product(product)for order_data in data["orders"]:order_products = []for product_id in order_data["product_ids"]:for product in self.products:if product.id == product_id:order_products.append(product)order = Order(order_data["id"], order_products)self.orders.append(order)#创建商品订购系统示例order_system = OrderSystem#添加商品product_1 = Product(1, "苹果", 3)product_2 = Product(2, "香蕉", 2)product_3 = Product(3, "橙子", 4)order_system.add_product(product_1)order_system.add_product(product_2)order_system.add_product(product_3)#创建订单order_id = order_system.create_order([1, 3])#获取订单总价order_total = order_system.get_order_total(order_id) if order_total is not None:print(f"订单{order_id}总价为:{order_total}")else:print("订单不存在")#保存数据到文件order_system.save_to_file("order_data.json")#从文件加载数据order_system.load_from_file("order_data.json")```这个代码示例演示了一个简单的商品订购系统。

超市商品管理系统源代码

超市商品管理系统源代码
button2.addActionListener(this);
sM.add(label1);
sM.add(label2);
sM.add(field1);
sM.add(field2);
sM.add(button1);
sM.add(button2);
for(int i=0;i<4;i++)
dispose();
}
if(p.getSource()==pS[3])
{
View3 frame=new View3();
dispose();
}
if (p.getSource()==button2)
{
String numb=field2.getText();
}
}
if(p.getSource()==pS[0])
{
View2 frame=new View2();
dispose();
}
if(p.getSource()==pS[2])
{
Frm_Main frame=new Frm_Main();
private JButton[] pS={new JButton("销售界面"),
new JButton("销售管理"),
new JButton("商品管理"),
new JButton("用户管理")}; //personty 按钮
rs=sql.executeQuery("SELECT count(goodsnum) FROM information where goodsnum='"+num+"'");

超市会员管理系统详细代码

超市会员管理系统详细代码

数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。

具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。

根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Employee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

各种实体具体的描述E-R图如下。

1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。

如图3-11所示,用户登录信息实体E-R图。

图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。

图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图。

图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图。

(店铺管理)超市进销存系统最全版

(店铺管理)超市进销存系统最全版

(店铺管理)超市进销存系统壹、进销存系统概述(壹)进销存管理信息系统简介进销存管理是商业企业运营管理中的核心环节,也是壹个企业能否取得效益的关键。

如果能做到合理生产、及时销售、库存量最小,减少积压,那么企业就能取得最佳的效益。

由此可见,进销存管理决策的正确和否直接影响了企业的经济效益。

在手工管理的情况下,销售人员很难对客户做出正确的供货承诺,同时企业的采购部也缺少壹份准确的采购计划,目前的库存及市场需求很难反应到采购中去,部门之间的通讯也经常不通畅,这在激烈竞争的市场中是非常不利的。

企业的进销存管理信息系统就是在这种情况下应运而生的。

它利用计算机技术,使得企业采购,库存和销售能够有利结合起来,供销衔接,提高企业的效率和效益。

(二)X公司简介及项目开发背景大连大兴商贸X公司是壹家以销售计算机及周边配件为主的中小型高科技贸易X公司,凭着其良好的销售业绩及雄厚的技术实力,X公司成为了多家国际知名品牌计算机的二级代理商。

该X公司货源主要来自其产业链上游的全国总代理或地区总代理,其客户主要是大连本地或本地周边的商业用户。

因此该X公司的货物吞吐量较大,而X公司目前进销存环节的操作均以人工作业为主,X公司的销售人员不清楚库存的数量,而采购员则又不能及时了解目前产品的销量,所有货品的出库、配送及入库均采用人工开单,办事效率低下,随着X公司业务的日益增长,整个物流环节的办事效率正逐渐成为X公司发展的瓶径。

因此,为了满足日益增长的业务需求,X公司决定开发壹套进销存管理信息系统,以提高办事效率,理顺物流环节。

X公司的组织机构图如图壹所示:图1X公司组织结构图(三)开发设计思想1.尽可能利用X公司现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用X公司现有资源,提高系统开发水平和应用效果的目的。

2.系统应符合采购、销售、库存的规定,满足X公司日常工作需要,且达到操作工程中的直观、方便、实用、安全等要求。

3.系统采用先进的俩层体系结构,客户端负责提供表达逻辑、显示用户界面信息,基本操作;服务器端负责实现数据服务。

超市管理系统OOA

超市管理系统OOA

超市管理系统面向对象分析班级:2012信工院计科班姓名:李东日期:2014-11-20文件状态:[ ] 草稿[√]正式发布[ ] 正在修改文件标识:当前版本: 2.0 作者:完成日期:版本历史版本/状态作者参与者起止日期备注1.0 李东李东2014-11-19 初稿2.0 李东李东2014-11-20 正式版目录1. 文档介绍 (5)1.1 文档目的 (5)1.2 文档范围 (5)1.3 读者对象 (5)1.4 参考文档 (5)1.5 术语与缩写解释 (5)2. 产品介绍 (6)3. 产品面向的用户群体 (6)4. 产品应当遵循的标准或规范 (6)5. 产品范围 (6)6. 产品中的角色 (6)7. 产品的功能性需求 (7)7.1 功能性需求分类 (7)7.1功能层次图 (7)8.需求用例模型 (10)8.1用例图 (10)8.2用例描述 (10)8.3用户注册用例图 (11)8.3.1用例描述 (11)8.4用户登录用例图 (11)8.4.1用例描述 (11)8.5订单管理用例图 (12)8.5.1用例描述 (12)8.6仓库及库存管理用例图 (13)8.6.1用例描述 (13)8.7车辆管理用例图 (15)8.7.1用例描述 (15)8.8用户管理用例图 (16)8.8.1用例描述 (16)8.9配送管理用例图............................................................................... 错误!未定义书签。

8.9.1用例描述................................................................................ 错误!未定义书签。

8.10 审核用例图 (17)8.10.1 ............................................................................................... 错误!未定义书签。

小超市管理系统可运行代码

小超市管理系统可运行代码
{
case 1:Add();break;
case 2:Delet();break;
}
getchar();
return;
}
void Add()
{
printf("\t请输入所添加商品的商品编号:");
scanf("%ld",goods[n].num);
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;
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("\t 7→查询商品信息\n");
printf("\t 8→浏览商品信息\n");
printf("\t 9→保存商品信息\n");
printf("\t请选择您所需要的操作(或选择(0)退出)\n");
scanf("%d",&m);

#超市管理系统参考界面(2)

#超市管理系统参考界面(2)

521职工信息表职工信息表(StaffBill)用于存储职工信息,职工编号为主键是唯一标识表中各字段功能定义如表5-1所示522用户登录表用户登录表(Users」nfo)用于存储用户的基本登录信息。

表中各字段功能定义如表5-2所示表5-2用户信息表(Users」nfo)5.2.3商品信息表商品信息表(Goods」nfo)用于存储商品的信息。

表中各字段功能定义如表5-3所示表5-3商品信息表(Goods」nfo)524供货商信息表供货商信息表(Sup」nfo)用于存储供货商的信息。

表中各字段功能定义如表5-4所示5.2.5进货信息表进货信息表(Buy)存储进货信息。

表中各字段功能定义如表5-5所示5.2.6销售信息表销售信息表(Sell)用于存储销售信息。

表中各字段功能定义如表5-6527库存信息表库存信息表(Stock)存储库存信息。

表中各字段定义如表5-7所示5.3创建数据库(1)使用T —SQL语句创建超市商品管理系统数据库。

CREATE DATABASE db_SMMS ON PRIMARY(NAME = N'db_SMMS', FILENAME = F:\SMMS\SMMSWDataBase \db_SMMS.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB )LOG ON(NAME = N'db_SMMS_log', FILENAME = N'F:\SMMS\SMMS\DataBase\ db_SMMS_log」df , SIZE = 1024KB , FILEGROWTH = 10%)(2)使用T —SQL语句创建库存表。

CREATE TABLE Stock(GoodsID varchar (10) COLLATE Chi nese_PRC_CI_AS NOT NULL,Amou nt int NOT NULL,PRIMARY KEY (StockID),FOREIGN KEY (GoodsID) REFERENCES tb_Goods(GoodslD));(3)使用T —SQL语句创建库存视图。

C语言实现超市管理系统

C语言实现超市管理系统

C语⾔实现超市管理系统本⽂实例为⼤家分享了C语⾔实现超市管理系统的具体代码,供⼤家参考,具体内容如下超市管理系统1.包括管理员和顾客2.管理员有登⼊,录⼊商品信息,显⽰所有商品信息功能3.顾客有购物车和结算功能4.购物车具有显⽰商品列表,显⽰购物车商品,往购物车添加商品的功能函数void UpdateKu();//更新购物车信息函数void calculate();//计算所购商品价格并修改保存int menu1();//打印主菜单函数int menu2();//打印管理员菜单函数int menu3();//打印顾客函数void CreateGoods();//录⼊商品信息函数void ShowGoods();//显⽰库存信息函数void ShopCart();//对购物车进⾏操作int ShopCartMenu();//打印购物车菜单void ShowCart();//显⽰购物列表void add();//在购物车⾥添加商品建⽴库存函数void CreateGoods(){//⼿动建⽴库存信息FILE *fp;//定义⽂件指针int i;printf("请输⼊需要录⼊的商品个数:\n");scanf("%d",&n);//输⼊数量printf("请依次输⼊货物信息:\n");printf("--------------------------------------------\n");for(i=0;i<n;i++){//向⽂件中写⼊信息printf("第%d个商品:\n",i+1);printf("货号:");fflush(stdin);//清空输⼊流gets(goods[i].ID);//输⼊货号printf("品名:");fflush(stdin);//清空输⼊流gets(goods[i].brand);//输⼊品名printf("进价: ");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].inprice);//输⼊进价printf("售价:");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].outprice);//输⼊售价printf("数量:");fflush(stdin);//清空输⼊流scanf("%d",&goods[i].storage);//输⼊数量printf("保质期:");fflush(stdin);//清空输⼊流gets(goods[i].date);//输⼊货号printf("\n");}if((fp=fopen("kucun.txt","w"))==NULL){//判断⽂件是否创建失败printf("创建⽂件失败。

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

超市商品管理系统中文提示By AzxXINER#include <stdlib.h>#include <stdio.h>#include <string.h>#include <Windows.h>//------------------------------------------------------------- //Max count of good,def 100 temporary//------------------------------------------------------------- #define MAX 100int current_cnt = 0;//------------------------------------------------------------- //Good Information Definition//------------------------------------------------------------- typedef struct GoodInfo{char good_id[30];char good_name[30];char good_price[10];char good_discount[10];int good_amount;int good_remain;}GoodInfo;GoodInfo *Goods[MAX];//------------------------------------------------------------- //free goodinfo memory//------------------------------------------------------------- void freeGoodInfo(){int i = 0;for(i = 0;i < MAX;i++)free(Goods[i]);Goods[i] = NULL;}//-------------------------------------------------------------//read a goodinfo from file//------------------------------------------------------------- GoodInfo* readGoodInfo(FILE* fp){GoodInfo* pGoodInfo = (GoodInfo*)malloc(sizeof(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("F:\\课程\\C语言程序设计\\综合实验2超市商品管理系统\\goodinfo.txt","r");//file not existif(!fp){printf("商品信息初始化文件不存在!\n请您放到E盘根目录!\n");fp = fopen("F:\\课程\\C语言程序设计\\综合实验2超市商品管理系统\\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)return -1;elsereturn 1;}}//-------------------------------------------------------------//initialize//-------------------------------------------------------------void info_init(){int i = 0,j = 0;int res = check_nullfile();FILE *fp = fopen("F:\\课程\\C语言程序设计\\综合实验2超市商品管理系统\\goodinfo.txt","r");for(i=0; i<MAX; ++i){Goods[i] = NULL;}while( res == 1 && !feof(fp) ){Goods[j] = readGoodInfo(fp);j++;current_cnt++;}fclose(fp);}//-------------------------------------------------------------//write one goodinfo into file//-------------------------------------------------------------void writeGoodInfo(FILE* fp,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 = 0;FILE *fp = fopen("F:\\课程\\C语言程序设计\\综合实验2超市商品管理系统\\goodinfo.txt","w");for(i=0; i<MAX; ++i){if(Goods[i])writeGoodInfo(fp,Goods[i]);}freeGoodInfo();fclose(fp);}//-------------------------------------------------------------//output//-------------------------------------------------------------void info_output(int i){printf("商品序号:%s\t商品名称:%s\n", Goods[i]->good_id,Goods[i]->good_name);printf("商品价格:%s\t商品折扣:%s\t",Goods[i]->good_price,Goods[i]->good_discount);printf("商品数量:%d\t商品剩余:%d\t\n\n" ,Goods[i]->good_amount, Goods[i]->good_remain);}//-------------------------------------------------------------//modify a goodinfo//-------------------------------------------------------------int info_change(){int i;if ( -1 == (i = info_search()) )return 0;else{printf("输入新的商品信息(以换行符区分信息条目):\n");scanf("%s\n",Goods[i] -> good_id);scanf("%s\n",Goods[i] -> good_name);scanf("%s\n",Goods[i] -> good_price);scanf("%s\n",Goods[i] -> good_discount);scanf("%d\n",&Goods[i] -> good_amount);scanf("%d",&Goods[i] -> good_remain);printf("商品信息修改成功!\n\n");return 0;}}//------------------------------------------------------------- //delete a goodinfo//------------------------------------------------------------- int info_dele(){int i;if (current_cnt > 0){if ( -1 == (i = info_search()) )return 0;else{free(Goods[i]);//Goods[i] = NULL;printf("删除商品信息成功!\n\n");current_cnt--;return 0;}}else{printf("没有任何商品信息!");return 0;}}//------------------------------------------------------------- // search a goodinfo//------------------------------------------------------------- int info_search(){int i;char name[20];scanf("%s",name);for ( i = 0; i < current_cnt; i++)if (strcmp(name,Goods[i]->good_name) == 0){printf("查询到以下信息:\n");info_output(i);return i;}if (i >= current_cnt){printf("该商品不存在!\n\n");return -1;}}//------------------------------------------------------------- //insert one goodinfo//------------------------------------------------------------- void info_insert(){int i = current_cnt;if (i<MAX){Goods[i] = (GoodInfo*)malloc(sizeof(GoodInfo));scanf("%s\n",Goods[i] -> good_id);scanf("%s\n",Goods[i] -> good_name);scanf("%s\n",Goods[i] -> good_price);scanf("%s\n",Goods[i] -> good_discount);scanf("%d\n",&Goods[i] -> good_amount);scanf("%d",&Goods[i] -> good_remain);current_cnt++;printf("插入商品信息成功!\n\n");info_output(i);}elseprintf("商品信息过多,无法再插入新的信息!");}//------------------------------------------------------------- //start UI//------------------------------------------------------------- void start(){printf("超市商品管理系统\n""************************************\n""** 1.商品信息的修改: **\n""** 2.删除某个商品信息: **\n""** 3.查找某个商品信息: **\n""** 4.插入某个商品信息: **\n""** 其他.退出系统. **\n""************************************\n""** 请输入你的选择:");}//------------------------------------------------------------- //main entry//------------------------------------------------------------- int main(void){int choose = 0;info_init();while(1){start();scanf("%d",&choose);switch (choose){case 1:printf("请输入你要修改的商品的名称: ");info_change();break;case 2:printf("请输入你要删除的商品的名称: ");info_dele();break;case 3:printf("请输入你要查询的商品的名称: ");info_search();break;case 4:printf("请输入你要插入的商品的信息(以换行符区分信息条目):\n");info_insert();break;default:printf("保存数据中,请稍后");Sleep(1000);printf(".");Sleep(1000);printf(".");Sleep(1000);printf(".");Sleep(1000);info_flush();printf("数据保存成功!已退出系统。

相关文档
最新文档