C语言进销存管理系统_源程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课程设计

综合性程序设计报告之源程序

设计题目:电脑公司进销存管理系统

专业:冶金工程

学号:*******

*****

成绩: ____________

设计时间: 2010年11月03 日

二.开题说明

1.问题概要

该系统用于处理某电脑公司的设备买入,卖出,仓储等设备账目。在买入设备时,记录设备的数量型号(如computer,keyboard)和价钱,并在库房记录中添加设备,在卖出设备时从库房中减掉该设备,并根据卖出的数量型号和价钱得出每一笔买出的利润。每个一段时间盘点库房和账目计算出利润等数据。

基本要求:

有货物管理(设备的添加,删除,修改)

有账目管理

可以查询账目清单

可以计算年度或月份或季度利润。

2.问题分析:

先定义合适的结构体,存储物品信息。在程序中建立一个文件用于存储,凡进行了进货操作的物品在文件中都有记录,进货时由于尚不知售货时间与售价、利润,故此三项(实际为四项,时间分为年、月两项)暂先赋值为零,待进行售货操作时再输入各数值,其中利润由系统自动计算得出并保存。账目清单分为已售、仓储两部分,由此可看到所有购进、卖出的货物信息。月利润查询可查得所输入年月的各类所售货物数量与利润。

三.功能模块

四.源程序

#include

#include

#include

#include

#include

#define LEN sizeof(struct object)

#define FORMAT1 "\t%-8d%-11s%-9.2f%-6d%-4d\n"

#define DATA1 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->inyear,(p1+i)->inmonth

#define FORMAT2 "\t%-8d%-11s%-9.2f%-9.2f%-7.2f%-6d%-4d%-6d%-4d\n"

#define DATA2 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->outprice,(p1+i)->profit,(p1+i)->inyear,(p1+i)->inmonth,(p1+i)->outyear,(p1+i)->outmonth

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()//菜单

{

system("cls");

printf("\n\n\n\n\n\n");

printf("\t\t**************菜单**************\n");

printf("\t\t 0.退出\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() //进货操作

{

int i,m=0;

char ch[2];

FILE *p;

if( (p=fopen("data","a+"))==NULL)

{

printf("打不开文件!\n"); //打开文件

return;

}

while(!feof(p))

{

if(fread(&obj[m],LEN,1,p)==1)

m++; //将数据读入内存}

fclose(p);

if(m==0)

printf("无记录!\n");

printf("请确认是否进货?(y/n)");

scanf("%s",ch);

while(strcmp(ch,"y")==0||strcmp(ch,"y")==0)

{

printf("请输入设备编号:");

scanf("%d",&obj[m].num);

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);

相关文档
最新文档