进销存网站设计源代码(进销存前端模板html5)
admin 发布:2023-05-12 15:30 128
本篇文章给大家谈谈进销存网站设计源代码,以及进销存前端模板html5对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、c语言粮油进销存系统源代码
- 2、寻一个ASP的在线显示进销存的简单系统源码
- 3、求一个C语言课程设计题的源程序代码,题目是:商品进销存管理程序。
- 4、哪里有进销存管理软件源代码购买?
- 5、亲戚公司想搞电子商务,委托一家公司设计制作了一个网站,现在要最后交接验收了,请问源代码怎么接收?
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);
}
寻一个ASP的在线显示进销存的简单系统源码
WEB进数源信销存管理系统功能介绍
产品入库,入库查询 (对已有产品可快速裂绝入库)
库存管理,库存调拨 (可设置库存报警功能,库存不足的情况下程序将自动报警)
产品出库,出库查询
统计报表 (各时段统计)
会员管理
员工管理
工资管理
单位管理
仓库管理
产品分类管理 (薯轮设置二级分类)
免费下载地址:
求一个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;
}
}
}
哪里有进销存管理软件源代码购买?
我公司有企业级成熟进消答销存源码出售或合作,已经应用于多个企业项目档蠢,可根据实际需求组装为进销存或仓库管理系统,带条码管理模块,可免费提行桥陪供单机试用版做参考。
我们还提供一对一深度技术辅导,为您克服理解源代码时遇到的难题,快速为企业创造效益!
给我的百度帐号发信息就可以。
亲戚公司想搞电子商务,委托一家公司设计制作了一个网站,现在要最后交接验收了,请问源代码怎么接收?
源代码一般可以刻盘交付,也有打包发邮件的。不过前提是你和建站公司协议好可以给源代码的,因为有些网络公司不给源代码。
关于后期维护,只要你选择相对正规的网络公司,都是能保证正常维护的缓塌谈。有什么修改或网站出现什么问题,打电话过去大多都能即时响应。
说到这儿我想补充一下,网站建好交给你们测试的时候,一定要抓紧时间全面测试一下,各页面各功能都走一遍,尽量避免交活后才开始反应过来。当然也很难在短时间内看出所有的问题,比如有些漏洞前期你是看不出来的,包括有些数据库信息也是需要大量添加数据后才可能发现问题。
在使用中发现的问题,只要是在双方谈判的开发功能之列,网络公司理应给以解决,如果你发现的问题、或是提出的修改意见超出之前协商的衫凯范围,可能扰碰会有增加费用的要求。这时候就要看你们之间的友好协商了。
如果我们“汉邦未来”公司遇到这样的客户,一般都能友好过去:)
进销存网站设计源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于进销存前端模板html5、进销存网站设计源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:购买代码(上古卷轴5霜斋购买代码)
- 下一篇:浪漫网页代码(浪漫网站源码)
相关推荐
- 05-18网络营销案例具体分析,网络营销案例具体分析模板
- 05-18短视频营销推广方案,短视频营销推广方案模板
- 05-18企业网站模板,企业网站模板图片
- 05-17个人网页设计作品模板,个人网页设计与制作模板
- 05-17web网站设计,web网站设计教程
- 05-15湖南网站设计外包哪家好,湖南网站制作公司
- 05-15产品推广网站,产品推广网站模板
- 05-13市场调研,市场调研报告模板
- 05-13web前端开发工程师,Web前端开发工程师是做什么的
- 05-13营销活动推广方案,营销活动推广方案模板
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接