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

进销存管理系统代码(进销存管理系统简称)

admin 发布:2022-12-19 19:02 111


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

本文目录一览:

急求vb编写的进销存管理系统源代码?

基于你的题目vb编写的进销存管理系统,我们可以提供一份代码,适用于初学者的,

如有具体需求,可以我们联系,,告诉我你的问题和联系方式,有可能帮你,不过绝对救急,使用百度_Hi给我留言,

此回复对于所有需求和和来访者有效,

ES:\\538C9696ABE9740842400A434E962F73

求一个C语言课程设计题的源程序代码,题目是:商品进销存管理程序。

#includestdio.h

#include string.h

#define NULL 0

#define LEN sizeof(struct student)

struct date

{ int year;

int month;

int day;

};

struct xueke

{

int pingshi;

int shiyan;

int kaoshi;

float zchji;

};

struct student

{

int num;

char name[10];

char sex;

struct date birthday;

struct xueke xk[2];

struct student *next; /*指向下一个结构体数据类型*/

};

typedef struct student score; /*用score来代替类型struct student*/

int n,k; /*n.k为全局变量,n表示结点个数,k表示人数*/

score *r=NULL; /*定义一个全局变量指针*/

score *stu;

/***************************************菜单***********/

int caidan(k)

{

int i;

printf("\n\n\n\t\t\t\t考试成绩管理系统\n");

printf("\t\t\t作者:薛文波、魏文清、姚志浩\n");

for(i=1;i79;i++)

printf("*");

printf("\n");

printf("1.输入学生资料\t\t2.输出学生资料\t\t3.统计学生资料\n");

printf("4.删除学生资料\t\t5.查询学生资料\t\t6.排序学生资料\n");

printf("7.插入学生资料\t\t8.更新学生资料\t\t9.保存学生资料\n");

printf("0.退出!\n");

for(i=1;i79;i++)

printf("*");

printf("\n");

printf("请输入你所要操作的选项:");

scanf("%d",k);

printf("\n");

getchar();

return(k);

}

/**************************************************/

save(score *head)

{

score *q=head;

FILE *fp; /*调用fopen()函数打开磁盘文件*/

char wjlj[90];

printf("请输入文件的路经:");

scanf("%s",wjlj);

if((fp=fopen(wjlj,"w"))==NULL) /*为读、写建立一个新的二进制文件 */

{

printf("文件打开失败!\n");

return(0);

}

fprintf(fp,"*****************************************************************************\n");

fprintf(fp,"|学号|姓名|性别|生 日 |");

fprintf(fp,"C(平时.实验.考试.综合)|");

fprintf(fp,"高数(平时.实验.考试.综合)\n");

fprintf(fp,"*****************************************************************************\n");

while(q!=NULL)

{

fprintf(fp,"|%4d|%4s|%4c|%4d-%2d-%2d|",q-num,q-name,q-sex,q-birthday.year,q-birthday.month,q-birthday.day);

fprintf(fp,"%5d|%5d|%5d|%.1f|",q-xk[0].pingshi,q-xk[0].shiyan,q-xk[0].kaoshi,q-xk[0].zchji);

fprintf(fp,"%5d|%5d|%5d|%.1f\n",q-xk[1].pingshi,q-xk[1].shiyan,q-xk[1].kaoshi,q-xk[1].zchji);

q=q-next;

}

fclose(fp); /*关闭文件指针fP指向的文件*/

printf("文件已保存\n");

return(0);

}

/*******************************************输入模块*******/

score *creat(void)

