C语言课程设计《商品销售管理系统》
- 格式:doc
- 大小:184.05 KB
- 文档页数:18
商品销售管理系统
目录
一、需求分析 (2)
二、概要设计 (2)
三、详细设计 (4)
四、调试分析 (14)
五、用户手册 (14)
六、测试数据 (15)
七、附录 (18)
—1—
一、需求分析
商品销售管理程序
商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD 的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。
记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。
(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C 输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)
二、概要设计
(一)按系统分析的功能要求将系统划分为以下几个主要功能模块:
1、文件管理
文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。
2、进出货管理
(1)商品进货: 输入数据后商品信息能自动更新进行添加
(2)商品销售: 输入数据后商品信息能自动更新进行减少
3、商品数据管理
(1)增加/删除商品: 添加或删除某条商品的信息
(2)修改商品信息: 对某条商品的信息进行修改
4、浏览商品信息管理
(1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询
(2)排序商品信息: 可按商品编号、名称、类别分别排排序
(3)浏览商品信息:可浏览输入、查询或排序后的数据。
(二)本程序结构
(1)结构体设计
struct goods
{ long int num;
char name[20];
char sort[20];
long int count;
long int price;
}goods[200];
(2)各功能函数设计:
void input() /*功能1:输入商品信息*/
—2—
void sequence() /*功能2:排序商品信息*/
void purchase() /*功能3:进货商品信息*/
void sell() /*功能4:销售商品信息*/
void edit() /*功能5:添加或删除商品信息*/
void correct() /*功能6:修改商品信息*/
void search() /*功能7:查询商品信息*/
void scan() /*功能8:浏览商品信息*/
void reserve() /*功能9:保存文件*/
void quit() /*退出系统*/
(3)主函数设计:
void main ()
{
void input();
void sequence();
void purchase();
void sell();
void edit();
void correct();
void search();
void scan();
void reserve();
lp: for(i=0;i<1;i++)
scanf("%d",&k);
system("cls");
switch(k) /*用switch语句实现功能选择*/
system("cls"); /*清屏*/
goto lp; /*返回主界面*/
}
三、详细设计
(1)各功能函数:
void input() /*功能1:输入商品信息*/
{
printf("\n 请输入需要建立新库存的商品种类数量:");
scanf("%d",&n);
system("cls");
printf("\n …………………………………………………………………………………………………\n");
for(i=0;i { printf("\n\t*请输入商品的编号:"); scanf("%ld",&goods[i].num); printf("\n\t 请输入商品的名称:"); —3— scanf("%s",goods[i].name); printf("\n\t 请输入商品的种类:"); scanf("%s",goods[i].sort); printf("\n\t 请输入商品的数量:"); scanf("%d",&goods[i].count); printf("\n\t 请输入商品的单价:"); scanf("%d",&goods[i].price); printf("\n …………………………………………………………………………………………………\n"); } printf("\tPlease press any key to continue:"); getch(); return; /*返回主界面*/ } void sequence() /*功能2:排序商品信息*/ { long temp; char p1[30],p2[30]; for(k=0;k for(i=0;i if(goods[i].num>goods[i+1].num) /*按编号由小到大排序*/ { temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); } printf("--------------------------------------------------------------------------------\n"); printf("\n\t\t按商品编号排序后的商品信息\n\n"); printf("\t商品编号商品名称商品类别商品数量 商品单价\n"); /*输出排序后商品信息*/ for(i=0;i { printf("\t %5ld %5s %5s %5ld %5ld\n",go ods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price) ;