当前位置:首页 > 代码 > 正文

进销存系统的代码设计(进销存系统源码)

admin 发布:2022-12-19 21:25 135


本篇文章给大家谈谈进销存系统的代码设计,以及进销存系统源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

数据结构:产品进销存管理系统的源代码

p-totalquantity=p-totalquantity+n;

printf("查看添加后产品的各项输出:%s %d%d,%d %d %d,%d,%d\n",p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goods).day,

p-salequanlity,(p-salestime).year,(p-salestime).month,(p-salestime).day);

}

}

}

}//ProQuantity_add

void Visit(sqmountlinkL,char pkindname3[],char pname3[])

{//在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息

int i,k;

plinklist p;

for(i=0;iL.length;i++)

{

if(strcmp((L.kindelem[i]),pkindname.pkindname3)!=0)

continue

else

break;

}

if(iL.length)

{

for(p=L.kindelem[i].firstprodicy;p!=NULL;p=p-nextproducy)

{

k=strcmp(p-pname.pname3);

if(k==0)

break;

}

if(k!=0)

printf("此产品不存在:\n")

else

{

printf("输出带查询产品的各项信息:\n");

printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname,p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goodsdate).day,

p-salequantity,(p-salestime).year,(p-salestime).month,(p-salestime).day);

}

}

}//Visit

void DisplayList(sqmountlinkL)

{//显示各产品所属产品类,产品名称、产品总量,进货日期,销出数量,销售时间

int i;

plinklist p;

printf("产品类 产品 进货日期 销出数量 销售时间\n")

for(i=0;iL.length;i++)

{

if(!(L.kindelem[i],firstproduct))

printf("%s\n",(L.kindelem[i]).pkindname);

for(p=L.kindelem[i].firstproduct;p;p=p-nextproduct)

printf("%s %s %d %d,%d,%d %d %d,%d,%d \n",(L.kindelem[i]).pkindname,p-pname,p-totalquantity,(p-goodsdate).year,(P-goodsdate).month,(p-goodsdate).day,p-salesquantity,(p-salestime).year,(p-salestime).month,(p-salestime).day);

}

}//DisplayList

void DestoryMountList(sqmountlinkL)