{

score *head,*p1,*p2; /*定义一个头指针和两个工作点*/

int i;

head=NULL;

n=0;

p1=(struct student *)malloc(LEN); /*用P1开辟一个新单元*/

printf("1.请输入学生资料(输0退出):\n");

printf("a.请输入学生学号(学号应大于0):");

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

while(p1-num0)

{

printf("输入错误,请重新输入:"); /* 学号小于零报错*/

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

}

while(p1-num!=0)

{ printf("b.请输入学生的姓名:");

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

printf("请输入学生的性别(MF):");

scanf(" %c",p1-sex);

while(p1-sex!='M'p1-sex!='F') /*判断输入性别时的字母是否为M或F*/

{

printf("输入错误,请重新输入学生的性别:");

scanf(" %c",p1-sex);

}

printf("c.请输入学生的生日(年.月.日):");

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

printf("d.请输入学生的成绩!\n");

printf("1.请输入 C 成绩(平时,实验,考试):");

scanf(" %d,%d,%d",p1-xk[0].pingshi,p1-xk[0].shiyan,p1-xk[0].kaoshi);

p1-xk[0].zchji=p1-xk[0].pingshi*0.1+p1-xk[0].shiyan*0.2+p1-xk[0].kaoshi*0.7;

printf("2.请输入高数成绩(平时,实验,考试):");

scanf(" %d,%d,%d",p1-xk[1].pingshi,p1-xk[1].shiyan,p1-xk[1].kaoshi);

p1-xk[1].zchji=p1-xk[1].pingshi*0.1+p1-xk[1].shiyan*0.2+p1-xk[1].kaoshi*0.7;

n=n+1; /*结点个数加一*/

if(n==1) head=p2=p1; /*若为首结点,则头指针指向本结点*/

else p2-next=p1;

p2=p1; /*若不是首结点 则把本结点链接到尾部*/

p1=(struct student *)malloc(LEN);

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

printf("1.请输入学生资料(输0退出):\n");

printf("a.请输入学生的学号(学号应大于0):");

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

while(p1-num0) /*判断输入的学号是否小于0*/

{

printf("输入错误,输入错误请重新输入学号:");

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

}

}

p2-next=NULL; /* 最后结点不指向任何地址*/

free(p1); /*释放结点占用空间*/

return(head);

}

/*****************************************输出模块********/

void print(score *head)

{

score *q=head;

printf("\n输出%d个学生的资料:\n",n);

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

printf("|学号|姓名|性别|生 日 |");

printf("C(平时.实验.考试.综合)|");

printf("高数(平时.实验.考试.综合)\n");

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

if(head==NULL)

{

printf("\n没有这个学生的资料!\n");

return;

}

while(q!=NULL)

{

printf("|%4d|%4s|%4c|%4d-%2d-%2d|",q-num,q-name,q-sex,q-birthday.year,q-birthday.month,q-birthday.day);

printf("%5d|%5d|%5d|%.1f|",q-xk[0].pingshi,q-xk[0].shiyan,q-xk[0].kaoshi,q-xk[0].zchji);

printf("%5d|%5d|%5d|%.1f \n",q-xk[1].pingshi,q-xk[1].shiyan,q-xk[1].kaoshi,q-xk[1].zchji);

q=q-next; /*q指针依次向下扫描*/

}

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

}

/*********************************************统计模块*****/

score *tongji(score *head)

{

score *q=head,*max,*min;

int i,k1[2]={0,0},k2[2]={0,0},k3[2]={0,0}; /*将人数统计值的初始值赋为0*/

float czong=0,gzong=0,caver,gaver;

q=head; /*工作点首先指向头指针*/

max=q;

min=q;

while(q!=NULL)

{

czong+=q-xk[0].zchji; /*P1指向学生总成绩*/

gzong+=q-xk[1].zchji;

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

{

if(q-xk[i].zchjimax-xk[i].zchji)

max=q; /*将最大值的地址赋给P1*/

if(q-xk[i].zchjimin-xk[i].zchji)

min=q;

if(q-xk[i].zchji=80) k1[i]++; /*k1[i]++为人数的统计*/

else if(q-xk[i].zchji=60) k2[i]++;

else k3[i]++; /*分段成绩的人数统计*/

}

q=q-next;

}

caver=czong/n; /*计算C的平均成绩*/

gaver=gzong/n; /*计算math平均成绩*/

printf("C 语言成绩的总分为:%.2f C 语言成绩的平均分为:%.2f\n",czong,caver);

printf("C 语言成绩的最高分为:%.2f C 语言成绩的最低分为:%.2f\n",max-xk[0].zchji,min-xk[0].zchji);

printf("C 语言成绩优秀的人数为:%d\n",k1[0]);

printf("C 语言成绩良好的成绩为:%d\n",k2[0]);

printf("C 语言成绩及格的人数为:%d\n",k1[0]+k2[0]);

printf("C 语言成绩不及格的人数为:%d\n",k3[0]);

printf("高数成绩的总分为:%.2f 高数成绩的平均分为:%.2f\n",gzong,gaver);

printf("高数成绩的最高分为:%.2f 高数成绩的最低分为:%.2f\n",max-xk[1].zchji,min-xk[1].zchji);

printf("高数成绩优秀的人数为:%d\n",k1[1]);

printf("高数成绩良好的人数为:%d\n",k2[1]);

printf("高数成绩及格的人数为:%d\n",k1[1]+k2[1]);

printf("高数成绩不及格的人数为:%d\n",k3[1]);

return(head);

}

