超市商品管理系统(含附源代码)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黔南民族师范学院

软件设计课程设计报告

题目超市商品管理系统

系部名称:计科系

专业名称:信息管理与信息系统

班级:学号:

B12计信班1208045139

学生姓名:胡崇祯

指导教师:黄茹

时间:2013年11月9日至2013年12月8日

、课程设计目的

1. 通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进

一步巩固《 C 语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。

2. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合

能力。

3. 为后续各门计算机课程的学习打下坚实基础。

4. 为毕业设计和以后工作打下必要基础。

、课程设计内容

1. 编写程序并进行调试运行。

2. 输入商品信息,并保存于文件。每个商品信息包含信息如:库存量、

进价、售价、保质期、生产商等。

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

商品信息和修改某个商品信息。

4. 通过输入商品名、商品号、商品类型的方式查询商品信息。

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

、需求分析

1. 该程序可用于对商品基本信息的存储、更新、查询、排序、输出等操作,

以实现对商品信息的管理。

2. 其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一

个或多个商品信息,也可对个别商品信息进行适当的删除或修改。以便随时更新商品信息。

3. 程序中设计的查询功能可根据需要从若干数据中查询某个商品信息,并且

可根据三种不同的方法查询:按商品号查询、按商品类型和按商品查询,以满足不同的需要。

四、概要设计

1、方案设计

对系统进行分析,给出结构图

分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计

结构图如下:

2、模块功能说明(对各个模块进行功能的描述)

(1) .输入模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

(2) .添加模块:可添加一个或多个商品信息,并将所添加商品信息保存, 方便查找。

(3) .删除模块:可对售完的商品信息做删除处理。

(4) •修改模块:可根据需要对多个商品信息进行修改,也可随时对个别项进行修改。

(5) •查询模块:可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品号查询。

(6) .保存模块:用于对信息进行保存。

(7) .输出模块:将所有商品信息或想要查询的商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。

(8) .退出系统:选择该项,自动退出该系统

五、详细设计及运行结果

保存数据

结束

输入模块: 输出模块: 排行模块:

六、调试情况,设计技巧及体会

1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。

此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,开始时,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,通过自己一次又一次的进行调试和修改,最后运行的结果基本上达到了预期的目的。

由于时间问题和考虑得不够周全,可能在某些功能上不是很完善,不过已有的功能已能基本满足一般用户的需求,如果能通过不断的实验和使用过程中所积累的问题进行改进。如:数量,价格的输入值为负值时,程序也能继续执行,这就给运用上带来一些不便或可能出现一些莫名其妙的错误。

不过总的来说,对于自己首次能够自主完成一个这样大的程序来说,还是比较满意。

2、在设计过程中的感受。

本次C语言的实习课让我对C语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识较缺乏的大学生增添了许多实践经验,为我们将来走上工作岗位其了不小的铺垫作用。

本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到自己一般写过的大量程序,给了我继续的信心。在老师和同学的帮助下,我顺利的完成了本次实习,让我体会到了经过不懈的努力,有过挫折有过坎坷,但最终实现目标后的成就感,也让我充分感受到友谊和团结的重要性。

七、参考文献

《C语言程序设计》王曙燕曹锰

八、附录:

#in elude

#in elude

#in elude #i ncludevc on io.h>

#in elude

#i ncludevstri ng.h>

#defi ne MAX 20

#defi ne PRINT1 printf(" ------------------------------------------------------- \n")

#define PRINT2 printf("商品号--商品名称--商品种类--销售价格--生产日期 (年-月-日)--保质期\n")

#defi ne PRINT3

printf("%4d%8s%8s%8d%8d-%2d-%2d%4d\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].save_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 ******* printf(" printf(" printf("

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 排名 商品号 商品名称 商品类别 p=goods;

for(i=0;i

q[i]=p++; for(i=0;i

{

k=i;

for(j=i+1;jamountamount) k=j;

if(k!=i) {

p=q[i];

q[i]=q[k]; q[k]=p;

}

}

for(i=0;i

{

商品信息排行 ********\n\n"); 1:按库存量排行 \n\n");

0:返回主菜单 \n\n"); 请选择 (0-1): "); 库存量 \n\n");

相关文档
最新文档