C语言超市商品管理系统.docx
- 文档编号:1921192
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:11
- 大小:188.21KB
C语言超市商品管理系统.docx
《C语言超市商品管理系统.docx》由会员分享,可在线阅读,更多相关《C语言超市商品管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
C语言超市商品管理系统
G语言程序设纤
实目:
■训超市I报管理系统
院
系:
信息科技学院
专
业:
1•
计算机科学与技术
姓
名:
学
号:
指导教师:
期:
桂林电子科技大学信息科技学院
..3
3
1问题定义
2系统设计
2.1总体设计…
2.2详细设计…
数据结构设计主控流程…信息输入模块信息增加模块信息修改模块信息删除模块信息查看模块信息统计模块
3系统实现
超市商品管理系统
本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉语言的单链表的各种基本操作。
本程序中涉及结构体、单链表、文件保存等方面的知识。
通过本程序的训练,使学生能对C语言的链表的操作有一个更深刻的了解,掌握利用单链表存储结构实现对超市信息管理系统的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。
1、问题定义
创建一个超市管理系统。
该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。
超市管理系统主界面
2、系统设计
2.1总体设计
本程序采用模块化设计方法,即将一个大任务分成一个个小任务,然后分别设计个小任
5大模块组成:
务。
划分出来的模块相对独立而又相互关联,容易理解。
本程序由
1.输入信息模块
2.
增加信息模块
3.
修改信息模块
4.
删除信息模块
5.
统计信息模块
2.2详细设计
定义结构体
structgood
intnum;
/*
商品编号*/
charname[20];
/*
商品名称*/
charkind[40];
/*
商品类型*/
floatprice;
/*
商品价格*/
charunit[10];
/*
商品单位*/
intquantity;
/*
商品数量*/
structgood*next;
/*
定义结构体指针类型*/
}*head,*p1,*p2;
单链表good结构体
structgood
/*
定义结构体
*/
intnum;
/*
商品编号*/
charname[20];
/*
商品名称
*/
charkind[40];
/*
商品类型
*/
floatprice;
/*
商品价格*/
charunit[10];
/*
商品单位
*/
intquantity;
/*
商品数量*/
structgood*next;
/*
定义结构体指针类型*/
}*head,*p1,*p2;
主控main()函数执行流程
Intmain()
structgood*p1,*p2;
while
(1)if(m==1)
printf("********************************
*******************************\n");
if(m==2)
printf("********************************
*******************************\n");
if(m==3)
printf("********************************
*******************************\n");
if(m==4)
printf("********************************
*******************************\n");
break;
return0;
本商品管理系统执行主流程。
它先以可读写的方式打开数据文件,此文件默认为若该文件不存在,则新建此文件。
当打开文件操作成功后,从文件中一次读出一条记录,然后执行显示主菜单和进入主循环操作,进行按键判断。
2.2.3输入信息模块
记录可以从以文件形式存储的数据文件中读入,也可从键盘逐个输入商品记录。
商
品记录由商品的基本信息和成绩信息字段构成。
当从数据文件中读入记录时,也就
是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。
2.2.4
增加信息模块
增加信息模块主要实现信息增加
2.2.5
修改信息模块
修改信息模块主要实现信息修改
2.2.6
删除信息模块
删除信息模块主要实现信息删除
2.2.7
查看信息模块
查看信息模块主要实现信息查看
2.2.8
统计信息模块
统计信息模块主要实现信息统计
2.2.9
函数功能描述
shuchu()
shuchu()函数用于输出商品信息。
structgood*paixu(structgood*head2)
此函数用于给链表排序。
jisuan()
jisuan()函数用于判断商品的类别。
printf0(structgood*p)
printf1(structgood*p)
printf2(structgood*p)
printf2()函数用于遍历链表并打印办公用品类商品。
printf3(structgood*p)
shunxudayin()
shunxudayin()函数用于给商品排序并打印。
tongji1()
tongji1()函数用于统计给库存量低于100的货名和类别。
tongji2()
tongji2()函数用于统计商品库存量有2种以上(含两种)低于100的商品类别。
完成在上述系统设计后,即可着手进行系统实现的工作,开始程序代码的编写。
3、系统实现3.1编码
3程序预处理
包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。
FILE*fp;
intn=0;
/*
定义文件指针类型*/
inti,j,a[4],m;
/*
定义整数类型*/
定义浮点类型*/
floataver[4],sum[4],g[4],h;/*
3主函数main()
main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。
Intmain()structgood*p1,*p2;
while
(1)if(m==1)
printf("********************************
*******************************\n");
if(m==2)
printf("********************************
*******************************\n");
if(m==3)
printf("********************************
*******************************\n");
if(m==4)
printf("********************************
*******************************\n");
break;
return0;
3主菜单界面
用户进入商品管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。
printf("***********************************************\n");
printf("***********************************************\n");
scanf("%d",&m);
3.1.4商品信息建立
用户进入商品管理系统时,对某个商品的信息进行处理。
}*head,*p1,*p2;
printf("cannotopenthefile");
p1=head1;
p2=head1;
printf("*********************************************\n");
\n");
printf("请输入信息:
编号,名称,类型,价格,单位,数目
printf("*********************************************\n");
\n");
printf("
scanf("%d%s%s%f%s%d",&p1->num,p1->name,p1->kind,&p1->price,p1->unit,&p1->q
\n");
printf("
p1->next=NULL;
商品信息写入文件*/
while
(1)
printf("*********************************************\n");
printf("请输入信息:
编号,名称,类型,价格,单位,数目\n");
printf("*********************************************\n");
\n");
printf("
scanf("%d",&p1->num);
\n\n");
printf("fprintf(fp,"%d",-1);
fclose(fp);
scanf("%s%s%f%s%d",p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity);/*输入商品信息*/
printf("
品信息写入文件*/
p1->next=NULL;
p2->next=p1;
p2=p1;
商品信息查看
voidshuchu()
/*
输出商品信息函数*/
do
structgood*p3,*p4,*p5;/*
定义结构体指针类型
*/
intn=0,p=0,q=0,r=0;
printf("所有商品信息:
\n");
\n");
printf("编号,名称,类型,价格,单位,数目
printf("**********************************\n");
printf("cannotopenthefile");
p3=head;
/*
",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity);
从文件中写到链表*/
while
(1)
fscanf(fp,"%d",&p4->num);
p4->next=NULL;
p3->next=p4;
p3=p4;
elsep3->next=NULL;
break;
fclose(fp);
/*
关闭文件*/
p3=head;
while(p3!
=NULL)
\n");
printf("p3=p3->next;
printf("**********************************\n");
printf("3.2.13.2.2C程序设计(第三版).
清华大学出版社,
2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 超市 商品 管理 系统