c语言课程设计仓库管理系统,C语言课程设计商品库存管理系统怎么做啊

1,C语言课程设计商品库存管理系统怎么做啊首先要创建数据库啊,也就是一个txt文件,要让里面有内容?。?其次是你的增加删除商品种类 , 修改指定商品的数目之类的,具体看老师的要求了,建议利用图形库技术引入鼠标操作,摆脱简单的色彩,利用图片做背景,会让你的程序锦上添花的楼上正解,不过我要补充一些,想要真正做好,你还要考虑结构体字段的设计,信息的存储方式(链表还是一次性分配)输入输出的逻辑 , 怎么样让用户 觉得 好用有能力的话 可以把 储存在 文件里面的 功能加上去 , 就更加完美了
2 , C语言课程设计 仓库管理系统#include<stdio.h>#include<stdlib.h>#include<string.h>#include<malloc.h>#define max 32int ifempty=0;//标志 , 判断链表是无否为空typedef struct dnode/* 定义双向链表结构体 */int number;/* 货物编号 */char name[max];/* 货物名称 */int counter;/* 货物数量 */struct dnode*prior, *next;/* 定义两指针,分别指向其前驱和后继 */}dlnode;dlnode *create(dlnode *L);dlnode *input(dlnode *L);dlnode *output(dlnode *L);dlnode * outnum(dlnode *L);dlnode * outname(dlnode *L);dlnode *current(dlnode *L);voidsearch(dlnode *L);voidprint(dlnode *L);voidsearchnum(dlnode *L);voidsearchname(dlnode *L);voiddisplay(dlnode *L) ;void main()int x;dlnode *L;if(!(L=(dlnode *)malloc(sizeof(dlnode)))) //分配空间printf("\n");exit(1);}create(L);///调用函数,创建头节点while(1)printf("============================\n");printf("1.货物出库和入库\n");printf("2.查找货物表\n");printf("3.显示仓库货物表\n");printf("4.输出到文件\n");printf("0.退出\n");printf("=============================\n");printf("选择0--3:");scanf("%d",&x);switch(x)case 2:search(L);break;//调用查找函数case 1:current(L);break;//调用入库出库函数case 3:display(L);break;//调用显示输出函数case 4:print(L);break;//调用打印函数case 0:printf("\nbye!see you!\n");getchar();getchar();exit(0);//退出程序default:printf("\nEnter erreor!please input 0--4!");getchar();getchar();}}}dlnode*create(dlnode *L)//创建链表头节点printf("欢迎使用我的仓库管理系统");getchar();ifempty=0;///////初始化头节点的值////////L->next=NULL;L->prior=NULL;L->number=L->counter=0;strcpy(L->name," ");return L;}void search(dlnode *L) ///查找的主要菜单int y;if(ifempty==0)printf("没有输入货物!\n");getchar();getchar();return;}elsewhile(1)printf("=====================\n");printf("1.按编号查询\n");printf("2.按货物名称查询\n");printf("0.返回上一层\n");printf("====================\n");printf("选择0--2:");scanf("%d",&y);switch(y)case 1:searchnum(L);break;//调用按编号查找的函数case 2:searchname(L);break;//调用按名称查找的函数case 0:return;//返回default:printf("enter error!Please input 0--2!\n\n");getchar();getchar();printf("\n\n");}}}}void searchnum(dlnode *L)///按编号查找的函数int num,flag=0;//flag为是否找到的标志dlnode *head=L;if(ifempty==0)printf("没有货物被输入\n");getchar();getchar();return;}printf("输入你要查找的货物编号:\n");scanf("%d",&num);while((L=L->next)!=head)if(L->number==num)printf("找到指定编号货物 \n");printf("\n编号:%d\n",L->number);printf("名称:%s\n",L->name) ;printf("数量:%d\n\n",L->counter);}}if(flag==0)//flag为0时表示没有找到printf("没有找到指定编号货物,请查看是否还有货物 。\n");getchar();getchar();}void searchname(dlnode *L)//按名称查找的函数int flag=0;//flag为是否找到的标志char na[32];dlnode *head=L;if(ifempty==0)printf("没有货物被输入\n");getchar();getchar();return;}printf("输入你要查找的货物名称\n");scanf("%s",&na);while((L=L->next)!=head)if(strcmp(L->name,na)==0)printf("找到指定名称货物 \n");printf("\n编号:%d\n",L->number);printf("名称:%s\n",L->name) ;printf("数量:%d\n\n",L->counter);}}if(flag==0)//flag为0时表示没有找到printf("没有找到指定编号货物,请查看是否还有货物 。\n\n");getchar();getchar();}dlnode *current(dlnode *L)//货物出库入库函数int y;while(1)printf("========================\n");printf("1.货物入库\n");printf("2.货物出库\n");printf("0.返回上一层\n");printf("========================\n");printf("选择0--2:");scanf("%d",&y);switch(y)case 1:input(L);break;//调用入库函数case 2:output(L);break;//调用出库函数case 0:return(L);//返回上一层default:printf("enter error!Please input 0--2!");getchar();getchar();printf("\n\n");}}}dlnode *input(dlnode *L)//定义入库函数dlnode *in,*head;head=in=(dlnode *)malloc(sizeof(dlnode));//分配空间head=L;printf("\n请输入货物数据:\n");printf("编号:");scanf("%d",&in->number);printf("名称:");scanf("%s",&in->name);printf("数量:");scanf("%d",&in->counter);if(L->next==NULL)//如果只有头节点,L->next=in;//跟在头节点后面L->prior=in;//in->next=L;//in->prior=L;//ifempty++; //ifempty加1}elsewhile((L=L->next)!=head)if(L->number<in->number)in->next=L;in->prior=L->prior;L->prior->next=in;L->prior=in;ifempty++; //ifempty加1return(head);}}//输入的编号比其它编号都?。?则插到最后个节点,并首尾相连head->prior->next=in;in->prior=head->prior;head->prior=in;in->next=head;ifempty++; //ifempty加1}return head;}dlnode *output(dlnode *L)//出库的函数int y;dlnode *head=L;if(ifempty==0)//检测是否有货物输入printf("没有货物输入系统\n");getchar();getchar();return(head);}while(1)printf("=============\n");printf("1.按编号出库\n");printf("2.按名称出库\n");printf("0.返回上一层\n");printf("==============\n");printf("选择0--2:");scanf("%d",&y);switch(y)case 1:outnum(L);break;//调用按编号出库函数case 2:outname(L);break;//调用按名称出库函数case 0:return(L);default:printf("enter error!Please input 0--2!");getchar();getchar();printf("\n\n");}}}dlnode *outnum(dlnode *L)//按编号出库函数int num;dlnode *head=L;printf("请输入出库货物的编号:");scanf("%d",&num);while((L=L->next)!=head)if(L->number==num)L->prior->next=L->next;L->next->prior=L->prior;ifempty--; //ifempty减1printf("编号为%d的货物成功出库",num);getchar();getchar();return head;}}printf("没有此编号的货物,请查看是否还有货物 。\n\n");getchar();getchar();return (head);}dlnode *outname(dlnode *L)//按名称出库函数char na[32];dlnode *head=L;printf("请输入出库货物的名称:");scanf("%s",&na);while((L=L->next)!=head)if(strcmp(L->name,na)==0)L->prior->next=L->next;L->next->prior=L->prior;ifempty--; //ifempty减1printf("名称为%s的货物成功出库",na);getchar();getchar();return (head);}}printf("没有此名称的货物,请查看是否还有货物 。\n\n");getchar();getchar();return(head);}void display(dlnode *L)//显示货物清单dlnode *head=L;if(ifempty==0)printf("没有货物可显示\n");getchar();getchar();return;}L=L->next;doprintf("\n编号:%d\n",L->number);printf("名称:%s\n",L->name) ;printf("数量:%d\n\n",L->counter);}while((L=L->next)!=head);getchar();getchar();}void print(dlnode *L)dlnode *head=L;L=L->next;char filename[max];FILE *out;if(ifempty==0)printf("没有货物可输出\n");getchar();getchar();return;}printf("请输入文件名称:");scanf("%s",filename);if((out=fopen(filename,"w"))==NULL)printf("打开文件失败!\n");getchar();getchar();return;}dofprintf(out,"编号:%d\n名称:%s\n数量:%d\n\n",L->number,L->name,L->counter);}while((L=L->next)!=head);printf("输出成功\n");getchar();getchar();fclose(out);}【c语言课程设计仓库管理系统,C语言课程设计商品库存管理系统怎么做啊】

    推荐阅读