c语言程序源代码产品管理.docx
- 文档编号:8354088
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:10
- 大小:17KB
c语言程序源代码产品管理.docx
《c语言程序源代码产品管理.docx》由会员分享,可在线阅读,更多相关《c语言程序源代码产品管理.docx(10页珍藏版)》请在冰豆网上搜索。
c语言程序源代码产品管理
用c编写的产品管理系统,含有产品录入和按价格围搜索,产品信息修改等功能
#include
#include
#include
typedefstructgoods
{
chargoods_num[10];
chargoods_name[20];
chargoods_product[20];
intgoods_birth;
intgoods_price;
structgoods*next;
}gd;
gd*h_goods;
voidLogin();//登陆
intMenu();//主菜单
voidMenu_select();//查找菜单
voidInit();//系统初始化
voidInsert_New_goods();//输入产品信息
intFind();//查找产品菜单
voidFind_Select();//查找菜单选择函数
voidFind_goods();//查找产品函数
voidmodiification_goods();//查找产品信息修改函数
voidSave();/*保存信息*/
voidLoad();/*加载信息*/
voidLogin()/*登陆*/
{
system("cls");
}
intMenu()/*主菜单*/
{intsn;
printf("\n\t\t产品管理系统主菜单\n");
printf("=================================================\n");
printf("*\t0----退出系统*\n");
printf("*\t1----产品入库*\n");
printf("*\t2----查询*\n");
printf("*\t3----记录修改*\n");
printf("=================================================\n");
printf("请选择相应选项:
");
for(;;)
{scanf("%d",&sn);
fflush(stdin);
if(sn<0||sn>4)
printf("\n错误!
请重新输入:
");
elsebreak;
}
returnsn;
}
voidMenu_select()/*主菜单选择函数*/
{
for(;;)/*循环调用模式,保证能进行重复操作*/
{
switch(Menu())/*功能选择*/
{case0:
system("cls");/*清除屏幕先前的显示容*/
Save();
printf("\n\n\t文件保存成功!
\n");
printf("\n\n\t欢迎下次使用本系统!
\n");
getchar();
exit(0);
case1:
Insert_New_goods();break;
case2:
Find_Select();break;
case3:
modiification_goods();break;
default:
printf("\n错误!
");exit(0);
}
}
}
voidInit()/*初始化*/
{
gd*p0;
printf("\n产品初始化开始,请输入货物信息..\n包括编号.产品称名,生产厂家、生产日期、价格..\n");
p0=(gd*)malloc(sizeof(gd));
h_goods=p0;
printf("\n请输入产品的信息:
\n");
printf("goodsNo:
");/*输入产品编号(唯一)*/
scanf("%s",p0->goods_num);
printf("goodsName:
");/*输入产品名称(不唯一)*/
scanf("%s",p0->goods_name);
printf("goodsproduct:
");/*输入产品生产厂家(唯一)*/
scanf("%s",p0->goods_product);
printf("goodsbirth:
");/*输入产品生产日期(不唯一)*/
scanf("%d",&p0->goods_birth);
printf("goods_price:
");/*输入产品价格(不唯一)*/
scanf("%d",&p0->goods_price);
p0->next=NULL;
printf("\n产品信息初始化完毕!
按任意键继续下一步操作..\n");
getchar();
system("cls");
}
voidInsert_New_goods()/*新产品入库*/
{
gd*p,*p0,*p1;
p=p1=h_goods;
printf("\n新货入库模块...\n");
printf("\n请输入信息..\n包括请输入产品信息..\n包括编号.产品称名,生产厂家、生产日期、价格\n");
p0=(gd*)malloc(sizeof(gd));
printf("goodsNo:
");
scanf("%s",p0->goods_num);
while(strcmp(p0->goods_num,p1->goods_num)!
=0&&p1->next!
=NULL)
p1=p1->next;
if(strcmp(p0->goods_num,p1->goods_num)==0)/*此处分两种情况,若产品存在,则直接进库,只须输入goods的数量*/
{
printf("\n此编号产品已存在!
!
直接入库!
\n");
}
else/*若不存在,则需要输入其他的信息,然后在进行插入操作*/
{
printf("goodsName:
");
scanf("%s",p0->goods_name);
printf("goodsproduct:
");/*输入产品生产厂家(唯一)*/
scanf("%s",p0->goods_product);
printf("goodsbirth:
");/*输入产品生产日期(不唯一)*/
scanf("%d",&p0->goods_birth);
printf("goods-price:
");/*输入产品价格(不唯一)*/
scanf("%d",&p0->goods_price);
while(p->next)
{
p=p->next;
}
if(h_goods==NULL)h_goods=p0;/*此处分两种情况,链表中没有数据,head直接指向p0处*/
elsep->next=p0;/*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/
p0->next=NULL;
}
printf("\n产品入库完毕!
按任意键继续下一步操作..\n");
getchar();
system("cls");
}
intFind()/*查找菜单*/
{
intsn;
printf("\n\t\t信息查询菜单\n");
printf("=================================================\n");
printf("*\t0----返回上级按生产时间排序\t*\n");
printf("*\t\t*\n");
printf("*\t1----查找产品信息2----修改产品信息\t*\n");
printf("*\t\t*\n");
printf("=================================================\n");
printf("请选择相应代码:
");
for(;;)/*循环调用模式,保证能进行重复操作*/
{
scanf("%d",&sn);
fflush(stdin);
if(sn<0||sn>4)
printf("\n错误!
请重新输入:
");
elsebreak;
}
returnsn;
}
voidFind_Select()/*查找菜单选择函数*/
{
system("cls");
for(;;)/*循环调用模式,保证能进行重复操作*/
{
switch(Find())/*功能选择*/
{
case0:
system("cls");Menu_select();break;
case1:
Find_goods();break;
case2:
modiification_goods();break;
default:
printf("\n错误!
");exit(0);
}
}
}
voidFind_goods()/*查找产品信息*/
{
gd*p;
intj;
intgoodsprice[2];
p=h_goods;
printf("\ngoods信息查询模块\n");
printf("\n请输入你要查询goods价格围(中间用逗号隔开):
");//输入查找的价格围
scanf("%d",&goodsprice[0]);
scanf("%d",&goodsprice[1]);
for(j=0;j<=10;j++)
{
while((p->goods_price>=goodsprice[0]&&p->goods_price<=goodsprice[1])&&p->next)
p=p->next;
if(p->goods_price>=goodsprice[0]&&p->goods_price<=goodsprice[1])
{
printf("\n价格在%d-%d围的信息为:
\n",goodsprice[0],goodsprice[1]);
printf("goodsNo.\tgoodsName\tgoods_product\tgoods_birth\tgoods_price");
printf("\n");
printf("%s\t\t%s\t\t%s\t\t%d\t\t%d",p->goods_num,p->goods_name,p->goods_product,p->goods_birth,p->goods_price);
printf("\n");
}
else
printf("\n此产品价格围无产品,请核对!
按任意键返回...");
getchar();
system("cls");
}
}
voidmodiification_goods()//修改函数
{
gd*p;
charfind_goods[10];
p=h_goods;
printf("\n产品信息查询模块\n");
printf("\n请输入你要修改产品编号:
");
scanf("%s",find_goods);
while(strcmp(p->goods_num,find_goods)!
=0&&p->next)
p=p->next;
if(strcmp(p->goods_num,find_goods)==0)
{
printf("\n产品编号:
%d的信息为:
\n",find_goods[10]);
printf("goodsNo.\tgoodsName\tgoods_product\tgoods_birth\tgoods_price");/*此处这样处理,*/
printf("\n");
printf("%s\t\t%s\t\t%s\t\t%d\t\t%d",p->goods_num,p->goods_name,p->goods_product,p->goods_birth,p->goods_price);
printf("\n输入要修改的信息");
printf("\n产品名改为:
");
scanf("%s",p->goods_name);
printf("\n生产商改为:
");
scanf("%s",p->goods_product);
printf("\n生产日期名改为:
");
scanf("%d",&p->goods_birth);
printf("\n产品价格改为:
");
scanf("%d",&p->goods_price);
printf("\n修改完成。
按任意键返回");
}
else
printf("\n此编号无产品,请核对!
按任意键返回...");
getchar();
}
voidSave()/*保存信息*/
{
FILE*fp_goods;/*创建文件型指针*/
gd*p,*p0;
p=h_goods;
if((fp_goods=fopen("goods.dat","wb"))==NULL)/*创建文件,进行保存*/
{
printf("\n文件保存失败!
\n请重新启动本系统...\n");
exit(0);
}
while(p!
=NULL)
{
if(fwrite(p,sizeof(gd),1,fp_goods)!
=1)/*将链表中的信息写入文件中*/
printf("\n写入文件失败!
\n请重新启动本系统!
\n");
p0=p;
p=p->next;
free(p0);/*释放所有结点*/
}
h_goods=NULL;
fclose(fp_goods);/*关闭文件*/
}
voidLoad()/*加载信息*/
{
gd*p1,*p2,*p3;
FILE*fp;/*创建文件型指针*/
fp=fopen("goods.dat","rb");/*打开文件*/
p1=(gd*)malloc(sizeof(gd));
fread(p1,sizeof(gd),1,fp);
h_goods=p3=p2=p1;
while(!
feof(fp))/*读出信息,重新链入链表*/
{p1=(gd*)malloc(sizeof(gd));
fread(p1,sizeof(gd),1,fp);
p2->next=p1;
p3=p2;
p2=p1;
}
p3->next=NULL;
free(p1);
fclose(fp);/*关闭文件*/
}
voidmain()
{
FILE*fp_goods;/*创建文件型指针*/
Login();
if((fp_goods=fopen("goods.dat","rb"))==NULL)
{
Init();
}
elseLoad();
Menu_select();/*调用主菜单*/
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 源代码 产品 管理