/*********************************************按学号查询模块*****/

void chaxun2(score *head)

{

score *q=head;

int sss=0;

char name[10];

printf("请输入要查询的学生姓名:");

scanf("%s",name);

while(q!=NULL)

{

if(strcmp(name,q-name)==0) /*通过字符串的比较按姓名查找*/

{

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

printf("|学号|姓名|性别|生 日 |");

printf("C(平时.实验.考试.综合)|");

printf("高数(平时.实验.考试.综合)\n");

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

printf("|%4d|%4s|%4c|%4d-%2d-%2d|",q-num,q-name,q-sex,q-birthday.year,q-birthday.month,q-birthday.day);

printf("%5d|%5d|%5d|%.1f|",q-xk[0].pingshi,q-xk[0].shiyan,q-xk[0].kaoshi,q-xk[0].zchji);

printf("%5d|%5d|%5d|%.1f\n",q-xk[1].pingshi,q-xk[1].shiyan,q-xk[1].kaoshi,q-xk[1].zchji);

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

sss=3; /*定义变量不等于初始值则退出循环体*/

}

q=q-next;

}

if(sss==0) printf("没有这个学生的资料!\n\n");

}

/*******************************************按学号查询*******/

void chaxun1(score *head)

{

score *q=head;

int num,sss=0;

printf("请输入要查询的学生学号:");

scanf("%d",num);

while(q!=NULL)

{

if(num==q-num)

{

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

printf("|学号|姓名|性别|生 日 |");

printf("C(平时.实验.考试.综合)|");

printf("高数(平时.实验.考试.综合)\n");

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

printf("|%4d|%4s|%4c|%4d-%2d-%2d|",q-num,q-name,q-sex,q-birthday.year,q-birthday.month,q-birthday.day);

printf("%5d|%5d|%5d|%.1f|",q-xk[0].pingshi,q-xk[0].shiyan,q-xk[0].kaoshi,q-xk[0].zchji);

printf("%5d|%5d|%5d|%.1f\n",q-xk[1].pingshi,q-xk[1].shiyan,q-xk[1].kaoshi,q-xk[1].zchji);

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

sss=3;

}

q=q-next;

}

if(sss==0) printf("没有这个学生的资料!\n\n");

}

/********************************************查询二级菜单******/

chaxun_cd()

{

int m=0,i;

while(m==0)

{

printf("查询学生的资料\n");

printf("1.按学号查询\n");

printf("2.按姓名查询\n");

printf("请选择你所要操作的选项(按0退出):");

scanf("%d",i);

switch(i)

{

case 1:chaxun1(r);break; /*break表示跳出循环结构结束循环退出包含break语句的那层循环体*/

case 2:chaxun2(r);break;

case 0:m=1;break;

default:printf("错误,重新选择:");break;

}

}

}

/***************************************按学号删除***********/

score *del1(score *head)

{

score *p1,*p2;

int num;

printf("请输入要删除学生的学号:");

scanf("%d",num);

if(head==NULL)

{

printf("没有这个学生的资料!\n\n");

return(head);

}

p2=p1=head;

while(num!=p1-nump1-next!=NULL)

{

p2=p1;

p1=p1-next;

}

if(num==p1-num)

{

if(head==p1)

head=head-next;

else

p2-next=p1-next;

free(p1);

p1=p2;

printf("第%d 学生的资料已删除完毕!\n\n",num);

}

else printf("没有这个学生的资料!\n\n");

return(head);

}

/**************************************************/

score *del2(score *head)

{

score *p1,*p2;

char name[10];

printf("请输入要删除学生的姓名:");

scanf("%s",name);

if(head==NULL)

{

printf("没有这个学生的资料!\n\n");

return(head);

}

p2=p1=head;

while(strcmp(name,p1-name)!=0p1-next!=NULL)

{

p2=p1;

p1=p1-next;

}

if(strcmp(name,p1-name)==0)

{

if(head==p1)

head=head-next;

else

p2-next=p1-next;

free(p1);

p1=p2;

printf("名字叫%s的学生的资料已被删除!\n\n",name);

}

else printf("没有这个学生的资料!\n\n");

return(head);

}

