产品信息管理系统_第1页
产品信息管理系统_第2页
产品信息管理系统_第3页
产品信息管理系统_第4页
产品信息管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.z.*******************实践教学*********************理工大学计算机与通信学院2021年春季学期C程序设计课程设计题目:产品信息管理系统专业班级:通信工程1班姓名:学号:指导教师:周小健成绩:_______________-.z.摘要该设计要求学生以商品管理业务为背景,设计、开发一套"产品信息管理系统〞软件。系统所涉及的信息有:〔1〕产品信息包括:名称、品牌、产地、厂家、生产日期、出厂日期、是否过期的等。〔2〕系统能够实现:信息浏览功能、查询功能、是否过期等、产品增加、信息的删除与修改。关键字:产品信息:系统:软件:c语言-.z.目录一、需求分析1二、总体设计1三、详细设计2四、编码1五、测试2六、设计总结7参考文献8致谢9附录110-.z.一、需求分析1、为存储产品信息,需定义一个构造体类型,信息包括名称、品牌、产地、产家、生产日期、出厂日期、是否过期等,并建立链表,定义该构造体类型的指针,用于指向各结点;2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一构造体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的**,假设相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置编号、地址等多种方式。3、为实现存储功能,需用到文件的相关函数,翻开文件,将添加、修改或删除的信息存入磁盘中。4、以产品信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型。-.z.二、总体设计系统功能构造如图1所示。登录界面主程序菜单登录界面主程序菜单输入信息管理系统修改信息管理系统删除信息管理系统查询信息管理系统显示全部信息管理系统退出信息管理系统按名称查询退出主菜单,到登录界面!按价格从小到大显示产品信息管理系统显示全部过期产品信息管理系统增加产品信息管理系统三、详细设计1、数据定义本程序中,对于职工各项详细信息的记录用了构造数组的形式,对于主要数据构造的应用如下:构造数组:structprod/*根本信息*/{charnum[10];/*产品编号*/charname[10];/*产品名称*/charlei*ing[12];/*类型*/charguige[10];/*规格*/chardanwei[10];/*单位*/charsum;/*数量*/charprize;/*价格*/charjinhuo[12];/*进货日期*/charyou*iao[12];/*有效日期*/}worker;2、函数流程图如图-2-所示开场开场输入修改删除增加显示全部信息排序查询显示过期信息完毕图2函数流程图-.z.四、编码一:添加产品;1、运行程序,执行产品信息输入;2、保存产品编号;3、添加产品信息,包括名称、类型、规格、计量单位等。二:删除产品;1、输入要删除产品的编号;2、确定删除;3、退出系统;修改产品信息:1、输入你要修改的产品编号;2、选择要修改产品的属性,如:名称、类型、规格等。3、确定要修改的属性。4、添加产品信息。查询产品信息:1、输入要查询产品的编号;2、调出产品的属性,寻找要查询的信息;退出当前系统,返回系统主界面。五、测试〔1〕主函数界面如图-3-所示:图3〔2〕键入产品编号后的界面如图-4-所示:图4〔3〕键入产品名称后的界面如图-5-所示:图5〔4〕键入产品类型编号后的界面如图-6-所示:图6〔5〕键入产品规格后的界面如图-7-所示:图7〔6〕键入产品计量单位后的界面如图-8-所示:图8〔7〕键入产品数量后的界面如图-9-所示:图9〔8〕键入产品参考价格后的界面如图-10-所示:图10〔9〕键入产品进货日期的界面如图-11-所示:图11六、设计总结这次课程设计是大学以来的第一次课程设计。也是锻炼我们动手能力的一次很好的时机。但是,万事开头难。这次C语言的程序设计,对于我来说是一个挑战。刚开场几乎不知道该从何下手。后来通过一些简单题目的编写才有了思路。在整个程序的编写过程中在很多地方都遇到了困难。例如,对一些算法的设计有很大漏洞等。后来通过翻阅很多书籍,以及同学的讨论下,在克制了重重的困难后,终于成功的运行了课程设计所要求的程序。这次程序设计是在C语言程序的思想下第一次整体完成的程序设计,所以还有很多的不完美的地方,希望教师予以指出和改正。这次的课程设计虽然一些模块,函数的程序是参照书上和网上完成的。但大局部还是自己编写和修改的。所以这次的程序设计让我受到了很大锻炼,也有了很多感悟。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序来为他人效劳,更为社会效劳,所以提高自己的实际动手能力和独立思考的能力是十分重要的。同时通过这次设计,也让我体验到了编程的的乐趣。总之,这次的课程设计是一次珍贵的经历,它不仅锻炼了我动手的能力,也锻炼了我克制困难,持之以恒的精神。既收获了知识,又磨练了意志。我想这第一次的课程设计必将成为我人生道路上一段美好的回忆。参考文献1.姜灵芝,余健.C语言课程设计案例精编.:清华大学,20212.王新,孙雷.C语言课程设计.:清华大学,20213.游洪跃、彭骏、谭斌.C语言程序设计实验与课程设计教程.:清华大学,20214.王连相.C/C++程序设计上机指导与测试.:中国铁道,20065.C语言函数手册,机械工业,1999致谢完毕了一周的课程设计,首先要感谢周教师在课程设计上给予我的指导,支持与帮助。这是我能顺利完成这次报告的主要原因,更重要的是教师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,要感谢和我共同做一个课题的同学,课程设计的顺利完成离不开你们的合作-.z.附录1#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructprod{charnum[10];charname[10];charlei*ing[12];charguige[10];chardanwei[10];intsum;floatprize;charjihuo[12];charyou*iao[12];structprod*ne*t;}PRODUCT,*PLINK;char*menu[]={"1.产品信息的输入:","2.产品信息的修改:","3.产品信息的删除:","4.根据产品名称查询:","5.显示全部产品信息:","6.按参考价格从小到大显示产品信息:","7.显示全部过期产品信息:","8.增加产品信息:","9.退出系统:"};intmenu_select(){charc[3];inta;inti;for(i=0;i<9;i++)printf("%s\n",menu[i]);do{scanf("%s",c);a=atoi(c);}while(a<0||a>10);returna;}voidprint(PRODUCT*head);PRODUCT*creat();PRODUCT*del(PRODUCT*h);PRODUCT*modify(PRODUCT*h);voidinquire(PRODUCT*h);voidprintguoqi(PRODUCT*h);PRODUCT*insert(PRODUCT*h);voidsortprint(PRODUCT*h);voidmain(){PRODUCT*head=NULL;for(;;){switch(menu_select()){case1:head=creat();break;case2:head=modify(head);break;case3:head=del(head);break;case4:inquire(head);break;case5:print(head);break;case6:sortprint(head);break;case7:printguoqi(head);break;case8:head=insert(head);break;case9:e*it(0);}}}PRODUCT*creat(){PRODUCT*p,*h=NULL;inti;printf("请输入产品编号时,以#完毕:\n");printf("!!!请注意,输入数据时不可以按空格:!!!\n");do{p=(PLINK)malloc(sizeof(PRODUCT));printf("请输入产品编号:\n");scanf("%s",p->num);if(strcmp(p->num,"#")==0)break;printf("请输入产品名称:\n");scanf("%s",p->name);printf("请输入产品类型编号:\n");scanf("%s",p->lei*ing);printf("请输入产品规格:\n");scanf("%s",p->guige);printf("请输入产品计量单位:\n");scanf("%s",p->danwei);printf("请输入产品的数量:\n");scanf("%d",&p->sum);printf("请输入产品的参考价格(可输小数):\n");scanf("%f",&p->prize);printf("请输入产品进货日期(年.月.日):\n");scanf("%s",p->jihuo);printf("请输入产品的有效期:\n");scanf("%s",p->you*iao);p->ne*t=h;h=p;}while(1);returnh;}voidprint(PRODUCT*head){PRODUCT*p;p=head;if(p==NULL)printf("|产品编号|名称|产品类型编号|产品规格|计量单位|数量|参考价格|进货日期|有效日期|\n");while(p){printf("|编号|名称|产品类型编号|产品规格|计量单位|数量|参考价格|进货日期|有效日期|\n");printf("|%5s|%4s|%-12s|%8s|%4s|%8d|%9f|%10s|%10s\n",p->num,p->name,p->lei*ing,p->guige,p->danwei,p->sum,p->prize,p->jihuo,p->you*iao);p=p->ne*t;}}PRODUCT*del(PRODUCT*h){PRODUCT*p,*q;charnumber[10];printf("请输入你要删除的产品的编号:\n");scanf("%s",number);if(h==NULL){printf("你要删除的产品不存在!\n");returnh=NULL;}p=h;while(strcmp(number,p->num)&&p){q=p;p=p->ne*t;}if(!strcmp(number,p->num)){if(p==h)h=h->ne*t;elseq->ne*t=p->ne*t;}returnh;}PRODUCT*modify(PRODUCT*h){PRODUCT*p,*q;charnumber1[10];printf("请输入你要修改的产品的编号:\n");scanf("%s",number1);p=h;while(p){if(strcmp(number1,p->num)==0){printf("你要修改的产品信息如下:\n");printf("|编号|名称|产品类型编号|产品规格|计量单位|数量|参考价格|进货日期|有效日期|\n");printf("|%5s|%4s|%-12s|%8s|%4s|%8d|%9f|%10s|%10s\n",p->num,p->name,p->lei*ing,p->guige,p->danwei,p->sum,p->prize,p->jihuo,p->you*iao);printf("请重新填写此产品的信息:\n");printf("请输入产品编号:\n");scanf("%s",p->num);printf("请输入产品名称:\n");scanf("%s",p->name);printf("请输入产品类型编号:\n");scanf("%s",p->lei*ing);printf("请输入产品规格:\n");scanf("%s",p->guige);printf("请输入产品计量单位:\n");scanf("%s",p->danwei);printf("请输入产品的数量:\n");scanf("%d",&p->sum);printf("请输入产品的参考价格(可输小数):\n");scanf("%f",&p->prize);printf("请输入产品进货日期(年.月.日):\n");scanf("%s",p->jihuo);printf("请输入产品的有效期:\n");scanf("%s",p->you*iao);printf("修改产品信息成功!\n");break;}}printf("你要修改的产品信息不存在!!\n");returnh;}voidinquire(PRODUCT*h){PRODUCT*p;charnumber2[10];printf("请输入你要查询的产品的名称:\n");scanf("%s",number2);p=h;while(p){if(strcmp(number2,p->name)==0){printf("|编号|名称|产品类型编号|产品规格|计量单位|数量|参考价格|进货日期|有效日期|\n");printf("|%5s|%4s|%-12s|%8s|%4s|%8d|%9f|%10s|%10s\n",p->num,p->name,p->lei*ing,p->guige,p->danwei,p->sum,p->prize,p->jihuo,p->you*iao);break;}p=p->ne*t;}printf("你要查询的产品信息不在库存中!!!\n");}voidprintguoqi(PRODUCT*h){PRODUCT*p;inti=0;if(h==NULL)printf("对不起!!您的仓库中还没有产品!\n");else{p=h;while(p){if(strcmp(p->jihuo,p->you*iao)>0){printf("|编号|名称|产品类型编号|产品规格|计量单位|数量|参考价格|进货日期|有效日期|\n");printf("|%5s|%4s|%-12s|%8s|%4s|%8d|%9f|%10s|%10s\n",p->num,p->name,p->lei*ing,p->guige,p->danwei,p->sum,p->prize,p->jihuo,p->you*iao);i++;}p=p->ne*t;}if(i==0)printf("您的库存中的产品都还没有过期!!!\n");}}PRODUCT*insert(PRODUCT*h){PRODUCT*r;do{r=(PLINK)malloc(sizeof(PRODUCT));printf("请输入产品编号:\n");scanf("%s",r->num);if(strcmp(r->num,"#")==0)break;printf("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论