C语言超市商品管理系统Word下载.docx

上传人:b****7 文档编号:22683115 上传时间:2023-02-05 格式:DOCX 页数:31 大小:129.06KB
下载 相关 举报
C语言超市商品管理系统Word下载.docx_第1页
第1页 / 共31页
C语言超市商品管理系统Word下载.docx_第2页
第2页 / 共31页
C语言超市商品管理系统Word下载.docx_第3页
第3页 / 共31页
C语言超市商品管理系统Word下载.docx_第4页
第4页 / 共31页
C语言超市商品管理系统Word下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

C语言超市商品管理系统Word下载.docx

《C语言超市商品管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言超市商品管理系统Word下载.docx(31页珍藏版)》请在冰豆网上搜索。

C语言超市商品管理系统Word下载.docx

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

3.2测试与调试………………………………………………………………………22

3.2.1概述………….……………………………………………………………22

3.2.2程序测试………….……………………………………………………………22

4系统维护………………………………………………………………………25

5归纳总结………………………………………………………………………25

5.1开发经验………………………………………………………………………25

5.2实训中遇到的问题及解决方法………………………………………………25

5.3设计中的不足之处……………………………………………………………………25

5.4感想和心得体会……………………………………………………………………25

6参考资料………………………………………………………………………25

超市商品管理系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的单链表的各种基本操作。

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

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

1、问题定义

创建一个超市管理系统。

该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。

超市管理系统主界面

2、系统设计

2.1总体设计

本程序采用模块化设计方法,即将一个大任务分成一个个小任务,然后分别设计个小任务。

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

本程序由5大模块组成:

1.输入信息模块

2.增加信息模块

3.修改信息模块

4.删除信息模块

5.统计信息模块

2.2详细设计

2.2.1数据结构设计

定义结构体

structgood

{

intnum;

/*商品编号*/

charname[20];

/*商品名称*/

charkind[40];

/*商品类型*/

floatprice;

/*商品价格*/

charunit[10];

/*商品单位*/

intquantity;

/*商品数量*/

structgood*next;

/*定义结构体指针类型*/

}*head,*p1,*p2;

单链表good结构体

structgood/*定义结构体*/

2.2.2主控main()函数执行流程

Intmain()

structgood*p1,*p2;

while

(1)

if(m==1)

printf("

********************************商品信息的查看*******************************\n"

);

if(m==2)

{

********************************商品信息的输入*******************************\n"

}

if(m==3)

********************************商品信息的统计*******************************\n"

if(m==4)

********************************退出*******************************\n"

break;

return0;

}

本商品管理系统执行主流程。

它先以可读写的方式打开数据文件,此文件默认为“C:

\goodslist.txt”,若该文件不存在,则新建此文件。

当打开文件操作成功后,从文件中一次读出一条记录,然后执行显示主菜单和进入主循环操作,进行按键判断。

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)

printf0(structgood*p)函数用于遍历链表并打印电器类商品。

●printf1(structgood*p)

printf1(structgood*p)函数用于遍历链表并打印日用品类商品。

●printf2(structgood*p)

printf2()函数用于遍历链表并打印办公用品类商品。

●printf3(structgood*p)

printf3structgood*p()函数用于遍历链表并打印食品类商品。

●shunxudayin()

shunxudayin()函数用于给商品排序并打印。

●tongji1()

tongji1()函数用于统计给库存量低于100的货名和类别。

●tongji2()

tongji2()函数用于统计商品库存量有2种以上(含两种)低于100的商品类别。

完成在上述系统设计后,即可着手进行系统实现的工作,开始程序代码的编写。

3、系统实现

3.1编码

3.1.1程序预处理

包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。

#include"

stdio.h"

/*输入,输出头文件*/

stdlib.h"

/*申请空间头文件*/

string.h"

/*对字符串加工头文件*/

conio.h"

/*清屏头文件*/

FILE*fp;

intn=0;

/*定义文件指针类型*/

inti,j,a[4],m;

/*定义整数类型*/

floataver[4],sum[4],g[4],h;

/*定义浮点类型*/

3.1.2主函数main()

main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。

3.1.3主菜单界面

用户进入商品管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。

桂林电子科技大学信息科技学院超市管理系统\n"

***********************************************\n"

1----------输出查看或者修改已存信息-----------\n"

-----------------------------------------------\n"

2-----重新输入新信息(并且删除原有信息)------\n"

3统计商品信息(如果您还没有查看过信息请先按1)\n"

4-------------------退出---------------------\n"

scanf("

%d"

&

m);

3.1.4商品信息建立

用户进入商品管理系统时,对某个商品的信息进行处理。

structgood*createlist()/*创建链表函数*/

structgood*head1,*p1,*p2;

if((fp=fopen("

goodsmessage.txt"

"

w"

))==NULL)/*判断能否打开文件*/

cannotopenthefile"

exit(0);

/*结束程序*/

head1=(structgood*)malloc(sizeof(structgood));

/*申请头结点空间*/

p1=head1;

p2=head1;

*********************************************\n"

请输入信息:

编号,名称,类型,价格,单位,数目\n"

(以输入“-1”表示结束输入)\n"

____________________\n"

%d%s%s%f%s%d"

p1->

num,p1->

name,p1->

kind,&

price,p1->

unit,&

quantity);

/*输入商品信息*/

p1->

next=NULL;

fprintf(fp,"

%d%s%s%f%s%d"

p1->

kind,p1->

unit,p1->

/*将商品信息写入文件*/

while

(1)

p1=(structgood*)malloc(sizeof(structgood));

/*申请新空间*/

num);

if(p1->

num==-1)/*申请空间结束条件*/

____________________\n\n"

-1);

fclose(fp);

returnhead1;

/*返回头指针*/

%s%s%f%s%d"

/*输入商品信息*/

________________\n"

p2->

next=p1;

p2=p1;

3.1.5商品信息查看

voidshuchu()/*输出商品信息函数*/

{

do

structgood*p3,*p4,*p5;

intn=0,p=0,q=0,r=0;

所有商品信息:

\n"

**********************************\n"

rb+"

head=(structgood*)malloc(sizeof(structgood));

p3=head;

fscanf(fp,"

p3->

num,p3->

name,p3->

price,p3->

/*从文件中写到链表*/

p4=(structgood*)malloc(sizeof(structgood));

%d"

p4->

if(p4->

num!

=-1)/*判断循环结束条件*/

%s%s%f%s%d"

p4->

name,p4->

price,p4->

p4->

p3->

next=p4;

p3=p4;

else

/*关闭文件*/

while(p3!

=NULL)

{

%d%s%s%0.1f%s%d\n\n"

p3->

kind,p3->

unit,p3->

__________________________________\n"

p3=p3->

next;

//////////////////////////////////\n"

while(n!

=4)

1添加商品信息\n"

2删除某商品信息\n"

3修改某商品信息\n"

4返回(当你完成了对某一商品的添加、删除或者修改后请按4返回)\n"

n);

3.1.6商品信息增加

if(n==1)/*添加商品信息*/

请输入商品编号名称类型价格单位数目\n"

/*申请空间*/

num,p4->

while(p3->

next!

=NULL)/*判断循环结束条件*/

/*关闭文件*/

------------请按4返回-------------\n"

3.1.7商品信息删除

if(n==2)/*删除商品*/

请输入需要删除的商品编号\n"

p);

**********\n"

1确认删除\n2取消删除\n"

r);

if(r==1)

if((head->

num)==p)

head=head->

free(p3);

/*释放空间*/

p4=head;

p3=p4->

ne

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1