{//销毁已存在的顺序表挂接链表L

int i;

kindlnode *p;

for(i=L.length;i=0;

{

p=(L.kindelem[i]);

if(*p).firstproduct==NULL)

free(p);

else

{

while((*p).firstproduct;q-nextproduct;q=q-nextp

如何利用C语言,oracle数据库开发出一个进销存系统?

这个涉及到数据结构和数据库知识。要在C语言中设计好数据的结构体,然后熟悉文件的读写操作。将文件保存成数据库可以识别的文件格式才行。或者直接在ORACLE里面建立数据源,然后阅读一些oracle的数据操纵语言,通过C的一些编译器来连接数据库,设定数据源。可以看看oracle与C语言的访问书籍。

c语言粮油进销存系统源代码

#includestdio.h

#includestdlib.h

#includestring.h

#includeconio.h

//日期结构体

typedef struct

{

int year;

int month;

int day;

}DATE;

//商品结构体

//定义链表

typedef struct Node

{

long num;

char name[20];

char kind[20];

DATE pro_date;

int save_day;

int shuliang;

float jinjia;

float shoujia;

DATE sale_date;

struct Node *next;

}Node,*LinkList;

//申请函数

void apply()

{

int i,flag=1;

FILE *fp;

char name[20],key[20];

flushall();

printf("用户名(不能为空):");

scanf("%s",name);

flushall();

printf("密码(不能为空):");

for(i=0;i=20;i++)

{

key[i]=getch();

if(key[i]==13)

{

key[i]='\0';

break;

}

printf("*");

}

fp=fopen("key.txt","w");

if(fp==NULL)

{

printf("the file can not open!");

flag=0;

exit(1);

}

fprintf(fp,"%s %s",name,key);

fclose(fp);

if(flag==1)

printf("\n申请成功,请登录!\n");

else

printf("\n申请失败,请重新申请!\n");

}

//登录函数

int load()

{

FILE *fp;

int i;

char name[20],key[20];

char name1[20],key1[20];

fp=fopen("key.txt","r");

fscanf(fp,"%s %s",name,key);

fclose(fp);

printf("用户名(不能为空):");

scanf("%s",name1);

flushall();

printf("密码(不能为空):");

for(i=0;i=20;i++)

{

key1[i]=getch();

if(key1[i]==13)

{

key1[i]='\0';

break;

}

printf("*");

}

printf("\n");

if(strcmp(name1,name)==0strcmp(key1,key)==0)

{ printf("登陆成功!\n\n");return 1; }

else

{ printf("用户名或密码错误;请重新登录!"); return 0;}

}

//密码保护系统

void key()

{

int choice,c;

do

{ printf("\n****************************申请登录系统********************************\n\n");

printf(" 1: 新用户注册; \n\n");

printf(" 2: 新用户登录; \n\n");

printf("请选择:");

scanf("%d",choice);

switch(choice)

{

case 1: apply(); break;

case 2: c=load();break;

}

}while(c!=1);

}

LinkList goods_input()

{

LinkList L;

Node *p1,*p2;

int i=1;

void file_write(Node *p);

int flag=1;

L=p2=(Node*)malloc(sizeof(Node));//为头节点分配存储空间

while(flag)

{

p1=(Node*)malloc(sizeof(Node));

printf("请输入第%d种商品的信息(商品号为0时,结束商品输入):\n\n",i++);

flushall();

printf("商品号:");

scanf("%ld",p1-num);

if(p1-num!=0)

{

flushall();

printf("名称:");

scanf("%s",p1-name);

flushall();

printf("类别:");

scanf("%s",p1-kind);

flushall();

printf("生产日期(年月日用空格隔开):");

scanf("%d%d%d",p1-pro_date.year,p1-pro_date.month,p1-pro_date.day);

flushall();

printf("保质期:");

scanf("%d",p1-save_day);

flushall();

printf("商品数量:");

scanf("%d",p1-shuliang);

flushall();

printf("进价:");

scanf("%f",p1-jinjia);

flushall();

printf("售价:");

scanf("%f",p1-shoujia);

flushall();

printf("销售日期(年月日用空格隔开):");

scanf("%d%d%d",p1-sale_date.year,p1-sale_date.month,p1-sale_date.day);

p2-next=p1;

p2=p1;

}

else

{

flag=0;

break;

}

}

p2-next=NULL;

file_write(L);

free(p1);

return(L);

}

//将商品信息写入文件

void file_write(Node *p)

{

FILE *fp;

char filename[50];int c;

printf("是否保存?(保存按1;不保存按0):");

scanf("%d",c);

if(c==1)

{ flushall();

printf("\n为了将你操作的信息保存下来,请输入要写入的文件的路经或文件:");

gets(filename);

fp=fopen(filename,"w");

if(fp==NULL)

{

printf("\n this file can not be open!");

exit(1);

}

p=p-next;

while(p!=NULL)

{

fprintf(fp,"%ld %s %s %d %d %d %d %d %f %f %d %d %d\n",p-num,p-name,p-kind,p-pro_date.year,p-pro_date.month,p-pro_date.day,p-save_day,p-shuliang,p-jinjia,p-shoujia,p-sale_date.year,p-sale_date.month,p-sale_date.day);

p=p-next;

}

fclose(fp);

printf("文件保存成功!");

}

}

//将文件中的信息读出的函数

LinkList file_read()

{

FILE *fp;

LinkList L;

Node *p1,*p2;

char filename[50];

int i,k=0,t=-2;

flushall();

printf("请输入要读取的文件的路径或文件名:");

gets(filename);

flushall();

printf("请输入商品的种类数:");

scanf("%d",i);

fp=fopen(filename,"r");

L=p2=(Node*)malloc(sizeof(Node));//为头节点分配存储空间

while(t!=EOFki)

{

p1=(Node*)malloc(sizeof(Node));

t=fscanf(fp,"%ld %s %s %d %d %d %d %d %f %f %d %d %d",p1-num,p1-name,p1-kind,p1-pro_date.year,p1-pro_date.month,p1-pro_date.day,p1-save_day,p1-shuliang,p1-jinjia,p1-shoujia,p1-sale_date.year,p1-sale_date.month,p1-sale_date.day);

p2-next=p1;

p2=p1;

k++;

}

p2-next=NULL;

fclose(fp);

return L;

}

//查找商品信息

void goods_find()

{

long snum;

int flag=0,t;

Node *p0,*p1;

p1=p0=file_read();

while(1)

{

flag=0;

printf("请输入你要查找的商品信息的商品号:");

scanf("%ld",snum);

while( p0-next!=NULL)

{

p0=p0-next;

if(p0-num==snum)

{

flag=1;

break;

}

}

if(flag==1)

{ printf("该商品的信息如下:\n\n");

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day);

}

else

printf("此商品号不存在,查找失败!\n");

p0=p1;

printf("结束查找按0,继续查找按1:");

scanf("%d",t);

if(t==0)

break;

}

}

//修改商品信息

void goods_change()

{

Node *p1,*p0,*p2;

int c,flag=0,t;

long snum;

p2=p0=file_read();

while(1)

{

flag=0;

p1=p0-next;

if(p1==NULL) flag=0;

printf("请输入你要修改的商品信息的商品号:");

scanf("%ld",snum);

while(p1!=NULL)

{

if(p1-num==snum)

{

flag=1;

break;

}

p1=p1-next;

}

if(flag==1)

{ 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(" 9:商品销售日期\n");

printf(" 请选择修改的内容(0~9):");

scanf("%d",c);

while(1)

{

if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==8||c==9)break;

else

{

printf("\n输入有误,请重新输入!\n清选择(0~9):");

scanf("%d",c);

if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==8||c==9) break;

}

}

switch(c)

{

case 1:

{

printf("\n输入修改后的商品号:");

scanf("%ld",p1-num);break;

}

case 2:

{

printf("输入修改后的商品名:");

scanf("%s",p1-name);break;

}

case 3:

{

printf("输入修改后的商品类别:");

scanf("%s",p1-kind);break;

}

case 4:

{

printf("输入修改后的商品生产日期(年月日之间用空格隔开):");

scanf("%d%d%d",p1-pro_date.year,p1-pro_date.month,p1-pro_date.day);break;

}

case 5:

{

printf("输入修改后的商品保质期:");

scanf("%d",p1-save_day);break;

}

case 6:

{

printf("输入修改后的商品数量:");

scanf("%d",p1-shuliang);break;

}

case 7:

{

printf("输入修改后的商品进价:");

scanf("%f",p1-jinjia);break;

}

case 8:

{

printf("输入修改后的商品售价:");

scanf("%f",p1-shoujia);break;

}

case 9:

{

printf("输入修改后的商品销售日期(年月日之间用空格隔开):");

scanf("%d%d%d",p1-sale_date.year,p1-sale_date.month,p1-sale_date.day);break;

}

}

printf("修改后的商品信息如下:\n\n");

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p1-num,p1-name,p1-kind,p1-pro_date.year,p1-pro_date.month,p1-pro_date.day,p1-save_day,p1-shuliang,p1-jinjia,p1-shoujia,p1-sale_date.year,p1-sale_date.month,p1-sale_date.day);

}

else

printf("此商品号不存在,修改失败!\n");

p0=p2;

printf("结束修改按0,继续修改按1:");

scanf("%d",t);

if(t==0)

break;

}

file_write(p0);

}

