东北玉米烘干,容重低的原因?

演讲与口才 2023-01-25 00:50 编辑:admin 51阅读

东北玉米烘干,容重低的原因?

东北玉米质量差别很大,容重也从600-750不等。 黑龙江,吉林,辽宁也不一样。 不能笼统看到一样品就评定整个东北玉米质量

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

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.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)==0&&strcmp(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!=EOF&&k<i)

{

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!=NULL&&k<i-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_sum>1100)

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

}