收藏 分销(赏)

超市商品标准管理系统含附源代码.doc

上传人:w****g 文档编号:2999661 上传时间:2024-06-12 格式:DOC 页数:27 大小:99.04KB
下载 相关 举报
超市商品标准管理系统含附源代码.doc_第1页
第1页 / 共27页
超市商品标准管理系统含附源代码.doc_第2页
第2页 / 共27页
超市商品标准管理系统含附源代码.doc_第3页
第3页 / 共27页
超市商品标准管理系统含附源代码.doc_第4页
第4页 / 共27页
超市商品标准管理系统含附源代码.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、西安郵電學院软件设计课程设计报告题 目: 超市商品管理系统 系部名称:电信系专业名称:电子科学与技术班 级:0701学号:0507学生姓名 :胡立仁指引教师:黄茹时间:6月9日 至 6月20日一、课程设计目1.通过本课程设计,强化上机动手能力,使学生在理论和实践基本上进一步巩固C语言程序设计课程学习内容,掌握工程软件设计基本办法。2. 学会将知识应用于实际办法,提高分析和解决问题能力,增长综合能力。3. 为后续各门计算机课程学习打下坚实基本。4. 为毕业设计和后来工作打下必要基本。二、课程设计内容1. 编写程序并进行调试运营。2. 输入商品信息,并保存于文献。每个商品信息包括信息如:库存量、进

2、价、售价、保质期、生产商等。3. 对已存入商品信息进行更新操作,涉及添加一种商品信息、删除某个商品信息和修改某个商品信息。4. 通过输入商品名、商品号、商品类型方式查询商品信息。5. 最后输出商品信息,供需要时打印。三、需求分析1. 该程序可用于对商品基本信息存储、更新、查询、排序、输出等操作,以实现对商品信息管理。2. 其中更新功能涉及:添加信息、删除信息、修改信息、可依照需要添加一种或各种商品信息,也可对个别商品信息进行恰当删除或修改。以便随时更新商品信息。3. 程序中设计查询功能可依照需要从若干数据中查询某个商品信息,并且可依照三种不同办法查询:按商品号查询、按商品类型和按商品查询,以满

3、足不同需要。四、概要设计1、 方案设计对系统进行分析,给出构造图分析:系统规定实现许多功能,因而遵循构造化程序设计思想来进行本系统设计自顶向下、逐渐细化,将系统设计任务分解出许多子功能模块进行设计 构造图如下: 商品信息 管 理 系 统输入模块更新模块查询模块排行模块输出模块退出系统添加信息删除信息修改信息按商品号查询按商品名查询按商品类别查询按库存量排行2、模块功能阐明(对各个模块进行功能描述)(1)输入模块:录入需要管理商品信息并将信息保存于文献中,以以便日后进行打印、读取、更新等操作。(2)添加模块:可添加一种或各种商品信息,并将所添加商品信息保存,以便查找。(3)删除模块:可对售完商品

4、信息做删除解决。(4)修改模块:可依照需要对各种商品信息进行修改,也可随时对个别项进行修改。(5)查询模块:可对已建立商品信息进行查询,并且可依照需要选取按商品名查询或按商品号查询。(6)保存模块:用于对信息进行保存。(7)输出模块:将所有商品信息或想要查询商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。(8)退出系统:选取该项,自动退出该系统。五、详细设计及运营成果开始输入i值判断i值退出系统排序模块查询模块更新模块输出模块输入模块输入i值输入i值判断i值判断i值按商品号查询按商品名查询按类别查询返回主菜单返回菜单修改信息删除信息添加信息与否继续是与否继续是否否保存数据结束输入模块:

5、 输出模块:输入模块输入信息与否继续返回主菜单输出模块输出信息返回主菜单是否排行模块:排行模块输入i值判断i值按商品号排行输出按商品类型排行输出返 回 主 菜 单返回主菜单六、调试状况,设计技巧及体会1、 对自己设计进行评价,指出合理和局限性之处,提出改进方案。本次实践课编写是一种应用程序,相对于此前咱们见到程序,它要大得多,开始时,数据输出格式不太规范,并且各模块也浮现了某些小问题,在教师和同窗协助下,通过自己一次又一次进行调试和修改,最后运营成果基本上达到了预期目。由于时间问题和考虑得不够周全,也许在某些功能上不是很完善,但是已有功能已能基本满足普通顾客需求,如果能通过不断实验和使用过程中

6、所积累问题进行改进。如:数量,价格输入值为负值时,程序也能继续执行,这就给运用上带来某些不便或也许浮现某些莫名其妙错误。但是总来说,对于自己初次可以自主完毕一种这样大程序来说,还是比较满意。2、在设计过程中感受。本次C 语言实习课让我对C 语言学习又有了更进一步理解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到知识远远超过了在课堂上十几周学到,学校组织这次实习让咱们这些实践知识较缺少大学生增添了许多实践经验,为咱们将来走上工作岗位其了不小铺垫作用。本次实习中遇到了诸多此前没有遇到过问题,也曾想过要放弃,但看到自己普通写过大量程序,给了我继续信心。在教师和同窗协助下,我顺利