//插入商品

void goods_insert()

{

Node *p0,*p1,*p2,*p3;

int k,i,flag,t;

p0=file_read();

while(1)

{

p3=p2=p0;

k=0;

printf("请输入插入位置i的值(i的值小于商品的种类数):");

scanf("%d",i);

while(p2!=NULLki-1)

{

p2=p2-next;

k=k+1;

}

if(k!=i-1) flag=0;

p1=(Node*)malloc(sizeof(Node));

printf("请输入要插入的商品号 名称 类别 生产日期 保质期 数量 进价 售价 销售日期:\n");

scanf("%ld%s%s%d%d%d%d%d%f%f%d%d%d",p1-num,p1-name,p1-kind,p1-pro_date.year,p1-pro_date.month,p1-pro_date.day,p1-save_day,p1-shuliang,p1-jinjia,p1-shoujia,p1-sale_date.year,p1-sale_date.month,p1-sale_date.day);

p1-next=p2-next;

p2-next=p1;

flag=1;

if(flag==1)

printf("插入位置合理!\n");

else

printf("插入位置不合理!\n");

printf("结束插入按0,继续插入按1:");

scanf("%d",t);

if(t==0)

break;

}

p0=p0-next;

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

while(p0!=NULL)

{

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

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day);

p0=p0-next;

}

