c语言进销存管理系统源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计
综合性程序设计报告之源程序
设计题目:电脑公司进销存管理系统
专业:冶金工程
学号:8090507
姓名:刘欢
成绩: ____________
设计时间: 2010年 11月 03 日
二.开题说明
1.问题概要
该系统用于处理某电脑公司的设备买入,卖出,仓储等设备账目。在买入设备时,记录设备的数量型号(如computer,keyboard)和价钱,并在库房记录中添加设备,在卖出设备时从库房中减掉该设备,并根据卖出的数量型号和价钱得出每一笔买出的利润。每个一段时间盘点库房和账目计算出利润等数据。
基本要求:
有货物管理(设备的添加,删除,修改)
有账目管理
可以查询账目清单
可以计算年度或月份或季度利润。
2.问题分析:
先定义合适的结构体,存储物品信息。在程序中建立一个文件用于存储,凡进行了进货操作的物品在文件中都有记录,进货时由于尚不知售货时间与售价、利润,故此三项(实际为四项,时间分为年、月两项)暂先赋值为零,待进行售货操作时再输入各数值,其中利润由系统自动计算得出并保存。账目清单分为已售、仓储两部分,由此可看到所有购进、卖出的货物信息。月利润查询可查得所输入年月的各类所售货物数量与利润。
三.功能模块
四.源程序
#include <>
#include <>
#include <>
#include <>
#include <>
#define LEN sizeof(struct object)
#define FORMAT1 "\t%-8d%-11s%%-6d%-4d\n"
#define DATA1 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->inyear,(p1+i)->inm onth
#define FORMAT2 "\t%-8d%-11s%%%%-6d%-4d%-6d%-4d\n"
#define DATA2 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->outprice,(p1+i)->p rofit,(p1+i)->inyear,(p1+i)->inmonth,(p1+i)->outyear,(p1+i)->outmon
th
void in();
void show();
void modify();
void sell();
void menu();
void monthearn();
struct object
{
int num,inyear,inmonth,outyear,outmonth;
char name[10];
float inprice,outprice,profit;
} obj[100];
struct object *p1=obj;
main()
{
int n;
menu();
while(n)
{
switch(n)
{
case 1: in();break;
case 2:sell();break;
case 3:modify();break;
case 4:show();break;
case 5:monthearn();break;
default:break;
}
getch();
menu();
scanf("%d",&n);
}
}
void menu()出\n");
printf("\t\t 1.进货操作\n");
printf("\t\t 2.售货操作\n");
printf("\t\t 3.修改信息\n");
printf("\t\t 4.账目清单\n");
printf("\t\t 5.月利润查询\n");
printf("\t\t********************************\n");
}
void in() um);
for(i=0;i if((p1+i)->num==obj[m].num) { printf("此号已存在,按任意键继续!"); getch(); fclose(p); return; } printf("设备名称:"); scanf("%s",obj[m].name); printf("进价:"); scanf("%f",&obj[m].inprice); printf("进货年、月:"); scanf("%d%d",&obj[m].inyear,&obj[m].inmonth); obj[m].outprice=0;obj[m].outyear=0;(p1+m)->outmonth=0; fopen("data","w"); ame); m++; } printf("继续(y/n)"); scanf("%s",ch); } fclose(p); printf("保存完毕!\n"); } void sell() ame,"zhuji")==0)&&(y==obj[s].outyear)&&(z==obj[s].outmonth)) { a++; sum1+=obj[s].profit; } if((strcmp(obj[s].name,"xianshiqi")==0)&&(y==obj[s].outyear)&&(z ==obj[s].outmonth)) { b++; sum2+=obj[s].profit; } if((strcmp(obj[s].name,"jianpan")==0)&&(y==obj[s].outyear)&&(z==obj [s].outmonth)) {