/*************************************************/

del_cd()

{

int m=0,i;

while(m==0)

{

printf("删除学生的资料\n");

printf("1.按学号删除\n");

printf("2.按姓名删除\n");

printf("3.查看删除结果\n");

printf("请选择你所要操作的选项(按0退出):");

scanf("%d",i);

switch(i)

{

case 1:r=del1(r);break;

case 2:r=del2(r);break;

case 3:print(r);break;

case 0:m=1;break;

default:printf("错误,重新选择:");break;

}

}

}

/*****************************************按学号排序********/

score *paixu2(score *head)

{

score *p1,*p2,*k,h;

int i;

if(head==NULL)

{

printf("没有任何学生的资料!");

return(head);

}

p1=head;

p2=head-next;

k=p1;

for(i=0;in-1;i++)

{

while(p2!=NULL)

{

if(k-nump2-num)

k=p2;

p2=p2-next;

}

if(k!=p1)

{

h=*k;

*k=*p1;

*p1=h;

h.next=k-next;

k-next=p1-next;

p1-next=h.next;

}

p1=p1-next;

p2=p1-next;

k=p1;

}

printf("排序成功!\n\n");

return(head);

}

/*************************************************/

score *paixu1(score *head)

{

score *p1,*p2,*k,h;

int i;

if(head==NULL)

{

printf("没有任何学生的资料!");

return(head);

}

p1=head;

p2=head-next;

k=p1;

for(i=0;in-1;i++)

{

while(p2!=NULL)

{

if(k-xk[0].zchjip2-xk[0].zchji)

k=p2;

p2=p2-next;

}

if(k!=p1)

{

h=*k;

*k=*p1;

*p1=h;

h.next=k-next;

k-next=p1-next;

p1-next=h.next;

}

p1=p1-next;

p2=p1-next;

k=p1;

}

printf("排序成功!\n\n");

return(head);

}

/*************************************************/

paixu_cd()

{

int m=0,i;

while(m==0)

{

printf("对学生的资料进行排序\n");

printf("1.按C语言成绩排序\n");

printf("2.按学号排序\n");

printf("请选择你所要操作的选项(按0退出):");

scanf("%d",i);

switch(i)

{

case 1:r=paixu1(r);break;

case 2:r=paixu2(r);break;

case 0:m=1;break;

default:printf("错误,重新选择:");break;

}

}

}

/*******************************************按C成绩插入******/

score *charu1(score *head,score *stu)

{

score *p1,*p2;

int i;

p1=head;

r=paixu1(r);

stu=(score*)malloc(LEN); /*开辟一个新单元,用于保存要插入的信息*/

printf("请输入要增加的学生资料:\n");

printf("请输入要增加的学生学号:");

scanf("%d",stu-num);

while(stu-num0) /*判断学号是否小于0*/

{

printf("输入错误,输入错误请重新输入学号:");

scanf("%d",stu-num);

}

printf("b.请输入要增加的学生姓名:");

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

printf("请输入要增加的学生性别(F或M):");

scanf(" %c",stu-sex);

while(stu-sex!='M'stu-sex!='F')

{

printf("输入错误,输入错误请重新输入性别:");

scanf(" %c",stu-sex);

}

printf("c.请输入要增加的学生生日(年.月.日):");

scanf(" %d.%d.%d",stu-birthday.year,stu-birthday.month,stu-birthday.day);

printf("d.请输入要增加的学生成绩!\n");

printf("1.请输入要增加的学生C语言成绩(平时,实验,考试):");

scanf(" %d,%d,%d",stu-xk[0].pingshi,stu-xk[0].shiyan,stu-xk[0].kaoshi);

stu-xk[0].zchji=stu-xk[0].pingshi*0.1+stu-xk[0].shiyan*0.2+stu-xk[0].kaoshi*0.7;

printf("2.请输入要增加的学生高数成绩(平时,实验,考试):");

scanf(" %d,%d,%d",stu-xk[1].pingshi,stu-xk[1].shiyan,stu-xk[1].kaoshi);

stu-xk[1].zchji=stu-xk[1].pingshi*0.1+stu-xk[1].shiyan*0.2+stu-xk[1].kaoshi*0.7;

if(head==NULL) /*判断头指针是否为空*/

{

head=stu;

stu-next=NULL; /*如果为空,直接插入头上*/

n++; /*人数加一*/

return(head);

}

while(p1-xk[0].zchjistu-xk[0].zchjip1-next!=NULL) /*根据C成绩确定要插入的位置*/

{

p2=p1;

p1=p1-next;

}

if(stu-xk[0].zchji=p1-xk[0].zchji)

{

if(p1==head) /*如果p1指向头指针 */

{

head=stu;

stu-next=p1;

n++;

}

else

{

stu-next=p2-next;

p2-next=stu;

n++;

}

}

else

{

p1-next=stu;

stu-next=NULL;

n++;

}

printf("增加学生资料成功!\n");

return(head);

}

