《2022年C语言商店商品管理系统设计报告与源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言商店商品管理系统设计报告与源代码 .pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 目录1 系统分析 . 2 1.1 课程设计内容 . 2 1.2 系统功能需求分析 . 2 1.3 数据结构设计 . 3 2 系统设计 . 3 2.1 总体设计 . 3 2.2 详细设计 . 4 2.2.1 界面设计 . 4 2.2.2 各功能模块的设计 . 6 3 系统编码设计 . 9 3.1 main 函数. 9 4 系统运行 . 22 5 总结. 26 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 2 1 系统分析1
2、.1 课程设计内容商场商品信息管理系统1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能文件操作:可建立、打开、保存、关闭数据文件。如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。2、数据输入功能输入进货信息:输入商品编号、数量完成进货操作。输入销售信息: 输入商品编号、 数量完成销售操作, 注意当销售数量大于商品数量时,应出现错误提示。3、数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。删除:删除一类或多类商品的所有信息。4、计算功能可通过查询商品信
3、息功能,自动计算并输出需要进货的商品信息。5、查询功能可分别按商品编号、名称、类别和需要进货的商品进行查询。6、排序功能可分别按商品编号、名称、类别等进行排序。7、数据显示功能可分别浏览输入、查询和排序后的商品信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 3 1.3 数据结构设计struct goods /*商品结构体 */ long int num; /*商品编号 */ char name20; /* 商品名称 */
4、 char sort20; /* 商品类别 */ long int count; /* 商品库存量 */ long int price; /* 商品单价 */ goods200; /* 最多 200 个商品 */ 2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:一、文件管理文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。二、进出货管理商品进货 : 输入数据后商品信息能自动更新进行添加商品销售 : 输入数据后商品信息能自动更新进行减少三、商品数据管理增加/ 删除商品 : 添加或删
5、除某条商品的信息修改商品信息 : 对某条商品的信息进行修改四、浏览商品信息管理查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询排序商品信息 : 可按商品编号、名称、类别分别排排序浏览商品信息:可浏览输入、查询或排序后的数据。(此处可用图形描述功能模块划分,类似下图)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - 4 2.2 详细设计2.2.1 界面设计1、菜单设计欢迎界面:系统提示:商场商品信息管理系统商品数据管理
6、浏 信览 息商 管品理文件管理进出货管理打开关闭保存查询数据输入数据排序数据修改添加出货进货删除名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 5 菜单设计:2、输入界面的设计3、信息显示界面的设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 6 2.2.2
7、 各功能模块的设计根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)1、主函数 main() 定义主函数为空类型 (void);利用选择结构 (switch)实现在在主函数中的调用各个子函数,利用 goto 和子函数中的 return语句实现返回主菜单的循环。声明各个子函数输出欢迎界面输出菜单switch(m) 1 输入商品信息2 排序商品信息3 输入商品进货信息4 输入商品销售信息5 增加/ 删除商品6 修改商品信息7 查询商品信息8 浏览商品信息9 保存商品信息清屏幕2、子函数(1) void input(): 确定新的库存量
8、n,输入商品信息,用for 循环语句直到输入商品种类等于n,结束输入;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 27 页 - - - - - - - - - 7 scanf(n) for(i=0;i=n;i+) 将数据存入结构体成员return (2) void sequence(): 对已有的商品进行排序,可按商品编号、名称、类别进行排序;long temp; char p130,p230; 按编号排序for(k=0;kn-1;k+) ;for(i=0;igood
9、si+1.num) 是排序输出排序后结果按名称排序for(k=0;kn-1;k+) for(i=0;i0) 是排序输出排序后结果按类别排序for(k=0;kn-1;k+) for(i=0;i0) 是排序输出排序后结果(3) void purchase(): 进货函数主要是针对已有库存的商品,在原来的商品数量再增加:for(i=0;in;i+) if(temp=goodsi.num); 是输入数量Return 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - -
10、 - - - - - - - 8 (4) void sale(): 要求用户输入所销售的编号,系统用for 循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:for(i=0;igoodsi.count) 出现输入错误提示;重新输入scanf; for(i=0;in;i+) 输出销售商品(5) void edit(): 因为在进货函数已经实现对已有商品的数量的增加,此模块函数主要实现对新商品的添加或对旧商品的删除, 并自动处理数据, 可以在浏览中输出, 用选择语句switch 进行俩者操作的选择:定义变量long temp; 声明函数void add(); void de
11、le(); switch(k) k=1 k=2 add(); dele(); break; break; (6) void correct(): 对有错误信息商品进行修改,输入需要修改的商品编号,用for 循环与 if语句找到此商品,重新输入该商品的新信息,并输出:long temp; scanf(temp); for(i=0;in;i+) if(temp=goodsi.num) 输入新信息for(i=0;in;i+) 输出修改后商品信息(7) void search(): 用 switch(k)语句可分别按商品编号、 名称、 类别或需要进货商品查询; 每个 case选择中均用 for 语句查
12、找要查询的商品,并输出查询结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 27 页 - - - - - - - - - 9 long temp1; char temp220,temp320; switch(k) case(k) 输出查询商品信息(8) void scan(): 可分别进行浏览输入的商品信息、查询的商品信息、 排序后商品信息, 用 switch 进行这三种方式的选择。scnaf ( ) switch(k) case for(i=0;in;i+) 输出所
13、要浏览信息; break; (9) void reserve(): 建立文件FILE *fp;char file15用来存放文件保存路径以及文件名,进行清屏,输入文件路径及文件名,利用fp=fopen(file,w+)实现创建并打开一个文件,并得到该文件的地址的功能,显示fprintf(fp,商品编号 t商品名 t商品类别 t 商品数量 t商品价格 n); 最后输出已保存文件, 程序中是由 PR(商品编号 t 商品名 t商品类别 t 商品数量 t 商品价格 n);语句执行。scanf(n) for(i=0;i=n;i+) 将数据存入结构体成员return 3 系统编码设计(这部分将代码列出,
14、注意,每个函数开始处要介绍函数的功能,重要的代码应有注释,代码格式按锯齿式编排)3.1 main 函数#include stdio.h 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 10 #include string.h #include stdlib.h #define PR printf #define SC scanf struct goods long int num; char name20; char sort
15、20; long int count; long int price; goods200; int k,n,i; void main () void input(); void sequence(); void purchase(); void sell(); void edit(); void correct(); void search(); void scan(); void reserve(); void exit(); PR(n *n *tttttttt *n ); PR( * * ); PR(n *tttttttt *n * Welcometttttt *n *tttttttt *
16、n ); PR( *tt to go into .tttt * ); PR(n *tttttttt *n ); PR( * -the Goods Information Manageaent System- *n *tttttttt *n ); PR( * *n ); PR( *tttttttt *n *); PR(nntPlease press any key to continue: ); getch(); system(cls); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
17、 10 页,共 27 页 - - - - - - - - - 11 PR(nn -$-$-$-$-$-$-$-$-$-); PR(n 系统使用 -温馨提示n 商品编号、数量、单价:采用十进制数,规定长度最长为8位;n 商品名称为 26位字母组成字符串,长度最长为 20位;t 商品类别:以 26个小写字母分别代表着26种商品类别;t 该商品需要进货的库存量:count50;n); PR( -$-$-$-$-$-$-$-$-$-); PR( nplease press any key to continue ); getch(); system(cls); /*清屏*/ lp: for(i=0;i
18、1;i+) PR(nnn); PR(nttt 商品信息管理系统 tnn); PR( t 1 输入商品信息 nn); PR( t 2 排序商品信息 nn); PR( t 3 输入进货信息t6 修改商品信息 nn); PR( t 4 输入销售信息t7 查询商品信息 nn); PR( t 5 增加/删除商品t8 浏览商品信息 nn); PR(t9 保存商品信息 nn); PR( tt );/* 菜 单 选择界面 */PR(nn); PR(t请选择您所要的操作 (或选择 (0)退出):); SC(%d,&k); system(cls); switch(k) /*用switch语句实现功能选择 */ c
19、ase 1: input();break; case 2: sequence(); break; case 3: purchase();break; case 4: sell();break; case 5: edit();break; case 6: correct();break; case 7: search();break; case 8: scan();break; case 9: reserve();break; case 0: PR(nnt / / / / / _ t 谢谢使用,欢迎再来,再见 O(_)O );exit(0); /*退出系统 */ default: puts(输入
20、错误 ,请按任意健返回主菜单:n); break; system(cls); /*清屏*/ goto lp; /*返回主界面 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 27 页 - - - - - - - - - 12 void input() /*功能1:输入商品信息 */ PR(n 请输入需要建立新库存的商品种类数量:); SC(%d,&n); system(cls); PR( n n); for(i=0;in;i+) /*用循环实现输入 n个商品*/
21、PR(nt* 请输入商品的编号 :); SC(%ld,&goodsi.num); PR(nt 请输入商品的名称 :); SC(%s,goodsi.name); PR(nt 请输入商品的种类 :); SC(%s,goodsi.sort); PR(nt 请输入商品的数量 :); SC(%d,&goodsi.count); PR(nt 请输入商品的单价 :); SC(%d,&goodsi.price); PR( n n); PR(tPlease press any key to continue: ); getch(); return; /*返回主界面 */ void sequence() /*功能
22、2:排序商品信息 */ long temp; char p130,p230; for(k=0;kn-1;k+) /*(1): 按编号排序 */ for(i=0;igoodsi+1.num) /*按编号由小到大排序 */ temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,goodsi.name); strcpy(goodsi.name,goodsi+1.name); strcpy(goodsi+1.name,p1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
23、 - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 27 页 - - - - - - - - - 13 strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); PR(-); PR(ntt按商品编号排序后的商品信息nn); PR(t商品编号商品名称商品类别商品数量商品单价n); /*输出排序后商品信息 */ for(i=0;in;i+) PR(t %5ld %5s %5s %5ld %5ldn,goodsi.num,goodsi.name,goods
24、i.sort,goodsi.count,goodsi.price); for(k=0;kn-1;k+) /*(2): 按商品名称排序 */ for(i=0;i0) strcpy(p1,goodsi.name); strcpy(goodsi.name,goodsi+1.name); strcpy(goodsi+1.name,p1); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi
25、+1.sort,p2); PR(-); PR(ntt按商品名称排序后的商品信息n); PR(nt商品名称商品编号商品类别商品数量商品单价n); /*输出排序后商品信息 */ for(i=0;in;i+) PR(t %5s %5ld %5s %5ld %5ldn,goodsi.name,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); for(k=0;kn-1;k+) /*(3): 按商品类别排序 */ for(i=0;i0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
26、精心整理 - - - - - - - 第 13 页,共 27 页 - - - - - - - - - 14 strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,goodsi.name); strcpy(goodsi.name,goodsi+1.name); strcpy(goodsi+1.name,p1); PR(-); PR(ntt按商
27、品类别排序后的商品信息nn); PR(t商品类别商品编号商品名称商品数量商品单价n); /*输出排序后商品信息 */ for(i=0;in;i+) PR(t %5s %5ld %5s %5ld %5ldn,goodsi.sort,goodsi.num,goodsi.name,goodsi.count,goodsi.price); PR(-); PR(please press any key to continue: ); getch(); return; /*返回主界面 */ void purchase() /*功能3:进货商品信息 */ long temp; /*定义临时变量表示刚进货的商品
28、编号*/ int j; PR(nt5请输入刚进货的商品编号:); SC(%ld,& temp); PR(nt5请输入刚进货的商品数量:); SC(%d,&j); PR(nnntpress any key to contiue: ); getch(); system(cls); PR(nt输出进货后的商品信息:); for(i=0;in;i+) /*循环,寻找与进货相同的商品信息*/ if(temp=goodsi.num) goodsi.count=goodsi.count+j; /*自动更改商品数量 */ PR(nt商品编号商品名商品类别商品数量商品价格 ); for(i=0;in;i+) /
29、*循环,输出进货后的商品信息*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 27 页 - - - - - - - - - 15 PR(nt %4ld %4s %4s %ld %4ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); PR(nnttPress any key to enter menu: ); getch(); /*返回功能选择界面 */ return; void sell
30、() /*功能4:销售商品信息 */ long temp; /*定义临时变量 temp表示刚销售的商品编号 */ int j; PR(nt5请输入刚销售的商品编号 :); SC(%ld,&temp); PR(nt5请输入刚销售的商品数量 :); SC(%d,&j); for(i=0;igoodsi.count;) /*如果销售额大于库存量,则出现错误提示*/ PR(nt售出数量大于商品原有数量,出现错误,请重新输入:); SC(%d,&j); goodsi.count=goodsi.count-j; /*完成自动更改商品数量的功能*/ PR(ntpress any key to contiue
31、: ); getch(); system(cls); /*清屏*/ PR(nn *销售后商品信息: ); PR(nt商品类别商品编号商品名称商品数量商品单价n); for(i=0;in;i+) /*循环,输出销售后商品信息*/ PR(t %4s %4ld %4s %4ld %4ldn,goodsi.sort,goodsi.num,goodsi.name,goodsi.count,goodsi.price); PR(ntPress any key to enter menu: ); getch(); return; /*返回功能选择界面 */ 名师资料总结 - - -精品资料欢迎下载 - - -
32、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 27 页 - - - - - - - - - 16 void edit() /*功能5:添加或删除商品信息 */ void add(); /*声明子函数 */ void dele(); PR(nt请选择: 1.添加商品信息;2.删除商品信息; ); PR(t* 请输入 1或2 继续: ); SC(%d,&k); switch(k) /*用switch语句实现功能选择 */ case 1: add();break; case 2: dele();break; getch();
33、 return; /*返回主菜单 */ void add() /*添加商品信息 */*定义子函数 */ PR(t* 请输入所添加商品的商品编号:); SC(%ld,& goodsn.num); PR(nt请输入所添加商品的名称:); SC(%s,goodsn.name); PR(nt请输入所添加商品的类别:); SC(%s,goodsn.sort); PR(nt请输入所添加商品的数量:); SC(%d,&goodsn.count); PR(nt请输入所添加商品的价格:); SC(%d,&goodsn.price); n=n+1; PR(n); void dele() /*删除商品信息 */ /
34、*定义子函数 */ int temp; /*定义局部变量 */int j; for(i=0;in;i+) PR(nt商品编号商品名商品类别商品数量商品价格 ); PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); PR(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 27 页 - - - - - - - - - 17 PR(n);
35、PR(n*请输入要删除的商品编号:); SC(%ld,& temp); PR(nn); for(i=0;in;i+) if(temp=goodsi.num) for(j=i;jn;j+) goodsj.num=goodsj+1.num; strcpy(goodsj.name,goodsj+1.name); strcpy(goodsj.sort,goodsj+1.sort); goodsj.count=goodsj+1.count; goodsj.price=goodsj+1.price; n=n-1; /*商品总库存量减少 */ for(i=0;in;i+) PR(nt商品编号商品名商品类别商
36、品数量商品价格 ); /*输出删除后的商品信息 */ PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); PR(n); PR(Please press any key to continue: ); getch(); return; /*返回主界面 */ void correct() /*功能6:修改商品信息 */ long temp; /*定义局部变量 */ PR(nt请输入要修改的商品的编号:); SC(%ld,&temp); /*输入新的商品信息 */ PR
37、(n); for(i=0;in;i+) /*保存新的商品信息 */ if(temp=goodsi.num) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 27 页 - - - - - - - - - 18 PR(t请输入一个新的的商品编号:); SC(%ld,&goodsi.num); PR(nt请输入新的商品的名称 :); SC(%s,goodsi.name); PR(nt请输入新的商品的类别 :); SC(%s,goodsi.sort); PR(nt请输入新的商品
38、的数量 :); SC(%d,&goodsi.count); PR(nt请输入新的商品价格 :); SC(%d,&goodsi.price); PR(n); for(i=0;in;i+) PR(nt 新的商品名称商品编号商品类别商品数量商品单价 n); PR(t %4s %4ld %4s %4ld %4ld,goodsi.name,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); PR(n); PR(Please press any key to continue: ); /*返回功能选择界面 */ getch(); return; /*返回主
39、菜单 */ void search() /*功能7:查询商品信息 */ int k; /*定义局部变量 */ long temp1; char temp230,temp320; PR(nt5按商品编号查询 ,请按1ttt5按商品名查询 ,请按 2nt5按商品类别查询,请按3ttt5查需要进货的商品 ,请按4n); PR(nnnttt请输入数字确定查询方式 :); SC(%d,&k); PR(n); PR(Press any key to continue: ); getch(); system(cls); switch(k) /*实现查询方式的选择 */ case 1: PR(nnnnntt请
40、输入要查询的商品的编号:); /* 按商品编号查询 */名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 27 页 - - - - - - - - - 19 SC(%ld ,&temp1); system(cls); /*清屏*/ for(i=0;in;i+) if(temp1=goodsi.num) PR(n); PR(nt商品编号商品名商品类别商品数量商品价格); PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,
41、goodsi.sort,goodsi.count,goodsi.price); break; /*跳出switch语句*/ case 2: PR(nnnnntt请输入要查询的商品名 :); /* 按商品名查询数据 */ SC(%s,temp2); system(cls); for(i=0;in;i+) if(strcmp(temp2,goodsi.name)=0) PR(n); PR(nt商品编号商品名商品类别商品数量商品价格); PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goods
42、i.price); break; /*跳出switch语句*/ case 3: PR(nnnnntt请输入要查询的商品类别:); /*按商品类别查询数据*/ SC(%s,temp3); system(cls); for(i=0;in;i+) if(strcmp(temp3,goodsi.sort)=0) PR(n); PR(nt商品编号商品名商品类别商品数量商品价格); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 27 页 - - - - - - - - - 20
43、PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); break; /*跳出switch语句*/ case 4: int a=50; for(i=0;in;i+) /*查询需要进货的商品名 */ if(goodsi.counta) PR(ntt4 需 要 进 货 的 商 品 名 :%s 现 有 库 存量:%ldn,goodsi.name,goodsi.count); break; /*跳出switch语句*/ PR(nnttPress any key to ente
44、r menu: ); getch(); return; /*返回主界面 */ void scan() /*功能8:浏览商品信息 */ PR(nt浏览输入的商品信息,请按 1nnt浏览查询的商品信息,请按 2nnt浏览排序后商品信息 ,请按3n); PR(请选择: ); SC(%d,&k); switch(k) case 1: PR(ttt浏览输入的商品信息 n); PR(t商品编号商品名商品类别商品数量商品价格n);/*输出浏览商品信息 */for(i=0;in;i+) PR(t%5ld %5s %5s %5ld %ld,goodsi.num,goodsi .name,goodsi.sort,
45、goodsi.count,goodsi.price); PR(n); PR(Press any key to enter menu: ); getch(); return; break ; /*跳出switch语句*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 27 页 - - - - - - - - - 21 case 2: PR(ttt浏览查询的商品信息 n); PR(t商品编号商品名商品类别商品数量商品价格n);/*输出浏览商品信息 */for(i=0;in
46、;i+) PR(t%5ld %5s %5s %5ld %ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); PR(n); PR(nPress any key to enter menu: ); getch(); return; break; /*跳出switch语句*/ case 3: PR(ttt浏览按商品编号排序的商品信息n); PR(t商品编号商品名商品类别商品数量商品价格n);/*输出浏览商品信息 */for(i=0;in;i+) PR(t%5ld %5s %5s %5ld %ld,goodsi.num,g
47、oodsi .name,goodsi.sort,goodsi.count,goodsi.price); PR(n); PR(nPress any key to enter menu: ); getch(); return; /*返回主界面 */ break; /*跳出switch语句*/ void reserve() /*功能9:保存文件 */ FILE *fp; char file15; /*用来存放文件保存路径以及文件名*/ system(cls); /*清屏*/ PR(nt* 请输入文件路径及文件名 :); SC(%s,file); fp=fopen(file ,w+ ); /*创建并打
48、开一个文件,并得到该文件的地址*/ fprintf(fp, 商品编号 t商品名 t商品类别 t商品数量 t商品价格 n); PR(商品编号 t商品名 t 商品类别 t 商品数量 t 商品价格 n); for(i=0;in;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 27 页 - - - - - - - - - 22 fprintf(fp, %ldtt%stt%stt%dtt%dn ,goodsi.num,goodsi.name,goodsi.sort,goo
49、dsi.count,goodsi.price); PR(%ldtt%stt%stt%dtt%dn ,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); fclose(fp); /*关闭文件 */ PR(文件已经保存 !n); getch(); system(cls); /*清屏*/ void quit() /*退出系统 */ exit(0); 4 系统运行1、输入新商品操作:首先由主菜单选择 1 进入运行 input函数,清屏进入input 函数界面,提示我们要进行商品信息的输入,包括商品编号、名称、种类、数量和单价,利
50、用for输入完成后,显示出“ Please press any key to continue” ,再按任意健可返回主菜单,其运行界面如下:2、商品排序操作:主菜单选择 2 可调用 sequence 函数,进入商品信息排序界面, 其结果会自动显示出来,如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 27 页 - - - - - - - - - 23 3、进出货操作:由主菜单选择 3 或4 ,转入调用 purchase 或 sale 函数中,清屏,出现进货或出