file_write(p3);

}

//删除商品信息

void goods_delete()

{

long num;

Node *p,*p0,*p1,*p2;

int flag=0,t;

p0=file_read();

while(1)

{

flag=0;

p1=p2=p0;

p=p1-next;

if(p==NULL) flag=0;

printf("请输入你要删除的商品的商品号:");

scanf("%ld",num);

while(p!=NULL)

{

if(p-num==num)

{

p1-next=p-next;

free(p);

flag=1;

break;

}

p1=p;

p=p-next;

flag=0;

}

if(flag==1)

printf("你已正确删除!\n");

else

printf("你输入的商品号不存在!\n");

printf("结束删除按0,继续删除按1:");

scanf("%d",t);

if(t==0)

break;

}

p0=p0-next;

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

while(p0!=NULL)

{

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

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day);

p0=p0-next;

}

file_write(p2);

}

//商品信息排序

void goods_rank()

{

Node *p,*q,*k,*L,t;

Node *p0;

int flag=0;

L=file_read();

p=L-next;

while(p-next)

{

k=p;

q=p-next;

while(q)

{

if((k-shuliang)(q-shuliang))

k=q;

q=q-next;

}

if(p!=k)

{

t=*p;

*p=*k;

*k=t;

t.next=p-next;

p-next=k-next;

k-next=t.next;

flag=1;

}

p=p-next;

}

if(flag=1)

printf("按商品数量从小到大排序成功!\n");

else

printf("按商品数量从小到大排序失败!\n");

p0=L;

p0=p0-next;

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

while(p0!=NULL)

{

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

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day);

p0=p0-next;

}

file_write(L);

}

//商品信息统计

void goods_tongji()

{

Node *p0,*p1;

int liang_sum=0;

float lirun_sum=0;

p0=p1=file_read();

p0=p0-next;

printf(" 商品信息统计表 \n\n");

printf("商品号\t名称\t类别\t生产日期\t保质期\t数量\t进价\t售价\t销售日期\n");

while(p0!=NULL)

{

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

printf("%ld\t%s\t%s\t%02d-%02d-%02d\t%d\t%d\t%0.2f\t%0.2f\t%02d-%02d-%02d",p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day);

p0=p0-next;

}

printf("\n");

p1=p1-next;

while(p1!=NULL)

{

liang_sum+=p1-shuliang;

// printf("商品数量:%d\n",p1-shuliang);

lirun_sum+=((p1-shoujia)-(p1-jinjia))*(p1-shuliang);

p1=p1-next;

}

printf("迄今,商店里还有%d件商品;\n总利润为%0.2f元;\n",liang_sum,lirun_sum);

if(liang_sum=200)

printf("注意:商店里的商品偏少,请适当进货!\n");

else if(liang_sum1100)

printf("注意:商店里积压的货物太多,请及时清仓!\n");

else

printf("\n商品总件数大于200件,小于1100件,无需进货,清仓!\n");

}