7、完毕了本次实习,让我体会到了通过不懈努力,有过挫折有过坎坷,但最后实现目的后成就感,也让我充分感受到情谊和团结重要性。七、参照文献C语言程序设计 王曙燕 曹 锰八、附录:#include #include #include #include#include#include#define MAX 20#define PRINT1 printf(-n)#define PRINT2 printf(商品号-商品名称-商品种类-销售价格-生产日期(年-月-日)-保质期n)#define PRINT3 printf(%4d%8s%8s%8d%8d-%2d-%2d%4dn,goodsi.num,goodsi

8、.name,goodsi.kind,goodsi.out_price,goodsi.pro_time.year,goodsi.pro_time.month,goodsi.pro_time.day,goodsi.save_day)int sum;struct date int year; int month; int day;struct goods_type /*定义构造体*/ int num; char name10; char kind10; int amount; int in_price; int out_price; struct date pro_time; int save_da

9、y; int profit;goodsMAX;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_Messa

10、ge(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(nnn *商品信息排行*nn); printf( 1:按库存量排行nn); printf( 0:返回主菜单nn); printf( 请选取(0-1): ); scanf(%d,&choice); switch(choice) case 1:Sort_am

11、ount();break; case 0:break; while(choice!=0);void Sort_amount(void) /*库存量排序*/ struct goods_type *p,*qMAX; int i,j,k; clrscr(); printf( 库存排行); PRINT1; printf(nn排名 商品号 商品名称 商品类别 库存量nn); p=goods; for(i=0;isum;i+) qi=p+; for(i=0;isum;i+) k=i; for(j=i+1;jamountamount) k=j; if(k!=i) p=qi; qi=qk; qk=p; for

12、(i=0;inum); printf( %s ,qi-name); printf( %s ,qi-kind); printf( %d n ,qi-amount); bioskey(0);long Count_Amount() /*记录库存量*/ int i,j=0,choice,count_num,Amount; char inquire_name10; clrscr(); printf(n 请输入想要记录商品号: ); scanf(%d,&count_num); for(i=0;isum;i+) if(goodsi.num=count_num) Amount=goodsi.amount; p

13、rintf(-); printf( 商品号 库存量); printf(n%8d%8d,goodsi.num,Amount); else j+; 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;isum;i+) if(goodsi.num=count_num) profit=goodsi.out_price-

14、goodsi.in_price; printf(n 商品利润); printf(n -); printf(n 商品号 利润); printf(n %8d%8dn,&goodsi.num,&profit); else j+; if(j=sum) printf(n 该商品不存在!); printf(n 按任意键返回主菜单!); bioskey(0);void Count_Message(void) /*记录模块*/ int choice; do clrscr(); printf(*记录商品信息*nnn); printf(* 1:记录库存量 *nnn); printf(* 2:记录利润 *nnn);

15、 printf(* 0:返回主菜单 *nnn); printf(* 请选取(0-2): *nnn); 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(nn 商品信息:(最多 %d) n,s); printf( =n

16、); do printf(n 第 %d 商品,i+1); printf(n 商品号:); scanf(%d,&goodsi.num); if(goodsi.num=0) break; printf(n 商品名称:); scanf (%s,goodsi.name); printf(n 商品种类:); scanf (%s,goodsi.kind); printf(n 商品库存量:); scanf (%d,&goodsi.amount); printf(n 进货价格:); scanf (%d,&goodsi.in_price); printf(n 销售价格:); scanf (%d,&goodsi.

17、out_price); printf(n 生产日期(yyyy-mm-dd):); scanf (%d-%d-%d,&goodsi.pro_time.year,&goodsi.pro_time.month,&goodsi.pro_time.day); printf(n 保质期:); scanf (%d,&goodsi.save_day); printf(继续输入信息,y or n ?); fflush(stdin); scanf(%c,&bd); if(bd=y) i+; else break; while(iMAX); printf(n-%d 所有商品录入完毕!-nnn,i+1); getch

18、(); printf( 按任意键返回主菜单.); sum=i; printf(输入回车返回主菜单!); bioskey(0);void Show_Message(void) /*显示输出模块*/ int i=0,j=0,count,page=7; clrscr(); printf(nn -商品信息- 在第 %d 页nn,page); PRINT2; PRINT1; do if(goodsi.num!=0) j+; if(j%page!=0) PRINT3; PRINT1; else PRINT3; PRINT1; if(goodsi+1.num!=0) printf(按任意键继续!); bio

