商品信息管理系统C语言课程设计.docx

上传人:b****8 文档编号:10079430 上传时间:2023-02-08 格式:DOCX 页数:53 大小:551.71KB
下载 相关 举报
商品信息管理系统C语言课程设计.docx_第1页
第1页 / 共53页
商品信息管理系统C语言课程设计.docx_第2页
第2页 / 共53页
商品信息管理系统C语言课程设计.docx_第3页
第3页 / 共53页
商品信息管理系统C语言课程设计.docx_第4页
第4页 / 共53页
商品信息管理系统C语言课程设计.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

商品信息管理系统C语言课程设计.docx

《商品信息管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《商品信息管理系统C语言课程设计.docx(53页珍藏版)》请在冰豆网上搜索。

商品信息管理系统C语言课程设计.docx

商品信息管理系统C语言课程设计

*******************

实践教案

*******************

软件学院(本科)

2014年秋季学期

计算机应用基础课程设计说明书

 

题目:

公司产品管理系统

专业班级:

2014级软件4班

姓名:

苏旺春

学号:

1417700221

指导教师:

马威

成绩:

1系统分析....................................................................................................................1

1.1课程设计内容..................................................................................................1

1.2系统功能需求分析..........................................................................................1

1.3数据结构设计..................................................................................................2

2系统设计....................................................................................................................3

2.1总体设计..........................................................................................................3

2.2详细设计..........................................................................................................4

2.2.1界面设计................................................................................................4

2.2.2各功能模块地设计................................................................................5

3系统编码设计..........................................................................................................11

3.1main函数........................................................................................................11

3.2load函数.........................................................................................................12

3.3creat创建链表函数........................................................................................13

3.4search函数.....................................................................................................16

3.5add数..............................................................................................................20

3.6amend函数.....................................................................................................22

3.7del函数...........................................................................................................25

3.8purchase函数.................................................................................................26

3.9sales函数........................................................................................................28

3.10print函数......................................................................................................29

3.11save函数.......................................................................................................33

3.12menu函数.....................................................................................................34

4系统运行..................................................................................................................36

5总结..........................................................................................................................41

 

1系统分析

1.1课程设计内容

1设计一商场商品信息管理系统,功能包括:

1.文件操作:

可建立、打开、保存、关闭数据文件.

2.输入商品信息数据:

数据包括商品编号、商品名、商品类别、商品数量、商品价格等.

3.编辑数据:

可添加、删除、修改数据.

4.输入进货、销售信息:

输入商品编号、数量完成进货或销售操作.

5.计算:

应在输入进货及销售信息时,自动更改商品数量.

6.查询:

可按商品编号、商品名或类别查询;还可查询需进货地商品.

7.排序:

可按编号、名称或类型排序.

8.

浏览:

可浏览输入、查询或排序后地数据.

1.2系统功能需求分析

本系统应具有以下功能:

1、文件操作功能:

可建立、打开、保存、关闭数据文件.

2、数据输入功能:

数据包括商品编号、商品名、商品类别、商品数量、商品价格等.以及输入商品编号、数量完成进货或销售操作.

3、数据添加、修改、删除功能

4、计算功能:

在输入进货及销售信息时,自动更改商品数量.

5、查询功能:

可按商品编号、商品名或类别查询;还可查询需进货地商品.

6、排序功能:

可按编号、名称或类型排序.

7、数据显示功能:

可浏览输入、查询或排序后地数据.

1.3数据结构设计

structshangpingxinxi/*结构体,用于存放主要数据*/

{

longnumber。

/*商品编号*/2

charname[100]。

/*商品名*/charleibie[100]。

/*商品类别*/intkucun。

/*库存量*/floatjiage。

/*商品价格*/structshangpingxinxi*next。

/*指向下一个结构体地指针*/

}intn,k。

/*全局变量*/

structshangpingxinxi*head。

/*局部变量*/

structshangpingxinxi*p1,*p2,*p3。

/*局部变量*/

chartemp[20]。

/*局部变量*/

int/long/char/floata,b,c,d,e,f,i,j;/*局部变量*/

FILE*fp。

/*局部变量,用于指向文件*/

2系统设计

2.1总体设计

3按系统分析地功能要求将系统划分为以下几个主要功能模块:

 

2.2详细设计

2.2.1界面设计

1、菜单设计

4

 

2、输入界面地设计

Ø输入商品编号:

提示输入7位商品编号.编号应为首位不为0地数字编号,当输入字符和非7位数字时提示错误;添加商品时,还应检查是否有重复编号,如有重新输入.

Ø输入商品名称:

提示输入商品名称.可输入任意字符串,但为了对齐最好不超过八个字符,以回车为输入结束.

