(店铺管理)关于超市商品管理系统C

合集下载

(完整word版)c语言程序设计超市管理系统

(完整word版)c语言程序设计超市管理系统

实验题目:超市管理系统一、实验目的1.熟悉 c 语言的编译连接和运行过程。

2.掌握 c 语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。

3.掌握if 语句及switch 语句的运用方法及嵌套应用方法。

4.掌握实现循环结构的三种语句while 、do-while. 、for 的使用。

5.掌握函数的定义方法和调用方法。

6.能够采用模块化思想调试程序。

二.实验内容1.编写程序并进行调试运行。

2.输入商品资料,并保存于文件。

每件商品包含信息如:商品号、商品名、商品类别、商品总量、商品上限和下限、商品价格、进货日期、生产日期、保质期等。

3.对已存入的商品信息进行更新操作,包括添加一件商品信息、删除某件商品信息和修改商品信息。

4.通过按商品名、商品种类、商品进货量的方式查询商品信息。

5.输入某商品号后对其利润进行统计、对进货价格相同的商品进行统计。

6 对商品的库存量和利润进行排序。

7.最后输出商品信息,供需要时打印。

二、需求分析1.该程序可用于对商品的基本信息的存储、更新、查询、输出、统计、排序等操作,以实现管理者对商品的管理和消费者对商品的了解。

2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多件商品信息,也可对个别商品信息进行适当的删除或修改。

以便随时更新商品信息。

3.程序中设计的查询功能可根据需要从若干数据中查询某件商品信息,并且可根据三种不同的方法查询:按商品名查询、按商品种类查询和按商品进货量查询。

以满足不同的需要。

四、概要设计1、方案设计对系统进行分析,给出结构图分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计结构图如下:超市管理管理系统查询模块排序模块退出系统退出系统查询模块排序模块统计模块*更新模块*输出信息¥录入信息按商品名查询利润排行库存量排行退出系统第二类商品第一类商品退出系统2 •功能模块说明:对各个模块进行功能的描述(1).输入模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

关于超市商品管理系统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语言源代码

