二手商品交易管理系统.docx
《二手商品交易管理系统.docx》由会员分享,可在线阅读,更多相关《二手商品交易管理系统.docx(39页珍藏版)》请在冰豆网上搜索。
二手商品交易管理系统
唐山学院
C语言程序设计课程设计
题
目
二手商品交易管理系统设计
系
(部
信息工程系
班
级
14电信4班
姓
名
张时雨
学
号
4140220422
指导教师
李佳
2015年
3
月2日至3月130共2周
2015年3月13日
c语言课程设计任务书
1.设计题目,内容及要求。
1.设计题目:
二手商品交易管理系统设计
2.设计内容:
设计一个二手商品交易管理系统程序。
基本信息包括:
商品编号、商品名称、商品价格、购买数量、库存数量、生产厂商、生产日期、备注等。
该程序应该具有如下功能:
(1)信息的添加;
(2)信息的删除;(3)信息的查询;(4)信息的修改;(5)提供一些统计各类信息的功能等。
3.设计要求:
程序结构合理、算法准确、语法正确,并生成可执行文件。
2.要求的设计成果(课程设计说明书、设计实物、图纸等)
1.课程设计说明书:
课程设计说明书1份,不少于2000字。
说明书中要包含需求分析、总体设计、详细设计以及主要的算法描述等内容。
2.源代码:
程序清单,实现应用程序的功能。
注重编码的质量,代码要有适当的注释。
3.进程安排
(3.2-3.3):
完成需求分析。
(3.4-3.6):
完成程序主体功能的设计。
(3.9-3.10):
程序调试无误,生成可执行文件。
(3.11-3.12):
撰写课程设计说明书初稿。
(3.13):
提交课程设计说明书、程序和数据。
4.主要参考资料
[1]谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:
高等教育出版社,2006
[2]吕凤煮.C语言基础教程一一基础理论与案例[M].北京:
清华大学出版社,2005
[3]黄明、梁旭、万洪莉.C语言课程设计[M].北京:
电子工业出版社,2006
[4]郭宁,郑小玲.管理信息系统[M].北京:
人民邮电出版社,2006
⑸赵池龙,杨林,陈伟.实用软件工程[M].北京:
电子工业出版社,2006
指导教师(签名):
教研室主任(签名):
课程设计成绩评定表
出勤
情况
出勤天数
缺勤天数
成
绩评疋
出勤情况及设计过程表现(20分)
课设答辩(20分)
设计成果(60分)
总成绩(100分)
提问
(答辩)
问题
情况
综
合评疋
指导教师签名:
年月日
引言
21世纪,我们进入了信息时代,计算机的使用大大方便了我们的日常生活,人工的商品信息查询已经不能满足我们的要求,查询困难等缺点是人工查询所不能克服的。
在此情况下,就需要一个程序化的自动的商品信息查询系统来满足人们的需求。
在c语言的平台下实现,用户可以方便的进行各项操作。
c语言是一种程序设计语言,早在20世纪90年代,c语言表现出了强劲的生命力,
[1]
c语言是一种结构化语言。
[1]它层次清晰,便于按模块化方式组织程序,易于调试和维护。
c语言的表现能力和处理能力极强。
[2]它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
[3]它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
[4]由于c语言实现了对硬件的编程操作,因此c语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。
问此外,c语言还具有效率高,
可移植性强等特点。
因此可以广泛地移植到了各类型计算机上,从而形成多种版本的c
语言。
采用结构体数组和文件的方式,完成了对数据的录入、显示、排序、查找、删除、修改、插入、保存等功能
2总体设计
软件提供了一个对二手商品信息进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求如下:
2.1密码系统
通过已定密码进入对应管理目录,从而进行相应的操作功能。
2.2录入
用户根据提示输入的商品的编号、生产日期等信息要素。
2.3存盘
系统将商品信息记录存储在系统磁盘的文件中,以便进行管理、检索和备份。
2.4删除
删除商品的信息:
提示管理员输入要进行删除操作的商品编号,如果在文件中有该商品的信息存在,则将该序号所对应的名称、序号等要素在对应文件中加以删除。
并提示管理员选择是否继续进行删除操作。
2.5修改
提示管理员输入要进行修改操作的商品编号,如果在文件中有该商品的信息存在,则将提示管理员输入该序号对应的商品名称、单价要素等需要修改的选项,并将修改结果存储于文件。
该部分需求也需要提示管理员选择是否继续进行修改操作。
2.6检索
分为根据名称检索和根据序号检索两个具体需求,分别提示用户输入要检索商品信息的序号或名称,如果在磁盘文件中有对应的商品单价信息,则提示用户已找到,并逐项列出对应商品的详细信息。
在该功能中,需提示用户是否需要继续检索,如不再继续检索,则返回主界面,并可进行模糊查找。
2.7浏览
逐条显示全部记录
2.8插入
可在原有商品信息文件的基础上增加新的商品信息记录。
在增加新记录的过程中,系统提示管理员输入单价要素项,存入文件对应的记录中。
2.9退出系统
商品管理系统
退出系统
统计商品
排序商品
插入商品
修改商品
删除商品
查询商品
录入商品
图1系统总体功能结构图
详细设计
3.1系统化分析
将程序整体进行模块化处理,使程序编译思路更加清晰,降低了编译程序的难度
商品信息中包含编号、生产日期、数量、单价等基本信息,程序具有信息录入、删除、修改、浏览、检索和存盘等功能。
3.2主函数及主界面
首先设计出主函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以
选择所要求的操作,使操作方便,易于进行查找、添加、修改、删除等功能。
printf("
\n");
printf("
1、商品名称
\n");
printf("
2、商品编号
\n");
printf("
3
、生产厂家
\n");
printf("
4
、生产日期
\n");
printf("
5
、购买量
\n");
printf("
6
、库存量
\n");
printf("
7
、备注\n");
printf("
8、商品价格
\n");
printf("
请选择0-7数字键
\n");
3.3密码管理服务
通过输入密码,管理员可以进行商品信息修改、商品信息录入等操作。
printf("***************************************************\n");printf("\n");
printf(”★★★★★★★★请输入密码:
★★★★★★★★\n");
printf("\n");
printf("***************************************************\n");
3.4添加模块
系统管理员通过此模块可以在原有记录的基础上随意的添加其他商品信息,通过系统的提醒依次的录入所要记录的商品的所有信息,可以添加多个信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入。
printf("请输入第%£个商品的信息:
\n",i+1);
printf("商品名称:
");
scanf("%s",goods[i].name);
printf("\n");
printf("备注:
");
scanf("%s",goods[i].sex);
printf("\n");
printf("生产厂家(年-月-日):
");
scanf("%s",&goods[i].d1);
printf("\n");
printf("生产日期(年-月-日):
");
3.5删除模块
管理员通过这块模块可以对不需要的信息进行删除,使用方便,只需要输入所要删除的商品信息编号即可,系统会自动搜索,确定删除后此信息消失。
voidshanchu()//**删除函数*
{
inti,j,flag=0;
chars1[30];
charch;
printf("请输入要删除商品的商品编号:
\n");
scanf("%s",s1);
3.6修改模块
考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。
printf("\n");
printf("请输入要要修改的商品的商品编号:
\n");
scanf("%s",s1);
for(i=0;iif(strcmp(goods[i].num,s1)==0)/*比较字符串是否相等*/
j=i
printf("\n");
printf("1.修改商品名称\n");
printf("2.修改备注\n");
printf("3.修改生产厂家\n");
printf("4.修改生产日期\n");
printf("5.修改购买量\n");
printf("6.修改库存量\n");
printf("7.修改商品价格\n");
printf("8.退出本菜单\n");
printf("\n");
3.7查询模块
printf("
1、商品名称
\n");
printf("
2、商
品
编号
\n");
printf("
3
、生产厂家
\n");
printf("
4
、生产日期
\n");
printf("
5
、购买量
\n");
printf("
6
、库存量
\n");
printf("
7
、备注
\n");
printf("
8、商
品
价格
\n");
亦称检索模块。
如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息。
本模块可通过输入商品的一部分信息进行查找,之后系统会显示其所有的信息。
输入信息不存在则退出本次查询。
printf("
\n");
printf("
请选择0-7数字键
\n")
3.8保存模块
该模块的作用是保存管理员所存信息,以便用户查找。
voidsave()/*保存数据函数*/
{
FILE*fp;
inti;
char[20],ch;
printf("输入要保存的文件路径:
");
scanf("%s",&);if((fp=fopen("d:
\\","w"))==NULL){
printf("\n保存失败!
");
exit(0);
voidsave()/*保存数据函数*/
{
FILE*fp;
inti;
char[20],ch;
printf("输入要保存的文件路径:
");
scanf("%s",&);if((fp=fopen("d:
\\","w"))==NULL){
printf("\n保存失败!
");
exit(0);
3.9退出系统
当对系统操作完成以后,想退出此操作只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。
4调试与测试
经过系统的分折与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件和文件,建立一个可执行的系统。
然后需要对系统送行测试和排错,保证系统符合预定的要求。
获得一个无错的系统实现,调试的结果将确认所完成的系统可以真正使用。
测试方法上使用以界面为基础的测试。
以界面为基础的测试仅仅依靠软件与其运行环境之间的接口来选择和产生测试资料,而不管软件的具体需求和具体实现细节。
本次测试通过模拟一次完整的查询过程,测试范围包括用户的登录、密码管理,商品的发布、查询、删除等,并且对了系统后台的管理功能进行了测试。
测试结果显示系统基本能够实现预期的功能,能够提供用户对商品信息的实时发布和查询,提供了一个简单的网上二手商品交易管理系统。
但是部分功能仍旧需要加强或者改进,如商品的分类管理不够详尽,没有实现对订单的高效率管理,商品信息的内容发布不够规范等
图2系统主要功能界面
^C;\Frosra>FllesXlicrosoftTisual5tudloXlyrrojects\l\Del)uc\Uexe"
両品名
备注江
主严厂家f年-月-日〉噫血2
生严日期再—月—日”1血丄
购买呈:
力
库存星江
简吕价格:
丄
W0主菜单
图3商品信息添加界面
匚:
勺*C5\ProgiraflLFi.lers\Kicx"os,af±V±.sii3ilStudio\HyProjects\l\Debn^\1_exe
AAAAAAAA请输入密码:
★責★★★★★★
M-KM-KHKM-KM;KKKMM-JKMMMKM-KM-KM.-MM-MM-HM;K-KM-JCKMM-MK-H-M-M-H-KM-XM-MK-KM
1234
图4密码管理界面
5总结
这次的C语言程序设计实习有效的培养了学生独立思考的能力,提高了学生的动手操作水平。
在具体操作中,巩固了这学期所学的C语言的理论知识,这也是实习的基本目的。
通过实际操作,学会了C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
培养了学生独立思考问题的能力,提高了实际操作水平。
通过这次对二手商品交易管理系统的编译,我们了解了C语言程序设计的思想,我们的程序很实用,程序可以顺利的运行,并显示出主功能菜单,输入对应的数字,就可以执行相应的功能。
但它依然有许多不足之处,我所编译的程序容量有限,而且每次操作都要回到主界面,其次在数据存储功能方面有所不足,在这方面该系统还有待于进一步优化。
C语言是一种基础的计算机高级语言,具有功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,通过这次的C语言程序设计更加深刻的了解了C语言的好处和其可用性。
此次程序设计采用结构体数组和文件的方式,完成了对数据的录入、显示、排序、查找、删除、修改、插入、保存等功能
在这次课程设计中我也知道了自己的动手能力不强,有待于进一步提高。
在设计过程中不能够灵活得把书本上的知识与实际相结合,在调试过程中一次次出错,差点使我放弃,但是在同组同学的帮助、鼓励和配合下,最终我完成了此次课程设计的任务。
这也使我重新树立了自信心,相信自己可以做好,但是要扎实掌握理论知识,灵活运用。
总之,通过这次实习我认识到了自己许多不足之处,在今后的学习生活中,一定要勤于思考,扎实掌握理论知识,灵活运用课上所学。
6参考文献
[1]
2006
2005
谭浩强,张基温.C语言程序设计教程(第3版)[M]•北京:
高等教育出版社,
[2]吕凤煮.C语言基础教程一一基础理论与案例[M]•北京:
清华大学出版社,
[3]黄明、梁旭、万洪莉.C语言课程设计[M].北京:
电子工业出版社,2006
[4]郭宁,郑小玲•管理信息系统[M].北京:
人民邮电出版社,2006
⑸赵池龙,杨林,陈伟•实用软件工程[M]•北京:
电子工业出版社,2006
7附录
printf("\n");
printf(”★★★★★★★★请输入密码:
★★★★★★★★\n");
printf("\n");
gets(s2);
if(!
strcmp(s1,s2))
a=1;
else
{
a=0;
}
if(a==1)/*比较输入的密码str1和设定的密码str2,
输出"密码正确"。
*/printf("密码输入正确\n");
elseif(a==0)
printf("对不起密码输入错误,请从新输入\n");
}
while(a==0);
system("cls");
}
/***************************************************/
voidfun1()
{
inti=0;
charch;
intflag;
do/*输入商品信息函数*/
{
printf("请输入第%d个商品的信息:
\n",i+1);
printf("商品名称:
");
scanf("%s",&goods[i].name);
printf("\n");
printf("备注:
");
scanf("%s",&goods[i].sex);
printf("\n");
printf("生产厂家:
");
scanf("%s",&goods[i].d1);
printf("\n");
printf("生产日期:
");
scanf("%s",&goods[i].d2);
printf("\n");
printf("购买量:
");
scanf("%s",&goods[i].count);
printf("\n");
printf("库存量:
");
scanf("%s",&goods[i].cls);
printf("\n");
printf("商品编号:
");
scanf("%s",&goods[i].num);
printf("\n");
printf("商品价格");scanf("%s",&goods[i].price);
printf("\n");
i++;
printf("是否继续输入?
(Y/N)");ch=getch();
if(ch=='Y'||ch=='y')
flag=1;
if(ch=='N'||ch=='n')
flag=0;
}while(flag);
system("cls");
zonghanshu();
}
);
按商品名称查询*/
/******************************************************
voidshangpinmingcheng()/*
{
inti;
charName[30],ch;
do
{
printf("请输入您所要查询的商品名称:
scanf("%s",Name);
for(i=0;i{
if(strcmp(goods[i].name,Name)==0)
{
printf("商品名称");printf("%s\n",goods[i].name);printf("备注");printf("%s\n",goods[i].sex);printf("生产厂家");printf("%s\n",goods[i].d1);printf("生产日期");printf("%s\n",goods[i].d2);printf("购买量");printf("%s\n",goods[i].count);
printf("库存量");printf("%s\n",goods[i].cls);
printf("商品编号");printf("%s\n",goods[i].num);
printf("商品价格");printf("%s\n",goods[i].price);
break;
}
}if(strcmp(goods[i].name,Name)!
=0)
printf("对不起您所要查询的商品不存在。
");}while(strcmp(goods[i].name,Name)!
=0);
printf("按0返回主菜单\n");ch=getch();
if(ch=='0'){system("cls");zonghanshu();}
}
/************************************************************/
voidbianhao()/*按商品编号查询*/{
inti;
charnum[15],ch;
do
{
printf("请输入您所要查询的商品编号:
");scanf("%s",num);
for(i=0;i{
if(strcmp(goods[i].num,num)==0)
{
printf("商品名称");printf("%s\n",goods[i].name);printf("备注");printf("%s\n",goods[i].sex);
printf("生产厂家");printf("%s\n",goods[i].d1);
printf("生产日期");printf("%s\n",goods[i].d2);
printf("购买量");printf("%s\n",goods[i].count);
printf("库存量");printf("%s\n",goods[i].cls);
printf("商品编号");printf("%s\n",goods[i].num);
printf("商品价格");printf("%s\n",goods[i].price);break;
}
}if(strcmp(goods[i].num,num)!
=0)printf("对不起您所要查询的商品不存在。
");
}while(strcmp(goods[i].num,num)!
=0);
printf("按0返回主菜单\n");
ch=getch();
if(ch=='0'){system("cls");zonghanshu();}
}
/***************************************************************************
****/
voidshengchanchangjia()/*按生产厂家查询*/
{
inti;
chard3[10],ch;
do
{
printf("请输入您所要查询的生产厂家:
");
scanf("%s",d3);
for(i=0;i{if(strcmp(goods[i].d1,d3)==0){printf("商品名称");printf("%s\n",goods[i].name);printf("备注");printf("%s\n",goods[i].sex);printf("生产厂家");printf("%s\n",goods[i].d1);
printf("生产日期");printf("%s\n",goods[i].d2);printf("购买量");printf("%s\n",goods[i].count);
printf("库存量");printf("%s\n",goods[i].cls);
printf("商品编号");printf("%s\n",goods[i].num);printf("商品价格")