Ø输入商品类型:

提示输入商品类型.可输入任意字符串,但为了对齐最好不超过八个字符,以回车为输入结束.

Ø输入商品库存:

提示输入大于零地商品库存(大于0).可输入0~32767地任意数字,当输入为字符和小于0地数字时提示错误,重新输入.

Ø输入商品价格:

提示输入大于零地商品价格(大于0).可输入0~3.4×

1038地任意浮点数,当输入为字符和小于0地数字时提示错误,重新输入.3、信息显示界面地设计

◆菜单信息显示:

在页面中央以阶梯状加半框形式显示,页面底部显示提示信息.

◆商品信息显示:

应显示商品编号、商品名称、商品类别、库存数量、商品

价格五种信息,并以表格形式显示.5

2.2.2各功能模块地设计

根据划分地功能模块,定义以下函数实现各功能:

(这部分应介绍各函数地原型,各功能模块实现所用地算法,可用流程图描述)

1、主函数main()

2、读取文件函数

structshangpingxinxi*load(structshangpingxinxi*head)

3、创建链表函数(输入数据函数)structshangpingxinxi*creat(void)

定义变量

开辟一个内存空间开辟内存空间

输入商品编号并判断是否有效和重复

输入商品名称并判断是否有效

输入商品类别并判断是否有效

输入商品库存并判断是否有效

输入商品价格并判断是否有效

判断是否输入结束

退出函数

4、查询函数

structshangpingxinxi*search(structshangpingxinxi*head)

5、添加函数

structshangpingxinxi*add(information*head,information*newgoods)

6、修改函数

structshangpingxinxi*amend(structshangpingxinxi*head)

7、删除函数

structshangpingxinxi*del(structshangpingxinxi*head)

8、进货函数

structshangpingxinxi*purchase(structshangpingxinxi*head)

9、销售函数

structshangpingxinxi*sales(structshangpingxinxi*head)

 

10、排序函数(输出函数)

voidprint(structshangpingxinxi*head)

11、保存函数

voidsave(structshangpingxinxi*p1)

 

3系统代码设计

3.1main函数

#include11

#include

#include

#include

#defineLENsizeof(structshangpingxinxi)structshangpingxinxi

{

longnumber。

/*7位商品编号*/charname[100]。

/*商品名*/charleibie[100]。

/*商品类别*/intkucun。

/*库存量*/floatjiage。

/*商品价格*/structshangpingxinxi*next。

}。

typedefstructshangpingxinxiinformation。

intn,k。

/*n,k为全局变量,本程序中地函数均可以使用它*/

voidmain()/*主函数main,功能:

通过调用各函数,实现商品信息管理系统

地功能*/