超市商品管理系统C语言源代码SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-#include <stdio.h>#include <math.h>#include <string.h>#include<conio.h>#include<stdio.h>#include<string.h>#define MAX 20#define PRINT1 printf("---------------------------------------------------------\n")#define PRINT2 printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")#define PRINT3 printf("M%8s%8s崓----M\n",goods[i].num,goods[i].name,goods[i].kind,goods[i].out_price,goods[i ].pro_time.year,goods[i].pro_time.month,goods[i].pro_time.day,goods[i].s ave_day)int sum;struct date{int year;int month;int day;};struct goods_type /*定义结构体*/{int num;char name[10];char kind[10];int amount;int in_price;int out_price;struct date pro_time;int save_day;int profit;}goods[MAX];Save_Message(int sum); /*函数声明*/void Inquire_message(void);void Inquire_goodskind(void);void Inquire_goodsname(void);int Read_Message(void);void Renew_Messahe(void);void Revise_Message(void);void Delete_Message(void);void Insert_Message();void Show_Message(void);int Input_Message(void);void Count_Message();long Count_Profit();long Count_Amount();void Sort_amount(void);void Sort_Message(void);void Sort_Message(void){int choice;do{clrscr();printf("\n\n\n *******商品信息排行********\n\n");printf(" 1:按库存量排行\n\n");printf(" 0:返回主菜单\n\n");printf(" 请选择(0-1): ");scanf("%d",&choice);switch(choice){case 1:Sort_amount();break;case 0:break;}}while(choice!=0);}void Sort_amount(void) /*库存量排序*/{struct goods_type *p,*q[MAX];int i,j,k;clrscr();printf(" 库存排行");PRINT1;printf("\n\n排名商品号商品名称商品类别库存量\n\n"); p=goods;for(i=0;i<sum;i )q[i]=p ;for(i=0;i<sum;i ){k=i;for(j=i 1;j<sum;j )if(q[k]->amount<q[j]->amount)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i ){printf(" %d ",i 1);printf(" %d ",q[i]->num);printf(" %s ",q[i]->name);printf(" %s ",q[i]->kind);printf(" %d \n ",q[i]->amount);}bioskey(0);}long Count_Amount() /*统计库存量*/ {int i,j=0,choice,count_num,Amount;char inquire_name[10];clrscr();printf("\n 请输入想要统计的商品号: "); scanf("%d",&count_num);for(i=0;i<sum;i )if(goods[i].num==count_num){Amount=goods[i].amount;printf("-------------------------"); printf(" 商品号库存量");printf("\n崓",goods[i].num,Amount); }elsej ;if(j==sum)printf("该商品信息不存在!!!");bioskey(0);}long Count_Profit() /*统计利润模块*/{int i,choice,j=0,count_num,profit;clrscr();printf("\n 请输入想要统计的商品号: ");scanf("%d",&count_num);for(i=0;i<sum;i )if(goods[i].num==count_num){profit=goods[i].out_price-goods[i].in_price;printf("\n 商品利润");printf("\n -------------------------------");printf("\n 商品号利润");printf("\n 崓\n",&goods[i].num,&profit);}elsej ;if(j==sum)printf("\n 该商品不存在!!!");printf("\n 按任意键返回主菜单!!");bioskey(0);}void Count_Message(void) /*统计模块*/{int choice;do{clrscr();printf("**************统计商品信息*************\n\n\n");printf("******* 1:统计库存量 ************\n\n\n"); printf("******* 2:统计利润 ************\n\n\n");printf("******* 0:返回主菜单 ************\n\n\n");printf("******* 请选择(0-2): ************\n\n\n");scanf("%d",&choice);switch(choice){case 1:Count_Amount();break;case 2:Count_Profit();break;case 0:break;}}while(choice!=0);}int Input_Message(void) /*输入模块*/{int i=0,s=MAX;char bd;clrscr();printf("开始输入商品信息.\n");printf("\n\n 商品信息:(最多 %d) \n",s);printf(" ===============================\n");do{printf("\n 第 %d 商品",i 1);printf("\n 商品号: ");scanf("%d",&goods[i].num);if(goods[i].num==0) break;printf("\n 商品名称: ");scanf ("%s",goods[i].name);printf("\n 商品种类: ");scanf ("%s",goods[i].kind);printf("\n 商品库存量: ");scanf ("%d",&goods[i].amount);printf("\n 进货价格: ");scanf ("%d",&goods[i].in_price);printf("\n 销售价格: ");scanf ("%d",&goods[i].out_price);printf("\n 生产日期(yyyy-mm-dd): ");scanf ("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);printf("\n 保质期: ");scanf ("%d",&goods[i].save_day);printf("继续输入信息,y or n ??");fflush(stdin);scanf("%c",&bd);if(bd=='y')i ;elsebreak;}while(i<MAX);printf("\n--%d 所有商品录入完毕!--\n\n\n",i 1);getch();printf(" 按任意键返回主菜单.");sum=i;printf("输入回车返回主菜单!!!");bioskey(0);}void Show_Message(void) /*显示输出模块*/{int i=0,j=0,count,page=7;clrscr();printf("\n\n --商品信息-- 在第 %d 页\n\n",page);PRINT2;PRINT1;do{if(goods[i].num!=0){j ;if(j%page!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(goods[i 1].num!=0){printf("按任意键继续!");bioskey(0);clrscr();printf("\n\n --------商品信息--------在第 %d 页\n\n", page);PRINT2;PRINT1;}}}i ;}while(goods[i].num!=0);printf("按任意键返回主菜单!!!!!");bioskey(0);}void Insert_Message(void)/*添加商品信息模块*/{int i=sum,j,flag=0;char choice;clrscr();printf("\n\n 添加一种新商品\n\n ");printf("\n-------------------------------------------------\n");do{goods[i].num= sum;printf("\n 新商品号:%d",goods[i].num);printf("\n 新商品名: ");scanf("%s",goods[i].name);printf("\n 新商品种类: ");scanf("%s",goods[i].kind);printf("\n 新商品数量: ");scanf("%d",&goods[i].amount);printf("\n 进价: ");scanf("%d",&goods[i].in_price);printf("\n 售价: ");scanf("%d",&goods[i].out_price);printf("\n 生产日期(yyyy-mm-dd): ");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);printf("\n 保质期: ");scanf("%d",&goods[i].save_day);i ;printf("\n\n 想继续添加商品吗?(Y/N)");fflush(stdin);choice=getch();if(choice=='y'||choice=='Y'){printf("继续");flag=1;}elseflag=0;}while(flag==1);printf("\n\n\n 按任意键返回主菜单.........");bioskey(0);}void Delete_Message(void)/*删除商品信息模块*/ {int i,j,numberkey,flag=0;char choice;printf("开始删除......\n\n");do{clrscr();printf("请输入你要删除的商品号: \n");scanf("%d",&numberkey);for(i=0;i<sum;i ){if(goods[i].num==numberkey){for(j=i;j<sum;j )goods[j]=goods[j 1];sum--;flag=1;printf("删除成功!!\n\n\n");break;}}if(flag==0){printf("不存在该商品信息!!!"); bioskey(0);}printf("\n\n是否继续输入(y/n)?\n");getchar();scanf("%c",&choice);}while(choice=='y'||choice=='Y');printf("\n按任意键返回");bioskey(0);}void Revise_Message(void)/*修改商品信息模块*/ {int i,j,flag,choice,revise_num;char ch;do{clrscr();printf("\n\n 开始修改...");printf("\n\n 请输入你想输入的商品号:\n");scanf("%d",&revise_num);for(i=0;i<sum;i ){if(goods[i].num==revise_num){printf("确定修改此商品信息吗?(y/n)");PRINT1;PRINT2;PRINT3;getchar();ch=getchar();if(ch='y'){printf("\n\n\n修改商品信息的哪一项?");printf("\n\n 1:商品名称");printf("\n\n 2:商品类型");printf("\n\n 3:销售价格");printf("\n\n 4:生产日期");printf("\n\n 5:保质期");printf("\n\n 请选择(0-5)\n");scanf("\n %d",&choice);switch(choice){case 1:printf("请输入修改后的商品名\n");scanf("%s",&goods[i].name);break;case 2:printf("请输入修改后的商品类型\n");scanf("%s",&goods[i].kind);break;case 3:printf("请输入修改后的商品销售价格\n"); scanf("%d",&goods[i].out_price);break; case 4:printf("请输入修改后的商品生产日期\n"); scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);break;case 5:printf("请输入修改后的商品保质期\n");scanf("%d",&goods[i].save_day);break;case 0:break;}printf("修改商品信息:\n");PRINT2;PRINT3;}elsebreak;}elsej ;if(j==sum)printf("不存在该商品信息..");}printf("\n\n 继续修改商品信息吗(y/n)?");getchar();ch=getchar();if(ch=='y'){printf("继续.\n");flag=1;}elseflag=0;}while(flag==1);printf("修改完成!!\n\n");getch();}void Renew_Message(void) /*更新商品信息模块*/{int choice;do{clrscr();printf("\n\n*********更新商品信息*********"); printf("\n\n 1:添加商品信息.\n\n");printf("\n\n 2:删除商品信息.\n\n");printf("\n\n 3:修改商品信息.\n\n");printf("\n\n 0:返回上一级.\n\n");printf("\n\n 请选择(0-3): ");scanf("%d",&choice);switch(choice)case 1:Insert_Message();break;case 2:Delete_Message();break;case 3:Revise_Message();break;case 0:break;}}while(choice!=0);}int Read_Message(void) /*读取信息模块*/{FILE *fp;int i=0;if((fp=fopen("999.txt","rb"))==NULL){printf("\n\t 现在还没有保存全部信息,按回车键回到主菜单输入商品信息!!");printf("\n\t 按任意键返回!!!!\n");getch();return;}while(feof(fp)!=1){fread(&goods[i],sizeof(struct goods_type),1,fp);if(goods[i].num==0)break;elsei ;}fclose(fp);return(i);}void Inquire_goodsname(void)/*按商品名称查询*/{int i,j,choice;char namekey[10];j=0;printf("开始查询...");printf("请输入你要查询的商品号:\n");scanf("%s",namekey);for(i=0;i<sum;i )if(strcmp(goods[i].name,namekey)==0&&goods[i].num!=0)printf(" ---商品信息----");PRINT1;PRINT2;PRINT3;}elsej ;if(j==sum)printf("该商品不存在!");printf("按任意键返回主菜单.");getch();}void Inquire_goodskind(void)/*按商品类型查询*/{int i,j,choice;char kindkey[10];j=0;printf("开始查询...");printf("请输入你要查询的商品种类:\n");scanf("%s",kindkey);for(i=0;i<sum;i )if(strcmp(goods[i].kind,kindkey)==0&&goods[i].num!=0) {printf(" ---商品信息----");PRINT1;PRINT2;PRINT3;}elsej ;if(j==sum)printf("该商品不存在!");printf("按任意键返回主菜单.");getch();}void Inquire_Message(void) /*查询模块*/{int choice;do{printf("\n *****查询商品信息 ***** \n");printf("\n *****1:按商品名称.***** \n");printf("\n *****2:按商品种类.***** \n");printf("\n *****0:返回上一级.***** \n");printf("\n 请选择(0-2): ***** \n");scanf("%d",&choice);switch(choice){case 1:Inquire_goodsname();break;case 2:Inquire_goodskind();break;case 0:break;}}while(choice!=0);}Save_Message(int sum) /*保存模块*/{FILE *fp;int i;if((fp=fopen("999.txt","wb"))==NULL){printf("\n\n不能打开文件!\n\n");exit();}for(i=0;i<=sum;i )if(fwrite(&goods[i],sizeof(struct goods_type),1,fp)!=1) printf("写文件出错!");fclose(fp);}void main(void) /*主函数*/{int choice;clrscr();sum=Read_Message();bioskey(0);do{clrscr();printf("***************************************************\n");printf(" ************ 超市商品管理系统**************\n");printf(" ************\n");printf(" ************\n");printf(" ************\n");printf(" ****** 欢迎登陆******\n");printf(" ************\n");printf(" ************\n");printf(" ************\n");printf("***************************************************\n");printf("***************************************************\n");getchar ();clrscr();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(" ***** 0:退出系统 *****\n\n"); printf(" ***** 请选择(0-6): *****\n"); scanf("%d",&choice);switch(choice){case 1:Input_Message();break;case 2:Show_Message();break;case 3:Renew_Message();break;case 4:Inquire_Message();break;case 5:Count_Message();break;case 6:Sort_Message();break;case 0:break;}}while(choice!=0);Save_Message(sum);printf("\n-信息已经保存!-(file name:999.txt)\n");。

