收藏 分销(赏)

c语言,程序源代码,产品管理.doc

上传人:二*** 文档编号:4483483 上传时间:2024-09-24 格式:DOC 页数:16 大小:52KB 下载积分:5 金币
下载 相关 举报
c语言,程序源代码,产品管理.doc_第1页
第1页 / 共16页
本文档共16页,全文阅读请下载到手机保存,查看更方便
资源描述
- . 用c编写的产品管理系统,含有产品录入和按价格围搜索,产品信息修改等功能 #include<stdio.h> #include<string.h> #include<stdlib.h> typedefstruct goods { char goods_num[10]; char goods_name[20]; char goods_product[20]; int goods_birth; int goods_price; struct goods *next; }gd; gd *h_goods; void Login(); //登陆 int Menu(); //主菜单 void Menu_select(); //查找菜单 void Init(); //系统初始化 void Insert_New_goods(); //输入产品信息 int Find(); //查找产品菜单 void Find_Select(); //查找菜单项选择择函数 void Find_goods(); //查找产品函数 void modiification_goods();//查找产品信息修改函数 void Save(); /*保存信息*/ void Load(); /*加载信息*/ void Login() /*登陆*/ { system("cls"); } int Menu() /*主菜单*/ {int sn; 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; } return sn; } void Menu_select() /*主菜单项选择择函数*/ { for(;;) /*循环调用模式,保证能进展重复操作*/ { switch(Menu()) /*功能选择*/ {case 0: system("cls"); /*去除屏幕先前的显示容*/ Save(); printf("\n\n\t文件保存成功!\n"); printf("\n\n\t欢送下次使用本系统!\n"); getchar(); exit(0); case 1:Insert_New_goods();break; case 2:Find_Select();break; case 3:modiification_goods();break; default:printf("\n错误!");exit(0); } } } void Init() /*初始化*/ { 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"); } void Insert_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处*/ else p->next=p0; /*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/ p0->next=NULL; } printf("\n产品入库完毕!按任意键继续下一步操作..\n"); getchar(); system("cls"); } int Find() /*查找菜单*/ { int sn; 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; } return sn; } void Find_Select() /*查找菜单项选择择函数*/ { system("cls"); for(;;) /*循环调用模式,保证能进展重复操作*/ { switch(Find()) /*功能选择*/ { case 0:system("cls"); Menu_select(); break; case 1:Find_goods();break; case 2:modiification_goods();break; default:printf("\n错误!");exit(0); } } } void Find_goods() /*查找产品信息*/ { gd *p; int j; int goodsprice[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"); } } void modiification_goods() //修改函数 { gd *p; char find_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(); } void Save() /*保存信息*/ { 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); /*关闭文件*/ } void Load() /*加载信息*/ { 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); /*关闭文件*/ } void main() { FILE *fp_goods; /*创立文件型指针*/ Login(); if((fp_goods=fopen("goods.dat","rb"))==NULL) { Init(); } else Load(); Menu_select(); /*调用主菜单*/ } - . 可修编.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服