main()

{

int c;

key();

do

{

printf("请按任意键返回主菜单!");

getch();

system("cls");

printf("\n****************************欢迎进入商场店面管理系统****************************\n\n");

printf(" 1,录入商品信息;\n");

printf(" 2,查找商品信息;\n");

printf(" 3,修改商品信息;\n");

printf(" 4,插入商品信息;\n");

printf(" 5,删除商品信息;\n");

printf(" 6,商品信息排序;\n");

printf(" 7,统计商品信息;\n");

printf(" 0,退出系统;\n");

printf(" 请选择(0~7):");

scanf("%d",c);

while(1)

{

if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==0)break;

else

{

printf("\n输入有误,请重新输入!\n清选择(0~7):");

scanf("%d",c);

if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==0) break;

}

}

switch(c)

{

case 1:goods_input();break;

case 2:goods_find();break;

case 3:goods_change();break;

case 4:goods_insert();break;

case 5:goods_delete();break;

case 6:goods_rank();break;

case 7:goods_tongji();break;

case 0 :break;

}

}while(c!=0);

}

怎么用易语言做(进销存管理系统)里的(库存查看)这个功能呢!急需解决(库存查看)的代码!是易语言哦

如果做类似于进销存软件,数据库首先要设计好,数据表要设计合理,不同的数据表格,存放不同的数据内容,大概分5类:基本信息类、数据采集录入、数据运算存储、数据查询、临时表;

基本信息类表格,可以内置自定义数据,也可以由用户后期录入,这样信息进行统一录入管理,而数据录入中的一部分信息则引用了基本信息的内容,入打开采购单,里面的商品,取自于基本信息_商品类库,里面的金额数量等,则由用户录入,后保存提交到数据库。而商品库存表属于,数据运算存储类的表里,是由,上期库存+采购入库-销售出库=剩余库存形式 存放其中,这时候,你若需要查询某商品数量信息,那么就直接在,数据存储_库存状况表里遍历查询某信息。

遍历查询_子程序

定义 全局_查询文本  文本型变量

      全局_SQL         文本型变量

      全局_数据库句柄      文本型变量

      局部_产品名称

     局部_产品数量

产品名称 = 组合框_产品名称.内容

产品数量 = 编辑框_产品数量.内容

全局_SQL = “select 产品ID form 数据存储_库存状况表 where 产品名称='” + 组合框_产品名称.内容 + “'”

全局_数据库句柄 = 全局_数据库.查询 (全局_SQL)

.如果真 (全局_数据库.读 (全局_数据库句柄, “产品ID”) ≠ “”)

  产品ID = 全局_数据库.读 (全局_数据库句柄, “产品ID”)

.如果真结束

全局_句柄 = 窗口_录入新增.超级列表框1.插入表项 (, 产品ID, , , , )

窗口_录入新增.超级列表框1.置标题 (全局_句柄, 1, 产品名称)

窗口_录入新增.超级列表框1.置标题 (全局_句柄, 2, 产品数量)

如何用易语言做(进销存管理系统)里面的(库存查看)这个功能呢!库存查看的代码怎么写!是易语言的。

其实用什么代码来实现你要求功能并不是最重要,重要的是你要理解你要求的功能,库存查看,从会计角度来看,无非就是进仓数量减去出仓的数量,再扩大一点就是期初库存数量,再扩大一点就是某某仓库调到某某仓库。至于同一种规格的,就理解数据库的一些技术,比如关键字id,因为id是不可重复的,那不就可以实现同一种规格型号还剩下多少了。开发进销存,没有你想象的那么简单,是业务和技术双结合,但是业务为重,技术为辅,业务搞不清楚,技术再强没用的。反过来,业务非常清晰,技术弱一点反没什么关系,还可以开发一套高质量的进销存软件。我说的业务是指一个公司商贸的进、销、存的各个关系要非常清晰。

关于进销存系统的代码设计和进销存系统源码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/24963.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载