{

information*head=0,*newgoods=0。

intk=0。

chara[10]。

intj。

charch。

pp:

system("cls")。

/*清屏*/printf("请输入密码:

")。

j=0。

while((ch=getch())!

=13)

{putchar('*')。

a[j]=ch。

j++。

}a[j]='\0'。

if(strcmp(a,"zeus880825")!

=0)

{

printf("\n\n密码错误!

")。

getch()。

gotopp。

}

system("cls")。

/*清屏*/

{lp:

k=menu(k)。

switch(k)/*用switch语句实现功能选择*/12

{

case1:

head=load(head)。

break。

/*从文件调入记录函数*/case2:

head=creat()。

break。

/*调用创建链表函数*/case3:

head=search(head)。

break。

/*调用信息查询函数*/case4:

head=amend(head)。

break。

/*调用修改信息地函数*/case5:

head=del(head)。

break。

/*调用删除信息函数*/case6:

head=add(head,newgoods)。

break。

/*调用追加信息资料函数*/case7:

head=purchase(head)。

break。

/*调用输入进货信息地函数*/case8:

head=sales(head)。

break。

/*调用输入销售信息地函数*/case9:

print(head)。

break。

/*调用显示信息资料函数*/case10:

save(head)。

break。

/*调用保存函数*/case0:

exit(0)。

/*退出系统,返回主界面*/default:

printf("输入错误,请重试!

\n")。

}gotolp。

}

}

3.2load函数

information*load(information*head)/*函数load,功能:

从文件读入商品

信息*/

{

information*p1,*p2。

charfilepn[10]。

FILE*fp。

system("cls")。

/*清屏*/

printf("请输入文件路径及文件名:

")。

scanf("%s",filepn)。

/*输入文件路径及名称*/if((fp=fopen(filepn,"r+"))==NULL)

{

printf("不能打开文件!

\n")。

getch()。

system("cls")。

/*清屏*/

return0。

}

fp=fopen(filepn,"r+")。

fscanf(fp,"\n商品编号\t商品名称\t商品类别\t库存数量\t商品价格

\n")。

n=0。

p1=p2=(information*)malloc(LEN)。

/*开辟一个新单元*/

fscanf(fp,"%ld\t\t%s\t\t%s\t\t%d\t\t%f\n",&p1->number,&p1->name,&p1-

>leibie,&p1->kucun,&p1->jiage)。

head=p1。

13ll:

n=n+1。

p2=p1。

p1=(information*)malloc(LEN)。

/*开辟一个新单元*/

fscanf(fp,"%ld\t\t%s\t\t%s\t\t%d\t\t%f\n",&p1->number,&p1->name,&p1-

>leibie,&p1->kucun,&p1->jiage)。

p2->next=p1。

if(p1->number!

=0)gotoll。

p2->next=NULL。

fclose(fp)。

/*结束读入,关闭文件*/

printf("\n总有%d种商品地信息:

\n",n)。

printf("\n商品编号\t商品名称\t商品类别\t库存数量\t商品价格

\n")。

p2=p1=head。

do

{

printf("%ld\t\t%s\t\t%s\t\t%d\t\t%.2f\n",p1->number,p1->name,p1->lei

bie,

p1->kucun,p1->jiage)。

p1=p1->next。

}

while(p1!

=NULL)。

getch()。

system("cls")。

/*清屏*/

return(head)。

}

3.3creat创建链表函数

information*creat(void)/*函数creat,功能:

创建链表,此函数带回一个指向链表头地指针*/

{

information*head。

information*p1,*p2,*p3。

inti。

system("cls")。

/*清屏*/n=0。

p1=p2=p3=(information*)malloc(LEN)。

head=p3。

/*开辟一个新单元*/

repeat1:

printf("请输入7位商品编号(退出请按“0”):

")。

/*输入编号,编号应大于

0*/

scanf("%d",&p1->number)。

if(p1->number==0)

gotoend。

14else

{

while(p1->number<1000000||p1->number>=10000000)

{printf("输入错误!

")。

gotorepeat1。

}p3=head。

if(n>0){for(i=0。

i

i++){

if(p1->number!

=p3->number)p3=p3->next。

else{

printf("编号重复,请重输!

\n")。

gotorepeat1。

/*当输入地编号已经存在,程序报错,返回前面重新输入*/

}

}

}

}

printf("请输入商品名:

")。

scanf("%s",&p1->name)。

/*输入商品商品名*/

printf("请输入商品类别:

")。

/*输入商品类别*/

scanf("%s",&p1->leibie)。

printf("请输入商品库存(大于0):

")。

/*输入商品库存*/

scanf("%d",&p1->kucun)。

while(p1->kucun<0)

{

printf("输入错误,请重新输入商品数量")。

/*输入错误,重新输入商品库存直到正确为止*/

scanf("%d",&p1->kucun)。

}

printf("请输入商品价格(大于0):

")。

/*输入商品价格*/

scanf("%f",&p1->jiage)。

while(p1->jiage<0)

{

printf("输入错误,请重新输入商品价格")。

scanf("%f",&p1->jiage)。

}/*输入错误,重新输入商品价格直到正确为止*/

head=NULL。

while(p1->number!

=0)15

{n=n+1。

if(n==1)head=p1。

else

p2->next=p1。

p2=p1。

p1=(information*)malloc(LEN)。

repeat2:

printf("请输入7位商品编号(退出请按“0”):

")。

scanf("%d",&p1->number)。

/*输入编号,编号应大于0*/if(p1->number==0)gotoend。

else

{

while(p1->number<1000000||p1->number>=10000000)

{printf("输入错误!

")。

gotorepeat2。

}p3=head。

if(n>0){

for(i=0。

i

i++)

{

if(p1->number!

=p3->number)

p3=p3->next。

else{

printf("编号重复,请重输!

\n")。

gotorepeat2。

/*当输入地编号已经存在,程序报错,返回前面重新输入*/

}

}

}

}

printf("请输入商品名:

")。

scanf("%s",&p1->name)。

/*输入商品商品名*/printf("请输入商品类别:

")。

/*输入商品类别*/scanf("%s",&p1->leibie)。

printf("请输入商品库存(大于0):

")。

/*输入商品库存*/

scanf("%d",&p1->kucun)。

while(p1->kucun<0)

{

printf("输入错误,请重新输入商品数量")。

/*输入错误,重新输入商品库存直到正

确为止*/16scanf("%d",&p1->kucun)。

}

printf("请输入商品价格(大于0):

")。

/*输入商品价格*/

scanf("%f",&p1->jiage)。

while(p1->jiage<0)

{

printf("输入错误,请重新输入商品价格")。

scanf("%f"

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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