超市商品管理系统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语言课程设计-超市管理系统

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语言程序设计了一个超市管理系统。主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。
1.开发工具和编程语言:
开发工具:Microsoft Visual C++ 6.0
编程语言:C语言
2.模块划分
3.系统功能与函数的对应关系
本系统包括一个主函数和6个被调函数,分别如下:
jez=jez-sl*s[i].shoujia ;//重新计算总金额
printf("取消购买成功\n");
}
}
}
zl=ssje-jez;//找零
printf("找零%5.1f\n",zl);
printf("购买成功\n");
}
if(a!=2)
{
printf("请选择:");
printf("1.返回开始菜单");
for(i=0;i<b;i++)
if((strcmp(str,s[i].bh)==0)||(strcmp(str,s[i].bhstr)==0))//查找要取消购买的商品
{
printf("请输入取消购买的数量");
scanf("%d",&sl);
s[i].kucun =s[i].kucun +sl;//修改库存信息
printf("2.继续购买商品");
scanf("%d",&a);
jez=0;
}
}
}
(3)运行效果
输入:3
输出:请输入购买商品的编号:
输入:1

超市管理系统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语言商店商品管理系统》项目简介而提供,不包含无法确认的引用内容。

【C语言商店商品管理系统】请注意,文档内容仅为扩写《C语言商店商品管理系统》项目简介而提供,不包含无法确认的引用内容。

【C语言商店商品管理系统】该《C语言商店商品管理系统》具有以下特点和优势:高效性:采用C语言开发,具有快速执行和高效处理数据的能力,能够有效地管理大量商品信息。

高效性:采用C语言开发,具有快速执行和高效处理数据的能力,能够有效地管理大量商品信息。

易用性:系统界面简洁清晰,操作简单直观,不需要复杂的操作步骤,便于用户快速上手使用,无需专业的技术知识。

易用性:系统界面简洁清晰,操作简单直观,不需要复杂的操作步骤,便于用户快速上手使用,无需专业的技术知识。

易用性:系统界面简洁清晰,操作简单直观,不需要复杂的操作步骤,便于用户快速上手使用,无需专业的技术知识。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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;}。

相关文档
最新文档