/*********************************************按学号插入****/

score *charu2(score *head,score *stu)

{

score *p1,*p2;

int i=0;

p1=head;

r=paixu2(r); /*调用排序函数*/

stu=(score*)malloc(LEN); /*开辟一个新单元,用于保存要插入的信息*/

printf("请输入要增加的学生资料:\n");

printf("请输入要增加的学生学号:");

scanf("%d",stu-num);

while(stu-num0)

{

printf("输入错误,输入错误请重新输入学号:");

scanf("%d",stu-num);

}

printf("b.请输入要增加的学生姓名:");

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

printf("请输入要增加的学生性别(F或M):");

scanf(" %c",stu-sex);

while(stu-sex!='M'stu-sex!='F')

{

printf("输入错误,输入错误请重新输入性别:");

scanf(" %c",stu-sex);

}

printf("c.请输入要增加的学生生日(年.月.日):");

scanf(" %d.%d.%d",stu-birthday.year,stu-birthday.month,stu-birthday.day);

printf("d.请输入要增加的学生的成绩!\n");

printf("1.请输入要增加的学生C语言成绩(平时,实验,考试):");

scanf(" %d,%d,%d",stu-xk[0].pingshi,stu-xk[0].shiyan,stu-xk[0].kaoshi);

stu-xk[0].zchji=stu-xk[0].pingshi*0.1+stu-xk[0].shiyan*0.2+stu-xk[0].kaoshi*0.7;

printf("2.请输入要增加的学生高数的成绩(平时,实验,考试):");

scanf(" %d,%d,%d",stu-xk[1].pingshi,stu-xk[1].shiyan,stu-xk[1].kaoshi);

stu-xk[1].zchji=stu-xk[1].pingshi*0.1+stu-xk[1].shiyan*0.2+stu-xk[1].kaoshi*0.7;

if(head==NULL) /*判断头指针是否为空*/

{

head=stu;

stu-next=NULL;

n++;

return(head);

}

while(p1-numstu-nump1-next!=NULL) /*根据学号确定要插入的位置*/

{

p2=p1;

p1=p1-next;

}

if(stu-num=p1-num)

{

if(p1==head)

{

head=stu;

stu-next=p1;

n++;

}

else

{

stu-next=p2-next;

p2-next=stu;

n++;

}

}

else

{

p1-next=stu;

stu-next=NULL;

n++;

}

printf("增加学生资料成功!\n");

printf("\n");

return(head); /*返回头指针*/

}

/*******************************************插入的二级菜单******/

charu_cd()

{

int m=0,i;

while(m==0)

{

printf("增加学生的人数\n");

printf("\n1.按C语言成绩增加\n");

printf("2.按学号增加\n");

printf("请选择你所要操作的选项(按0退出):");

scanf("%d",i);

switch(i)

{

case 1:r=charu1(r,stu);break;

case 2:r=charu2(r,stu);break;

case 0:m=1;break;

default:printf("错误,重新选择:");break;

}

}

}

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

睿奕进销存管理软件是面向中小型商贸企业进销存一体化的应用模式,帮助中小型商贸企业实现简单信息管理,是进、销、存、财务一体化的管理系统,它率先应用了新一代的B/S结构,巧妙地结合了销售管理,采购管理,财务管理,货品管理等多种功能于一体,它以浏览器为软件界面,图形化的导航式操作,快速完成日常贸易管理中的进货、出货、存货等操作,并结合准确、高效的财务统计和业务分析功能,通过交互式的数据中心与一目了然的统计报表,使企业决策者最关心的往来款项、销售状况、库存数量等,能够即点即现。

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

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

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


取消回复欢迎 发表评论:

分享到

温馨提示

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

联系我们反馈

立即下载