您好,欢迎访问三七文档
湖工c++课程设计1课程设计报告课程名称面向对象程序设计课题名称公司库存管理系统专业班级学号姓名指导教师年月日湖工c++课程设计2湖南工程学院课程设计任务书课程名称面向对象程序设计课题公司库存管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日湖工c++课程设计3目录1.系统需求分析........................................................................................................................42.总体设计...............................................................................................................................43.详细设计................................................................................................................................44.系统调试...............................................................................................................................65.结果分析...............................................................................................................................66.总结.....................................................................................................................................10附录1......................................................................................................................................11附录2......................................................................................................................................12湖工c++课程设计41.系统需求分析(给出你所设计题目拟满足的用户需求,给出系统设计目标,系统拟实现的功能。)本产品主要针对TV、DVD以及带DVD的TV(下面简称DVDTV)生产或销售部门的库存进行简单的管理。它能够对该部门的所有库存的产品按照品名进行显示、查找、入库和出库、保存。2.总体设计(包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。)从系统的需求中我们可以看到:该系统要对产品进行显示、查找、入库、出库和保存功能。这就意味着这个系统需要一个show函数(通过cout将数据显示在屏幕上)来实现显示功能,而其他各个功能需要不同的模块来实现,也就意味着这个系统需要五个不同的功能模块。系统功能模块图:图2.1系统功能模块3.详细设计(类层次图;各功能模块实现等)类层次图:TV类、DVD类以及由他们派生DVDTV类(内含show函数)显示查找入库出库保存湖工c++课程设计5派生派生图3.1类层次关系各功能模块的实现:显示功能是同过各类自带有的show函数形如“cout””endl”的一竖排c++输出流把TV,DVD,DVDTV的主要数据打印在计算机的屏幕上。查找是分两种情况:○1按入库编号○2按品牌按入库编号是输入一个编号,让它与库存中产品进行比对如果有相同则将编号相同的产品输出到屏幕上,如果无相同就在屏幕上显示“无货或输错”。按品牌查找是输入一个品牌,通过strcmp将两个字符串进行比较,如果相同则显示出这个品牌的所有产品以及它们的数据。入库其实是一个输入功能:它主要是通过“cin”功能依次将产品的各项数据输入计TV类尺寸类型售价重量品牌入库编号DVD类规格重量售价品牌入库编号DVDTV类TV参数DVD参数湖工c++课程设计6算机。出库是一个删除功能,由于水平有限,我采用的是通过用后一个覆盖前一个数据的方法,并将计数减一,使之能够在功能上达到删除。保存是建一个文件,把入库时输入的数据保存在一个文件内,是系统再次打开时数据不用重新输入。4.系统调试(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)由于本次设计用到了类,而类中有受保护的对像和私有对象,他们都不可以在类外使用。于是使得下边一些数据不能用。最后我只能将数据全改成公有数据。5.结果分析(总结自己独到的设计特点和不足之处。)先来看一下程序的运行截图:图5.1输入湖工c++课程设计7图5.2显示图5.3查找湖工c++课程设计8图5.4保存界面图5.5保存效果如上的一系列截图可以看出这个系统的特色是能够很好的把系统的需求完美的表现出来。而不足之处如详细设计所说的那样只是通过用后一个覆盖前一个的方法,它只能在屏幕上体现,而不能在文件中表现出来。如下图:湖工c++课程设计9图5.6删除前的文件图5.7删除界面湖工c++课程设计10图5.8删除后的文件(红圈内的变化)6.总结在做c++的设计前,我以为不会难做,就像去年做c语言一样,做完设计,然后两下子就将设计报告做完.直到答辩完设计时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅.在做设计前,一定要将课本上的知识吃透,因为这是做设计的基础,否则,在老师讲解时就会听不懂,这将使你在做设计时的难度加大,浪费做设计的宝贵时间.在做设计时才去摸索,这将使你极大地浪费时间,使你事倍功半.做设计时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,设计后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这样你就答辩通不过。老师在答辩过程中还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在以后工作中的应用是那么的广泛.通过这次c++的设计,使我学到了不少实用c++的知识,更重要的是,做设计的过程,思考问题的方法,这与做其他的设计是通用的,真正使我们受益匪浅.湖工c++课程设计11附录1计算机科学与技术系课程设计评分表课程名称:面向对象程序设计项目评价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩教师签名:日期:湖工c++课程设计12附录2源码#includeiostreamusingnamespacestd;classtelevision{public:intsize;chartype[10];intcharge1;intweight1;charbrank1[10];intnumber1;television(ints=0,chart[]=,intc1=0,intw1=0,charb1[]=,intn1=0):size(s),charge1(c1),weight1(w1),number1(n1){strcpy(type,t);strcpy(brank1,b1);}voidshow()const{coutTV尺寸:sizeendl;coutTV类型:typeendl;cout售价:charge1endl;cout重量:weight1endl;coutTV品牌:brank1endl;cout入库编号:number1endl;}};classDVD{public:charguige[10];intweight2;intcharge2;charbrank2[10];intnumber2;DVD(charg[]=,intw2=0,intc2=0,charb2[]=,intn2=0):weight2(w2),charge2(c2),number2(n2){strcpy(guige,g);strcpy(brank2,b2);}voidshow()const{coutDVD规格:guigeendl;cout重量:weight2endl;湖工c++课程设计13cout售价:charge2endl;coutDVD品牌:brank2endl;cout入库编号:number2endl;}};classDVDTV:publictelevision,publicDVD{public:intweight3;intcharge3;intnumber3;DVDTV(ints=0,chart[]=,charb1[]=,charg[]=,charb2[]=,intw3=0,intc3=0,intn3=0):weight3(w3),charge3(c3),number3(n3){size=s,strcpy(type,t);strcpy(brank1,b1);strcpy(guige,g);strcpy(brank2,b2);}voidshow()const{cout尺寸:sizeendl;cout类型:typeendl;coutTV品牌:brank1endl;cout规格:guigeendl;coutDVD品牌:brank2endl;cout重量:weight3endl;cout售价:charge3endl;cout入库编号:number3endl;}};intmain(){staticintk=0;staticintl=0;staticintm=0;inti;classtelevisiona[10];classDVDb[10];classDVDTVc[10];FILE*q1;q1=fopen(新建1.txt,r+);if(q1==NULL){湖工c++课程设计14q1=fopen(新建1.txt,w+);}rewind(q1);fscanf(q1,%d,&k);for(i=0;ik;i++){fscanf(q1,%d%s%d%d%s%d,&a[i].size,a[i].type,&a[i].charge1,&a[i].weight1,a[i].brank1,&a[i].number1);}FILE*q2;q2=fopen(新建2.txt,r+);if(q2==NULL){q2=fopen(新建2.txt,w+);}rewind(q2);fscanf(q2,%d,&l);for(i=0;il;i++){fscanf(q2,%s%d%d%s%d,b[i].guige,&b[i].weight2,&b[i].charge2,b[i].brank2,&b[i].number2);}FILE*q3;q3=fopen(新建3.txt,r+);if(q3==NULL){q3=fopen(新建3.txt,w+);}rewind(q3);fscanf(q3,%d,&m);for(i=0;im;i++){fscanf(q3,%d%s%s%s%s%d%d%d,&c[i].size,c[i].type,c[i].brank1,c[i].guige,c[i].brank2,&c[i].weight3,&c[i].charge3,&c[
本文标题:公司库存管理系统
链接地址:https://www.777doc.com/doc-1305526 .html