19、skey(0); clrscr(); printf(nn -商品信息-在第 %d 页nn,+page); PRINT2; PRINT1; i+; while(goodsi.num!=0); printf(按任意键返回主菜单!); bioskey(0);void Insert_Message(void)/*添加商品信息模块*/ int i=sum,j,flag=0; char choice; clrscr(); printf(nn 添加一种新商品nn ); printf(n-n); do goodsi.num=+sum; printf(n 新商品号:%d,goodsi.num); printf(

20、n 新商品名:); scanf(%s,goodsi.name); printf(n 新商品种类:); scanf(%s,goodsi.kind); printf(n 新商品数量:); scanf(%d,&goodsi.amount); printf(n 进价:); scanf(%d,&goodsi.in_price); printf(n 售价:); scanf(%d,&goodsi.out_price); printf(n 生产日期(yyyy-mm-dd):); scanf(%d-%d-%d,&goodsi.pro_time.year,&goodsi.pro_time.month,&goods

21、i.pro_time.day); printf(n 保质期:); scanf(%d,&goodsi.save_day); i+; printf(nn 想继续添加商品吗?(Y/N); fflush(stdin); choice=getch(); if(choice=y|choice=Y) printf(继续); flag=1; else flag=0; while(flag=1); printf(nnn 按任意键返回主菜单.); bioskey(0);void Delete_Message(void)/*删除商品信息模块*/ int i,j,numberkey,flag=0; char choi

22、ce; printf(开始删除.nn); do clrscr(); printf(请输入你要删除商品号: n); scanf(%d,&numberkey); for(i=0;isum;i+) if(goodsi.num=numberkey) for(j=i;jsum;j+) goodsj=goodsj+1; sum-; flag=1; printf(删除成功!nnn); break; if(flag=0) printf(不存在该商品信息!); bioskey(0); printf(nn与否继续输入(y/n)?n); getchar(); scanf(%c,&choice); while(cho

23、ice=y|choice=Y); printf(n按任意键返回); bioskey(0);void Revise_Message(void)/*修改商品信息模块*/ int i,j,flag,choice,revise_num; char ch; do clrscr(); printf(nn 开始修改.); printf(nn 请输入你想输入商品号:n); scanf(%d,&revise_num); for(i=0;isum;i+) if(goodsi.num=revise_num) printf(拟定修改此商品信息吗?(y/n); PRINT1; PRINT2; PRINT3; getch

24、ar(); ch=getchar(); if(ch=y) printf(nnn修改商品信息哪一项?); printf(nn 1:商品名称); printf(nn 2:商品类型); printf(nn 3:销售价格); printf(nn 4:生产日期); printf(nn 5:保质期); printf(nn 请选取(0-5)n); scanf(n %d,&choice); switch(choice) case 1:printf(请输入修改后商品名n); scanf(%s,&goodsi.name);break; case 2:printf(请输入修改后商品类型n); scanf(%s,&g

25、oodsi.kind);break; case 3:printf(请输入修改后商品销售价格n); scanf(%d,&goodsi.out_price);break; case 4:printf(请输入修改后商品生产日期n); scanf(%d-%d-%d,&goodsi.pro_time.year,&goodsi.pro_time.month,&goodsi.pro_time.day);break; case 5:printf(请输入修改后商品保质期n); scanf(%d,&goodsi.save_day);break; case 0:break; printf(修改商品信息:n); PR

26、INT2; PRINT3; else break; else j+; if(j=sum) printf(不存在该商品信息.); printf(nn 继续修改商品信息吗(y/n)?); getchar(); ch=getchar(); if(ch=y) printf(继续.n); flag=1; else flag=0; while(flag=1); printf(修改完毕!nn); getch();void Renew_Message(void) /*更新商品信息模块*/ int choice; do clrscr(); printf(nn*更新商品信息*); printf(nn 1:添加商品

27、信息.nn); printf(nn 2:删除商品信息.nn); printf(nn 3:修改商品信息.nn); printf(nn 0:返回上一级.nn); printf(nn 请选取(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 *

28、fp; int i=0; if(fp=fopen(999.txt,rb)=NULL) printf(nt 当前还没有保存所有信息,按回车键回到主菜单输入商品信息!); printf(nt 按任意键返回!n); getch(); return; while(feof(fp)!=1) fread(&goodsi,sizeof(struct goods_type),1,fp); if(goodsi.num=0) break; else i+; fclose(fp); return(i);void Inquire_goodsname(void)/*按商品名称查询*/ int i,j,choice; c

29、har namekey10; j=0; printf(开始查询.); printf(请输入你要查询商品号:n); scanf(%s,namekey); for(i=0;isum;i+) if(strcmp(goodsi.name,namekey)=0&goodsi.num!=0) printf( -商品信息-); PRINT1; PRINT2; PRINT3; else j+; if(j=sum) printf(该商品不存在!); printf(按任意键返回主菜单.); getch();void Inquire_goodskind(void)/*按商品类型查询*/ int i,j,choice; char kindkey10; j=0; printf(开始查询.); printf(请输入你要查询商品种类:n); scanf(%s,kindkey); for(i=0;isum;i+) if(strcmp(goodsi.kind,kindkey)=0&goodsi.num!=0) printf( -

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服