版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计内容公司库存管理系统一、设计要求1.目的和要求要求学生熟练掌握C++语言的基本知识和技能;要求利用面向对象的方法以及C++的编程思想来完成系统的设计,在设计的过程中,建立清晰的类层次;;基本掌握面向对象程序设计的基本思路和方法;在系统中定义类,每个类中要有各自的属性和方法;在系统的设计中,至少要用到面向对象的一种机制。能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。写出设计说明书2.设计内容1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、入库和出库、保存的功能。普通电视机有下列属性:尺寸、类型(液晶或等离子)、售价、重量、品牌、入库数量、入库编号DVD有下列属性:规格(高清、蓝光高清、普通)、售价、重量、品牌、入库数量、入库编号带DVD的电视机是上两者的派生类,但请注意有些属性的重复问题。要求生成的相关库存数据结果以文件方式存放在硬盘中,或用链表、数组来进行管理。2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:公司库存管理系统1武汉工业学院数学与计算机学院信息管理1101武汉工业学院数学与计算机学院信息管理1101班110502101骆龙飞公司库存管理系统公司库存管理系统#五、调试及其测试(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)1、由于本次设计用到了类,而类中有受保护的对像和私有对象,他们都不可以在类外使用。于是使得下边一些数据不能使用。最后我只能将数据全改成公有数据。这样也让继承的时候不会出现问题。2、本次程序几经修改才做到了现在这个样子,起初是一个长达700多行的程序,没有运用封装和工程,显得程序比较冗长。但是有个严重的问题就是每次程序重新启动的时候上次录入的信息和记录就全部清零,必须重新录入才可以进行出、入库处理,这样就使程序丧失了实用性,所以针对这个问题我特意书写的录入代码,让程序可以在一开始运行的时候就把库存清单里的信息先读入系统,然后再在这个基础上进行添加删除等操作,这样才能真正做到一个实用的系统。3、因为系统要求必须把库存的信息保存到文本文件,这个操作我们课上只做了简单的介绍,而且凭借现有的知识还有所欠缺,我在查阅了大量资料和请教他人之后才逐步搞懂了这个环节。由此经过修改写出了第二个程序,能够调用文本文件并且可以进行复杂操作的程序。4、除此之外,一开始我保存和显示库存信息的文件方式也有所欠缺,没有做到空间的合理利用,经过老师的点拨和修改后,我设立了“tring”字符串,让所有信息以字符串的形式显示和保存,并控制了每一个字段的长度,这样在现实的时候就显得十分美观,也便于读取和观察。5、之后,我又在这个程序的基础上,进行了进一步的延伸。因为程序要求必须把每一个库存信息都要储存,为了避免重复与不好记录的方面,我只好把添加信息的菜单隐藏,放于后台处理。对于用户界面只对现有库存信息进行显示、查找、入库、出库的操作。如果想要添加信息,那就得在“库存菜单txt”的这个文件里直接进行输入。这样修改的好处在于,我可以把信息做的系统化,并且能够记录每一次的出、入库记录,并加以显示。6、最后,我将四个类封装处理,设立工程,程序模块化设计,真正的体现了一个C++程序设计的思想。六、用户手册1、显示菜单匕;nOl•厶匕;nOl•厶•1」FFTTB竺片上似\L^eUUgE牡mtLK#青输入对应数字进行你所要执行地下一步动作:WJOCXKJCKJCKKJCmCKXKJCJCJCJCXKICK在这里输入“1、2、3、4、5”进行菜单操作,每一步都会有系统字样提示,根据提示系统会有自动提示,重新录入正确信息即可。进行信息录入即可。如果录入错误,JCJCF氓氓二二二二二并并姑*-*-息系统会有自动提示,重新录入正确信息即可。进行信息录入即可。如果录入错误,JCJCF氓氓二二二二二并并姑*-*-息□:点月J-iL='.=■:=r§si^35罔如叩-:|退A-出SJx'y>■>.>.>-12345<-<ccC横输人对WF进行你所要执f魂:—步动作:*重新输入数字沖k重新输入数字:2、显示信息。在主菜单中直接输入数字1,进行菜单显示,因为显示信息较多,所以最好调整一下显示框大小,避免出现显示错位的现象。wmmMl二二二皆:twmmMl二二二皆:t為皆才晋■=锦入对应数字出亍你号要执•行地下一歩曲頁W电视机-as.ms.-JA型皿呈!DirtC型DU®TW电视机-as.ms.-JA型皿呈!DirtC型DU®T型电氓机生产日用20132813闍IN^iNfli灯寸NAHM疇•:令倍様_100075聽吨2BBH^G2500^1000X帕阴元an?3041).OMPhilipsPhilipFlhilw[BMF号1HH011DD321003310034IBB®1MK猜辅入数字锲1返四莱单或数字駆空退出程序=III显示后,根据菜单提示输入“1”返回主菜单,输入“2”退出程序。(以下相同,不再提示)3、查找物品信息在主菜单中直接输入数字2,进行物品查找,在查找选项中可以通过入库编码和设备名称两样分别进行查找。
人库编号160011S00210003109041S9051Q90GPl-號1V^2;S9][2B13-01-B31?e1^153]L2ftl3-ai-62人豪世Ml】[2BH3-01H0SIfr4SrE21n«3-01-CZ13413^)1-K11*15(140]L2«13-ai-fi}1,*吃和Pl-號1V^2;S9][2B13-01-B31?e1^153]L2ftl3-ai-62人豪世Ml】[2BH3-01H0SIfr4SrE21n«3-01-CZ13413^)1-K11*15(140]L2«13-ai-fi}1,*吃和3^07L品牌D*njpH单号伽“欣备占衿朋■库塢曰■■-r—L「』:「:-''.I.L1踰人对应楷丰进行朋翌杭行地下一歩动作=_万呱%»1叽叽叽叽叽1■::--===■-=I卜广—I—J.-——I4、出、入库物品信息在主菜单中直接输入数字3或4,进行物品出、入库。选择物品出、入库后,系统会自动把所有库存信息进行显示,让用户可以看到能够入库的设备名称和入库编码,然后进行选择。首先要选择进行出、入库的设备,之后按提示输入出、入库的数量。(注:在出库时,如果出库数量大于现有库存就会提示“库存不足”)。等到屏幕显示“入(出)库成功!”时物品入(出)库成功。<2><3><4><5>扎库編号1BR311BR0211MB41BR05品牌fBMPhilipsRiiliL严OilipsTim售价—3M@7F,液晶20£220122812201320J132613<2><3><4><5>扎库編号1BR311BR0211MB41BR05品牌fBMPhilipsRiiliL严OilipsTim售价—3M@7F,液晶20£220122812201320J132613尺丁i?7・21~~圈iWim1吋生产日朗11E:55DUBDUBDUD勰襄ltw&in«■"•twbISw遲DUDE型MJBC^DIID•I输人数字铀1返回菜堂或数字駁滋退出程序M谙辅人肘应数字进苻你所要执行地下一步动作=uulfl灶」B.1A100070呻0W元OB00■590WD03105、退出程序在主菜单中直接输入数字5,退出程序。七、附录:(程序源代码)1、Device类#include<iostream>#include<fstream>#include<cstring>#include<windows.h>#include<string>usingnamespacestd;classDevice{public:boolmask[11];//定义字段是否应该被屏蔽(true:字段无效,false:字段有效)void*fs;//指向全局fileSystem对象的指针stringstrCategory;//设备分类:1-普通电视机,2-DVD,3-DVD电视机stringstrName;//货物名称stringstrDate;//日期//stringstrSize;//仅对TV有效,TV尺寸//stringstrType;//仅对TV有效,TV类型//stringstrCharactor;//仅对DVD有效,DVD规格stringstrWeight;//重量stringstrPrice;//价格stringstrBrand;//品牌intnTotal;//数量stringstrCode;//入库编码Device();virtual~Device();virtualvoidUpdate(intn)=0;//出入库n台设备的操作,n〉0:入库;n〈0:出库virtualvoidShow()=0;//展示当前库存和出入库记录};#include"stdafx.h"#include"Device.h"Device::Device(){}Device::~Device(){}2、DVD类#include"Device.h"classDVD:virtualpublicDevice{public:stringstrCharactor;//仅对DVD有效,规格DVD();virtual~DVD();voidUpdate(intn);//入库n台设备的操作voidShow();//展示当前库存和出入库记录};#include"stdafx.h"#include"DVD.h"#include"fileSystem.h"DVD::DVD(){strCategory="DVD";for(inti=0;i<FIELDNUM;i++){mask[i]=false;}mask[3]=true;mask[4]=true;}DVD::~DVD(){}voidDVD::Update(intn)//出入库n台设备的操作{nTotal+=n;charbuf[BUFSIZE];if(n>0){sprintf(buf,""%s(%s)入库%d台。"",strName.c_str(),strCategory.c_str(),n);}else{sprintf(buf,""%s(%s)出库%d台。"",strName.c_str(),strCategory.c_str(),-n);}((fileSystem*)fs)-〉Save(buf);//进行物品记录保存}voidDVD::Show()//展示当前库存和出入库记录{//显示当前库存//显示标题行for(inti=0;i<FIELDNUM;i++){if(mask[i]){continue;}cout<<((fileSystem*)fs)-〉strTitles[i];}cout<<endl;//显示全部数据stringvalues[FIELDNUM];chartotal[BUFSIZE];values[0]=strCategory;values[1]=strName;values[2]=strDate;values[6]=strPrice;values[7]=strWeight;values[8]=strBrand;sprintf(total,"%d",nTotal);values[9]=total;values[10]=strCode;values[3]="NA";values[4]="NA";values[5]=strCharactor;for(intii=0;ii<FIELDNUM;ii++){if(mask[ii]){continue;}for(intj=values[ii].size();j<COL_WIDTH;j++){values[ii].append("");}cout<<values[ii];}cout<<endl;//显示出入库记录cout<<endl<<"出入库记录如下:"<<endl;((fileSystem*)fs)->ShowLog(strName);}3、TV类#include"Device.h"#include<cstring>#include<windows.h>#include<string>classTV:virtualpublicDevice{public:stringstrSize;//仅对TV有效,尺寸stringstrType;//仅对TV有效,类型TV();virtual~TV();voidUpdate(intn);//出入库n台设备的操作,n〉0:入库;n〈0:出库voidShow();//展示当前库存和出入库记录};#include"stdafx.h"#include"TV.h"#include"fileSystem.h"TV::TV(){strCategory="普通电视机";for(inti=0;i〈FIELDNUM;i++){mask[i]=false;}mask[5]=true;}TV::~TV(){}voidTV::Update(intn)//出入库n台设备的操作{nTotal+=n;charbuf[BUFSIZE];if(n〉0){sprintf(buf,""%s(%s)入库%d台。"",strName.c_str(),strCategory.c_str(),n);}else{sprintf(buf,""%s(%s)出库%d台。"",strName.c_str(),strCategory.c_str(),-n);}((fileSystem*)fs)-〉Save(buf);}voidTV::Show()//展示当前库存和出入库记录{//显示当前库存//显示标题行for(inti=0;i〈FIELDNUM;i++){if(mask[i]){continue;}cout〈〈((fileSystem*)fs)-〉strTitles[i];}cout<<endl;//显示全部数据stringvalues[FIELDNUM];chartotal[BUFSIZE];values[0]=strCategory;values[1]=strName;values[2]=strDate;values[6]=strPrice;values[7]=strWeight;values[8]=strBrand;sprintf(total,"%d",nTotal);values[9]=total;values[10]=strCode;values[3]=strSize;values[4]=strType;values[5]="NA";for(intii=0;ii<FIELDNUM;ii++){if(mask[ii]){continue;}for(intj=values[ii].size();j<COL_WIDTH;j++){values[ii].append("");}cout<<values[ii];}cout<<endl;//显示出入库记录cout<<endl<<"出入库记录如下:"<<endl;((fileSystem*)fs)->ShowLog(strName);}4、TV_DVD类#include"DVD.h"#include"TV.h"classTV_DVD:virtualpublicTV{public:DVDinnerDvd;TV_DVD();virtual~TV_DVD();voidShow();//展示当前库存和出入库记录};#include"stdafx.h"#include"TV_DVD.h"#include"fileSystem.h"TV_DVD::TV_DVD(){strCategory=""DVD电视机"";for(inti=0;i<FIELDNUM;i++){mask[i]=false;}}TV_DVD::~TV_DVD(){}voidTV_DVD::Show()//展示当前库存和出入库记录{//显示当前库存//显示标题行for(inti=0;i<FIELDNUM;i++){if(mask[i]){continue;}cout<<((fileSystem*)fs)->strTitles[i];}cout<<endl;//显示全部数据stringvalues[FIELDNUM];chartotal[BUFSIZE];values[0]=strCategory;values[1]=strName;values[2]=strDate;values[6]=strPrice;values[7]=strWeight;values[8]=strBrand;sprintf(total,"%d",nTotal);values[9]=total;values[10]=strCode;values[3]=strSize;values[4]=strType;values[5]=innerDvd.strCharactor;for(intii=0;ii<FIELDNUM;ii++){
if(mask[ii]){continue;}for(intj=values[ii].size();j<COL_WIDTH;j++){values[ii].append("");}cout<<values[ii];}cout<<endl;//显示出入库记录cout<<endl<<"出入库记录如下:"<<endl;((fileSystem*)fs)->ShowLog(strName);}5、fileSystem函数#include<iostream>#include<fstream>#include<cstring>#include<windows.h>#include<string>usingnamespacestd;#defineFIELDNUM11//库存数据文件的字段数量#defineBUFSIZE100//库存数据文件的每行最大字数#defineCOL_WIDTH12//用于显示的列宽#defineMAXDEVICE20//系统最大允许设备数量#include"Device.h"#include"TV.h"#include"DVD.h"#include"TV_DVD.h"#include"time.h"#include"stdio.h"classfileSystem{public:voidShowLog(stringstrName);voidSave(stringstrMsg);voidShow();stringstrTitles[FIELDNUM];voidInitAllDevices();//设备分类:1-普通电视机,2-DVD,3-DVDvoid//设备分类:1-普通电视机,2-DVD,3-DVDintnDevs;//库存设备个数stringstrKCFileName;//库存数据文件名stringstrLogFileName;//出入库日志文件名fileSystem();virtual~fileSystem();private:voidrelease();stringstrValues[FIELDNUM];};#include"stdafx.h"#include"fileSystem.h"usingnamespacestd;fileSystem::fileSystem(){strKCFileName="库存清单.txt";strLogFileName="出入库日志.txt";nDevs=0;InitAllDevices();//Show();//Save("save");//ShowLog("A型电视机");//((DVD*)devs[5])->Update(-5);//((TV*)devs[5])->Show();}fileSystem::~fileSystem(){release();}voidfileSystem::InitAllDevices(){release();ifstreamin(strKCFileName.c_str());//第一行是字段标题for(inti=0;i<FIELDNUM;i++){in>>strTitles[i];for(intj=strTitles[i].size();j<COL_WIDTH;j++){strTitles[i].append("");//cout<<strTitles[i];}//cout<<endl;//读取全部库存记录nDevs=0;boolbRead=true;while(bRead){for(inti=0;i<FIELDNUM;i++){in>>strValues[i];if(strValues[i].size()==0){bRead=false;break;}//cout<<strValues[i];}if(!bRead){break;}if(strValues[5]=="NA"){//createTVclassTV*tvTemp=newTV();devs[nDevs]=tvTemp;tvTemp->strName=strValues[1];tvTemp->strDate=strValues[2];tvTemp->strSize=strValues[3];tvTemp->strType=strValues[4];tvTemp->strPrice=strValues[6];tvTemp->strWeight=strValues[7];tvTemp->strBrand=strValues[8];tvTemp->nTotal=atoi(strValues[9].c_str());tvTemp->strCode=strValues[10];devsCategory[nDevs]=1;tvTemp->fs=this;}elseif(strValues[3]=="NA"){//createDVDclassDVD*dvdTemp=newDVD();devs[nDevs]=dvdTemp;dvdTemp->strName=strValues[1];dvdTemp->strDate=strValues[2];dvdTemp->strCharactor=strValues[5];dvdTemp->strPrice=strValues[6];dvdTemp->strWeight=strValues[7];dvdTemp->strBrand=strValues[8];dvdTemp->nTotal=atoi(strValues[9].c_str());dvdTemp->strCode=strValues[10];devsCategory[nDevs]=2;dvdTemp->fs=this;}else{//createTV_DVDclassTV_DVD*tdTemp=newTV_DVD();devs[nDevs]=tdTemp;tdTemp->strName=strValues[1];tdTemp->strDate=strValues[2];tdTemp->strSize=strValues[3];tdTemp->strType=strValues[4];tdTemp->strPrice=strValues[6];tdTemp->strWeight=strValues[7];tdTemp->strBrand=strValues[8];tdTemp->nTotal=atoi(strValues[9].c_str());tdTemp->strCode=strValues[10];tdTemp->innerDvd.strCharactor=strValues[5];devsCategory[nDevs]=3;tdTemp->fs=this;}//cout<<endl;nDevs++;}in.close();//Show();}voidfileSystem::release(){for(inti=0;i<nDevs;i++){delete(devs[i]);devs[i]=0;devsCategory[i]=0;}nDevs=0;}voidfileSystem::Show(){//显示标题行for(inti=0;i<FIELDNUM;i++){cout<<strTitles[i];}cout<<endl;//显示全部数据for(intn=0;n<nDevs;n++){stringvalues[FIELDNUM];chartotal[BUFSIZE];switch(devsCategory[n]){case1:values[0]=((TV*)devs[n])->strCategory;values[1]=((TV*)devs[n])->strName;values[2]=((TV*)devs[n])->strDate;values[6]=((TV*)devs[n])->strPrice;values[7]=((TV*)devs[n])->strWeight;values[8]=((TV*)devs[n])->strBrand;sprintf(total,"%d",((TV*)devs[n])->nTotal);values[9]=total;values[10]=((TV*)devs[n])->strCode;values[3]=((TV*)devs[n])->strSize;values[4]=((TV*)devs[n])->strType;values[5]="NA";break;case2:values[0]=((DVD*)devs[n])->strCategory;values[1]=((DVD*)devs[n])->strName;values[2]=((DVD*)devs[n])->strDate;values[6]=((DVD*)devs[n])->strPrice;values[7]=((DVD*)devs[n])->strWeight;values[8]=((DVD*)devs[n])->strBrand;sprintf(total,"%d",((DVD*)devs[n])->nTotal);values[9]=total;values[10]=((DVD*)devs[n])->strCode;values[3]="NA";values[4]="NA";values[5]=((DVD*)devs[n])->strCharactor;break;case3:values[0]=((TV_DVD*)devs[n])->strCategory;values[1]=((TV_DVD*)devs[n])->strName;values[2]=((TV_DVD*)devs[n])->strDate;values[6]=((TV_DVD*)devs[n])->strPrice;values[7]=((TV_DVD*)devs[n])->strWeight;values[8]=((TV_DVD*)devs[n])->strBrand;sprintf(total,"%d",((TV_DVD*)devs[n])->nTotal);values[9]=total;values[10]=((TV_DVD*)devs[n])->strCode;values[3]=((TV_DVD*)devs[n])->strSize;values[4]=((TV_DVD*)devs[n])->strType;values[5]=((TV_DVD*)devs[n])->innerDvd.strCharactor;break;default:break;}for(inti=0;i<FIELDNUM;i++){for(intj=values[i].size();j<COL_WIDTH;j++){values[i].append("");}cout<<values[i];}cout<<endl;}}voidfileSystem::Save(stringstrMsg){//将全部库存数据更新至文件ofstreamout(strKCFileName.c_str());//显示标题行for(inti=0;i<FIELDNUM;i++){for(intj=strTitles[i].size();j<COL_WIDTH;j++){strTitles[i].append("");}out<<strTitles[i];}out<<endl;//显示全部数据for(intn=0;n<nDevs;n++){stringvalues[FIELDNUM];chartotal[BUFSIZE];switch(devsCategory[n]){case1:values[0]=((TV*)devs[n])->strCategory;values[1]=((TV*)devs[n])->strName;values[2]=((TV*)devs[n])->strDate;values[6]=((TV*)devs[n])->strPrice;values[7]=((TV*)devs[n])->strWeight;values[8]=((TV*)devs[n])->strBrand;sprintf(total,"%d",((TV*)devs[n])->nTotal);values[9]=total;values[10]=((TV*)devs[n])->strCode;values[3]=((TV*)devs[n])->strSize;values[4]=((TV*)devs[n])->strType;values[5]="NA";break;case2:values[0]=((DVD*)devs[n])->strCategory;values[1]=((DVD*)devs[n])->strName;values[2]=((DVD*)devs[n])->strDate;values[6]=((DVD*)devs[n])->strPrice;values[7]=((DVD*)devs[n])->strWeight;values[8]=((DVD*)devs[n])->strBrand;sprintf(total,"%d",((DVD*)devs[n])->nTotal);values[9]=total;values[10]=((DVD*)devs[n])->strCode;values[3]="NA";values[4]="NA";values[5]=((DVD*)devs[n])->strCharactor;break;case3:values[0]=((TV_DVD*)devs[n])->strCategory;values[1]=((TV_DVD*)devs[n])->strName;values[2]=((TV_DVD*)devs[n])->strDate;values[6]=((TV_DVD*)devs[n])->strPrice;values[7]=((TV_DVD*)devs[n])->strWeight;values[8]=((TV_DVD*)devs[n])->strBrand;sprintf(total,"%d",((TV_DVD*)devs[n])->nTotal);values[9]=total;values[10]=((TV_DVD*)devs[n])->strCode;values[3]=((TV_DVD*)devs[n])->strSize;values[4]=((TV_DVD*)devs[n])->strType;values[5]=((TV_DVD*)devs[n])->innerDvd.strCharactor;break;default:break;}for(inti=0;i<FIELDNUM;i++){for(intj=values[i].size();j<COL_WIDTH;j++){values[i].append("");}out<<values[i];}out<<endl;}out.close();//增加一条出入库记录ifstreamlog(strLogFileName.c_str(),ios::in|ios::out);ostreamolog(log.rdbuf());olog.seekp(0,ios::end);time_tt=time(0);chartmp[64];strftime(tmp,sizeof(tmp),"[%Y-%m-%d%H:%M:%S]",localtime(&t));olog<<strMsg<<tmp<<endl;log.close();}//显示指定名称设备的全部出入库记录voidfileSystem::ShowLog(stringstrName){strName+="";ifstreamin(strLogFileName.c_str());charbuf[BUFSIZE];charname[BUFSIZE];s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上台领奖感言(5篇)
- DB12T 571-2015 历史风貌建筑安全性鉴定规程
- 中考百日誓师大会致辞
- 铁山港课件教学课件
- 木地板课件教学课件
- 贫攻坚课件教学课件
- 变网络课件教学课件
- 清新区第二中学集团九年级上学期语文期中联考试卷
- 四年级数学(四则混合运算)计算题专项练习与答案
- 美甲店合伙开店合作协议书(2篇)
- 《数学三年级上学期数学期中试卷》
- 2024-2025学年人教版七年级地理上学期 期中知识清单:第一章 地球
- 宠物饲料购销合同模板
- 2024年二级工会实施细则范文(三篇)
- 《 合唱指挥案头工作、排练与舞台呈现的递进构建》范文
- 《交换与路由技术》 课件 第5部分 路由器基础
- 2024年法律职业资格考试(试卷一)客观题试卷与参考答案
- 2024年秋季新北师大版一年级数学上册全册教案
- 2024年江苏南京航空航天大学招聘36人历年高频500题难、易错点模拟试题附带答案详解
- 绿城物业服务协议书范本2024年
- 血标本采集法并发症
评论
0/150
提交评论