C语言进销存管理系统源程序Word文档格式.docx
- 文档编号:13889728
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:11
- 大小:21.74KB
C语言进销存管理系统源程序Word文档格式.docx
《C语言进销存管理系统源程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言进销存管理系统源程序Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
2•问题分析:
先定义合适的结构体,存储物品信息。
在程序中建立一个文件用于存储,
凡进行了进货操作的物品在文件中都有记录,进货时由于尚不知售货时间与售价、利润,故此三项(实际为四项,时间分为年、月两项)暂先赋值为零,待进行售货操作时再输入各数值,其中利润由系统自动计算得出并保存。
账目清单分为已售、仓储两部分,由此可看到所有购进、卖出的货物信息。
月利润查询可查得所输入年月的各类所售货物数量与利润。
功能模块
四•源程序
#include<
stdio.h>
stdlib.h>
#includevconio.h>
#include<
dos.h>
string.h>
#defineLENsizeof(structobject)
#defineFORMAT1"
\t%-8d%-11s%-9.2f%-6d%-4d\n"
#defineDATA1
(p1+i)->
num,(p1+i)->
name,(p1+i)->
inprice,(p1+i)->
inyear,(p1+i)->
inmonth
#defineFORMAT2"
\t%-8d%-11s%-9.2f%-9.2f%-7.2f%-6d%-4d%-6d%-4d\n"
#defineDATA2
outprice,(p1+i)->
profit,(p1+i)->
inyear,(p1+i)->
inmonth,(p1+i)->
outyear,(p1+i)->
outmonth
voidin();
voidshow();
voidmodify();
voidsell();
voidmenu();
voidmonthearn();
structobject
{
intnum,inyear,inmonth,outyear,outmonth;
charname[10];
floatinprice,outprice,profit;
}obj[100];
structobject*p1=obj;
main()
intn;
menu();
while(n)
switch(n)
case1:
in();
break;
case2:
sell();
case3:
modify();
case4:
show();
case5:
monthearn();
default:
}
getch();
scanf("
%d"
&
n);
voidmenu()//菜单
system("
cls"
);
printf("
\n\n\n\n\n\n"
***************
菜单
**************
\n"
\t\t0.退出\n”);
printf("
\t\t1.进货操作\n"
\t\t
3•修改信息\n"
4.账目清单\n"
5月利润查询\n"
\t\t********************************\n"
)・
voidin()//进货操作
inti,m=0;
charch[2];
FILE*p;
if((p=fopen("
data"
"
a+"
))==NULL)
打不开文件!
\n"
//打开文件
return;
while(!
feof(p))
if(fread(&
obj[m],LEN,1,p)==1)
m++;
//将数据读入内存
fclose(p);
if(m==0)
无记录!
请确认是否进货?
(y/n)"
seanf("
%s"
ch);
while(strcmp(ch,"
y"
)==0||strcmp(ch,"
)==0)
请输入设备编号:
"
&
obj[m].num);
for(i=0;
i<
m;
i++)
if((p1+i)->
num==obj[m].num)
此号已存在,按任意键继续!
return;
设备名称:
obj[m].name);
%f"
obj[m].inprice);
进货年、月:
%d%d"
obj[m].inyear,&
obj[m].inmonth);
obj[m].outprice=0;
obj[m].outyear=0;
(p1+m)->
outmonth=0;
fopen("
w"
//打开文件用以向磁盘导入数据
=m;
fwrite(&
obj[i],LEN,1,p);
if(fwrite(&
obj[m],LEN,1,p)!
=1)
无法保存!
else
%s保存成功!
obj[m].name);
继续?
保存完毕!
voidsell()//售货操作
intsnum,i,j,m=0;
if((p二fopen("
rb"
//打开文件
//读入
无法打开文件!
return;
obj[m],LEN,1,p)==1)m++;
无记录!
return;
}scanf("
snum);
if(snum==(p1+i)->
num)
if(i<
m)//判断1
查得此物品,确认出售?
(y/n)”);
if(strcmp(ch,"
)==O||strcmp(ch,"
Y"
)==0)//判断2
请输入售价:
outprice);
profit=((p1+i)->
outprice-(p1+i)->
inprice);
\n请输入售出年、月:
,&
outyear,&
outmonth);
if((p=fopen("
wb+"
打不开文件!
\n”);
for(j=0;
j<
j++)
obj[j],LEN,1,p)!
=1)printf("
\n”);
getch();
售货成功!
fclose(p);
//判断2
无此物品!
〃判断1
voidmodify()//修改信息
inti,j,m=O,snum;
if((p二fopen("
{printf("
请输入欲修改信息的货物编号:
m)
\n名称:
”);
(p1+i)->
name);
\n进价:
inpriee);
\n进货年、月:
inyear,&
inmonth);
elsereturn;
voidshow()//账目清单
打不开!
进货时
已售\n\t编号名称进价售价利润
间出售时间\t\n"
profit!
=0)
printf(FORMAT2,DATA2);
仓储\n"
profit==0)
printf(F0RMAT1,DATA1);
}voidmonthearn()〃月利润
intm=0,s=0,a=0,b=0,c=0,d=0,y,z;
floatsum1=0,sum2=0,sum3=0,su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 进销存 管理 系统 源程序