版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
58/64*******************实践教学*******************兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题目:在线音像制品销售系统专业班级:计算机科学与技术1班姓名:赵王正学号:10240136指导教师:年福忠成绩:摘要在线音像制品销售系统是用于治理音像的出租和出售的系统。该系统用于音像出租或销售店,方便出售、销售、还回、查找等操作,可自定义音像,方便添加、治理音像和会员。提供完善的出租和还回操作,完全独立的数据库系统,数据治理提供:音像治理,会员治理。数据查询提供:租借情况,音像查询,会员查询。本系统界面美观,操作简单。关键词:销售;信息查询;会员治理;数据库目录摘要 2一、需求分析 11.1需求概述 11.2需求讲明 1二、总体设计 22.1算法设计 22.2功能模块: 32.3组织结构 3三、详细设计 43.1系统IPO图 43.2数据库设计 61.概念结构设计 62.逻辑结构设计 73.数据库表格设计 8四、编码 11五、调试 13六、设计总结 18致谢 19参考文献 20附录(源程序清单) 21一、需求分析1.1需求概述设计一个在线音像制品销售系统,使之能提供以下功能:(1)顾客查询治理功能(2)治理人员查询音像制品功能(3)治理人员添加音像制品功能1.2需求讲明(1)系统要实现差不多信息录入、修改、查询等功能:●客户治理。●库存治理(包括入库和发货)。●统计分析。(2)系统要实现满足多种条件的统计分析功能,有些统计数据要采纳图表的格式呈现;(3)销售治理系统所涉及的信息有:●客户信息。包括的数据项有:客户代码、名称、联系人,地址、电话,手机,传真,邮编,E-mail,税号,开户行,账号,信誉度等。●商品信息。包括的数据项有:商品代码、商品名称、品牌、供应商名称、尺码、款式、颜色、面料、包装方式等。●入库/发货信息。包括的数据项有:入库/发货单号、客户代码、经手人、商品代码、数量、单价、金额、日期等。●统计分析。要紧包括库存信息、销售信息、利润分析等。二、总体设计2.1算法设计系统要紧流程如图1所示:结束选择4,退出程序调用相应的函数Choice推断进入菜单界面,选择相应的操作的编号。结束选择4,退出程序调用相应的函数Choice推断进入菜单界面,选择相应的操作的编号。开始开始 图1系统要紧流程图2.2功能模块:模块如图2所示:音像店治理系统音像店治理系统治理员属性顾客治理影碟治理治理员属性顾客治理影碟治理 图2模块图2.3组织结构组织结构如图3所示负责人负责人业务柜台采购中心业务柜台采购中心采购员员工顾采购员员工顾客会员图3组织结构图三、详细设计3.1系统IPO图音像治理模块完成音像店音像信息相关的操作如图4所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:音像治理日期:2011-06-23由下列模块调用:调用下列模块:系统主模块添加音像、修改音像、删除音像、查询音像输入:输出:编号,影片名称,时刻长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数音像治理操作是否成功处理内容:检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。图4音像治理IPO图客户治理模块完成会员顾客信息相关的操作如图5所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:客户治理日期:2011-06-23由下列模块调用:调用下列模块:系统主模块添加会员、修改会员、删除会员、查询会员输入:输出:顾客编号,姓名,电话,OICQ,Email会员治理操作是否成功处理内容:检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。图5音像治理IPO图操作员治理模块完成系统操作员即职员信息相关的操作如图6所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:操作员治理日期:2011-06-23由下列模块调用:调用下列模块:系统主模块添加、修改、删除和查询操作员输入:输出:编号,姓名,密码,锁屏密码操作员治理操作是否成功处理内容:检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。图6操作员治理IPO图日常操作模块是完成日常业务工作操作的模块如图7所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:日常操作模块日期:2011-06-23由下列模块调用:调用下列模块:系统主模块销售音像、出租音像、归还音像输入:输出:顾客编号,音像编号,日期售/借/还操作是否成功处理内容:检查输入信息的合法性后,调用数据库修改操作,完成音像的销售、出租或者归还操作,修改数据库信息。图7日常操作IPO图查询模块是完成顾客对库存音像信息、可租音像信息查询的操作如图8所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:查询模块日期:2011-06-23由下列模块调用:调用下列模块:系统主模块输入:输出:查询关键词和关键词的类型满足条件的查询结果处理内容:检查输入信息的合法性后,调用数据库查询操作,完成对音像信息、顾客信息或者租借记录的查询。图8查询模块IPO图用户登录模块是系统用户登录该治理系统进行身份认证的操作如图9所示。IPO图系统名:音像制品出租及销售治理系统制图者:冯伟强模块图:用户登录日期:2011-06-23由下列模块调用:调用下列模块:系统主模块输入:输出:用户名、密码。处理内容:验证用户名和密码的合法性,并依照用户权限,进入不同的主界面。图9用户登陆IPO图3.2数据库设计1.概念结构设计概念模型能够看成是现实世界到机器世界的一个过渡的中间层,是整个数据库设计的关键。概念结构设计的结果是产生概念模型,将现实世界中的客观对象首先抽象为不依靠任何具体机器的信息结构,这种信息结构不是DBMS支持的数据模型,而是概念型模型。然后再把概念模型转换为具体机器上的DBMS支持的数据模型。要对数据词典中的数据存储进行分析,得到系统的关系模型,能够采纳实体联系图(简称E-R图)的方法来进行数据结构分析,从而得出概念模型。E-R图由实体、联系、属性三部分组成。(1)、实体和属性实体指客观存在并可相互区分的事物,能够是人、物、实际对象、某些概念、事物本身,也可指事物和事物之间的联系。属性是实体具有的某一特性。一个实体能够由若干个属性来描述。具体到该系统,概念设计得到的实体和对应属性如表10所示:实体属性音像制品编号,影片名称,时刻长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数顾客顾客编号,姓名,电话,OICQ,Email操作员编号,姓名,密码,锁屏密码系表10系统实体及其属性表(2)、实体间联联系是指现实世界的事物之间的联系。这种联系反映到信息世界中,就分为两类,一类是实体内部的联系,另一类是实体之间的联系。两个实体之间的联系可分为三类:1)一对一的联系(1:1)2)一对多的联系(1:n)3)多对多的联系(n:m)本系统包括的联系如表11所示:实体一实体二联系名称联系类不备注音像顾客租借M:N对应租借日志表表11系统联系表2.逻辑结构设计逻辑结构设计的任务是依照DBMS的特征把概念模型转换为相应的逻辑结构。概念设计所得到的E-R模型,是独立与DBMS的,那个地点的转换确实是把表示概念结构的E-R图转换为层次模型或网状模型或关系模型的逻辑结构。E-R图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模型,如何确定这些关系模式的属性和码。E-R模型转换为关系模型的一般转换规则包括以下两条:(1)、实体类型的转换将每个实体类型转换为一个关系模式,实体的属性即为关系模式的属性,实体标志符即为关系模式的键。(2)、联系类型的转换依照不同的情况做不同的处理:1)若实体间的联系是1:1的,能够在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。2)若实体间的联系是1:N的,能够在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。若实体间的联系是M:N的,能够将联系也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。依照上述转换规则,得到本系统的关系模式如下:音像制品:(音像编号,影片名称,时刻长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数)顾客:(顾客编号,姓名,电话,OICQ,Email)操作员:(编号,姓名,密码,锁屏密码)租借日志:(顾客编号#、音像编号#、借阅日期、归还日期)销售日志(顾客编号#、音像编号#、销售日期)3.数据库表格设计我在系统中定义的表格都严格地按照范式的思想和要求去完成,数据库中的所有表格都达到了三范式的要求。针对本系统的特点和需要实现的功能,在对所搜集的数据进行规范化之后,定义了如下9表格,分不是治理员表、客户治理表、客户日志表、演员表、演员格式、影片类型、影片资料、价格自定义表。通过对这九张表格的操作能够较好地完成系统设计的各项功能,9张表格之间有着不同程度的联系。(1)、治理员表治理员表要紧用于记录音像店治理操作员的的详细信息,包括姓名、密码、销售总数、级不、解屏密码等相关信息,要紧提供治理员对相关信息的治理,在此表中姓名是主键。治理员能够对治理员信息进行添加、查询、删除、修改等操作。ID姓名密码销售数量级不解屏密码1文本数字数字文本数字表12治理员表(2)、客户表客户表要紧用于记录有客户会员的各类信息,包括客户姓名、客户号、电话、OICQ等。它要紧用来为治理员提供本音像店所有会员的有关信息以进行相关的优惠或者奖励。ID客户姓名客户号电话OICQEmail1文本数字数字数字文本表13客户表(3)、客户日志表要紧是为操作员提供客户是否差不多租借音像制品信息信息,操作员依照这些信息进行操作,就能够在此表中查询日志的相关信息,比如:客户姓名、影片编号、借出时期。ID客户姓名影片编号借出时期1文本数字日期/时刻表14客户日志表(4)、演员表每一影片都有自己的要紧的演员,那个表就为顾客全面的介绍了所有影片的演员,关心顾客了解和选取自己中意的影片。ID影片编号演员1文本文本表15演员表(5)、影片格式表影片格式表定义了影片的格式,有三种选择:VCD,DVD,RM。ID影片格式1文本表16影片格式表(6)、影片类型表影片类型表里集中了关于影片类型的信息,包括科幻、动画、喜剧、恐惧、贺岁、警匪、历史、伦理、动作、战争、灾难、爱情等类型。ID影片类型1文本表17影片类型表(7)、影片语言表因为所有影片的语言不是一样的,因此我们设计出了那个表,语言包括中文、英语、日语、法语。ID影片语言1文本表18影片语言表(8)、影片资料表影片资料是总表,差不多包括了影片的所有属性,包括:影片编号、影片名称、时刻长度、导演、发行年度、影片介绍等等,顾客依照这些影片资料进行选择影片。ID编号名称时刻导演年度价格类型格式语言介绍租价数字1数字文本数字文本数字数字文本文本文本文本数字数字表19影片资料表(9)、价格定义表要紧介绍影片资料的出租以及销售的价格。ID购买价格租出价格1数字数字表20购买价格表 四、编码#include<fstream.h>//包含文件读写#include<iostream.h>#include<string.h>//包含strcmp()字符是否相等#include<stdlib.h>//包含system("cls")清屏#defineMAX20//下列字符数组的大小structDate{//日期charyear[MAX];//年charmonth[MAX];//月charday[MAX];//日};structGoods{//物品信息charname[MAX];//音像名称charprice[MAX];//音像价格charnumber[MAX];//音像数量charcost[MAX];//音像总价charkind[MAX];//音像的种类Dateindate;//购进日期Goods*next;//下一个结点};classyinxiangzhipini{//类定义与实现private:intlength;//客户数量Goods*head;//列表的头结点Goods*current;//当前结点public:yinxiangzhipin()//构造函数 {head=newGoods;//创建头结点 current=head; current->next=NULL; length=0;//长度为0 }voidCreatlist()//创建新的列表 { charg='Y'; ints=0; length=0;//初始长度为0; current=head; do{Goods*temp=newGoods;//构建新结点信息 length++;//每加一个结点链表长度增1 temp->next=NULL; cout<<"请输入音像名称:"; cin>>temp->name; cout<<"请输入音像单价:"; cin>>temp->price; cout<<"请输入音像数量:"; cin>>temp->number;cout<<"请输入总费用:"; cin>>temp->cost; cout<<"请输入日期(********):"; cin>>temp->indate.year>>temp->indate.month>>temp->indate.day; cout<<"请输入的种类:"; cin>>temp->kind; if(head==NULL){head=temp;current=temp;}//head头指针,current尾指针 else{current->next=temp,current=temp;} do{cout<<"next?(YN)";//是否接着存入新产品 cin>>g; if(g!='Y'&&g!='N') { cout<<"\nerror!!!!\n"; } }while(g!='Y'&&g!='N'); }while(g=='Y');//推断是否接着插入新结点 }五、调试程序输入与结果输出:5.1主菜单:5.2音碟治理子菜单:5.3查找音碟:5.4查看音碟库存:5.5打印音碟详情:5.6顾客治理子菜单:5.7显示已有顾客的信息:5.8注册新顾客5.9顾客出租一张音碟:5.10顾客返回一张音碟:5.11治理员属性子菜单:5.12重设音碟数量:5.13增加治理员:5.14治理员一览:5.15退出总程序:六、设计总结此次课程设计是第一次利用面向对象程序设计思想来编写程序。在整个过程中并不是十分成功的,但结果依旧令人中意的,最终程序依旧能够运行了。不但完成了实验的要求,而且还更加深刻了自己对面向对象编程的思想:面向对象程序设计是对数据的封装;范式(模板)的程序设计是对算法的封装。利用面向对象思想编程是能够简化程序员的懒惰,不管是对象,依旧函数,假如你输入有问题,那么都会在编译的时候报告出来,方便你修改,而不是在执行的时候出错,害的你到处去捉虫子。
这确实是用面向对象思想编程的好处。通过此次实验,我学到了许多知识。程序的成功运行离不开老师的教导,在此,十分感谢课程设计老师的指导!致谢在这次课程设计的撰写过程中,我得到了专门多人的关心。首先,我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和关心,这是我能顺利完成这次课设的要紧缘故,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮过我的同学,他们也为我解决了许多我不太明白的问题。同时也感谢学院为我提供良好的做课程设计的坏境。最后,再一次的感谢所有在设计中关心过我的良师益友和同学。参考文献[1]周靖译.C++面向对象程序设计—基础、数据结构与编程思想,清华大学出版[2]王连相.C/C++程序设计上机指导与测试.北京:中国铁道出版社,2006[3]钞票能.C++程序设计教程,清华大学出版社,1999[4]王育坚等.VisualC++程序基础教程,北京邮电大学出版社,2000[5]陈文宇.面向对象程序设计语言C++机械工业出版社,2004[6]廉师友.C++面向对象程序设计简明教程,西安电子科技大学出版社,1998[7]刁成嘉.面向对象C++程序设计,机械工业出版社,2004[8]江明德.面向对象的程序设计,电子工业出版社,1993附录(源程序清单)#include<vector>#include<fstream>#include<string.h>#include"VideoType.h"#include"VideoListType.h"#include"CustomerType.h"#include"CustomerListType.h"#include"AdminstratorType.h"#include"AdminstratorListType.h"usingnamespacestd;intMember=0;//顾客会员号intNum=0;//治理职员作号//从文件VideoData.txt中读取数据并创建影碟列表voidcreateVideoList(ifstream&infile,VideoListType&videolist){ chartitle[50],star1[50],star2[50],producer[50],director[50],productionco[70],ch; intinstock,videoid; VideoTypenewvideo; infile.get(title,50); infile.get(ch); while(infile) { infile.get(star1,50); infile.get(ch); infile.get(star2,50); infile.get(ch); infile.get(producer,50); infile.get(ch); infile.get(director,50); infile.get(ch); infile.get(productionco,50); infile.get(ch); infile>>instock; infile.get(ch); infile>>videoid; infile.get(ch); newvideo.setVideoInfo(title,star1,star2,producer,director,productionco,instock,videoid); videolist.push_back(newvideo); infile.get(title,50); infile.get(ch); }}//从文件CustomerData.txt中读取数据并创建顾客会员列表voidcreateCustomerList(ifstream&infile,CustomerListType&customerlist){ charname[20],ch,str1[50];intnum,id[50]; CustomerTypenewcustomer; infile.get(name,20); infile.get(ch); while(infile) {Member++; infile.get(str1,50); infile.get(ch); infile>>num;infile.get(ch); for(inti=0;i<50;i++) { id[i]=str1[i]; id[i]=id[i]-48; } newcustomer.setCustomerInfo(name,num,id); customerlist.push_back(newcustomer); infile.get(name,20); infile.get(ch); }}//从文件AdminstratorData.txt中读取数据并创建治理员列表voidcreateAdminstratorList(ifstream&infile,AdminstratorListType&Adminstratorlist){ charname[20],ch;intnum; AdminstratorTypenewadminstrator; infile.get(name,20); infile.get(ch); while(infile) {Num++; infile>>num;infile.get(ch); newadminstrator.setAdminstratorInfo(name,num); Adminstratorlist.push_back(newadminstrator); infile.get(name,20); infile.get(ch); }}voidMenu1(){ cout<<"\t\t┏━━━━━━━━━━━━━━━━━━━┓"<<endl; cout<<"\t\t┃欢迎进入影像店系统┃"<<endl; cout<<"\t\t┃1:音碟治理┃"<<endl; cout<<"\t\t┃2:顾客治理┃"<<endl; cout<<"\t\t┃3:治理员属性┃"<<endl; cout<<"\t\t┃4:退出┃"<<endl; cout<<"\t\t┗━━━━━━━━━━━━━━━━━━━┛"<<endl;}voidMenu2(){ cout<<"*********************************"<<endl; cout<<"**欢迎进入音碟治理**"<<endl; cout<<"1:查找音碟*"<<endl;cout<<"2:库存音碟*"<<endl;cout<<"3:打印所有音碟详情*"<<endl; cout<<"4:退出*"<<endl; cout<<"*********************************"<<endl;}voidMenu3(){ cout<<"*******************************"<<endl; cout<<"**欢迎进入顾客治理**"<<endl; cout<<"1:显示已有顾客的信息*"<<endl; cout<<"2:注册新顾客*"<<endl; cout<<"3:顾客出租一张影碟*"<<endl; cout<<"4:顾客返回一张影碟*"<<endl;cout<<"5:退出*"<<endl; cout<<"*******************************"<<endl;}voidMenu4(){ cout<<"*******************************"<<endl; cout<<"**欢迎进入治理员属性**"<<endl;cout<<"1:重新设置某张影碟的数量*"<<endl; cout<<"2:增加治理员*"<<endl; cout<<"3:治理员一览*"<<endl;cout<<"4:退出*"<<endl; cout<<"*******************************"<<endl;}//从文件中写入注册的新会员voidlogin(CustomerListType&customerlist){ Member++; charname[50]; inttitle[50]={0}; CustomerTypecustomer;ofstreamfile; //打开CustomerData.txt输入文件 file.open("f:\\CustomerData.txt",ios::app); cout<<"输入新会员的名字:"<<endl; cin>>name; file<<name; file<<"\n"; file<<0;file<<"\n";file<<Member;file<<"\n"; file.close(); customer.setCustomerInfo(name,Member,title); customerlist.push_back(customer); cout<<"注册成功!会员号为:"<<Member<<endl<<endl;}//从文件中写入增加的新治理员voidcreat(AdminstratorListType&Adminstratorlist){ Num++; charname[50]; inttitle[50]={0}; AdminstratorTypeadminstrator;ofstreamfile; //打开AdminstratorData.txt输入文件 file.open("f:\\AdminstratorData.txt",ios::app); cout<<"输入新治理员的名字:"<<endl; cin>>name; file<<name; file<<"\n";file<<Num;file<<"\n"; file.close(); adminstrator.setAdminstratorInfo(name,Num); Adminstratorlist.push_back(adminstrator); cout<<"注册成功!工作号为:"<<Num<<endl<<endl;}intmain(){ VideoListTypevideolist; CustomerListTypecustomerlist; AdminstratorListTypeAdminstratorlist; intchoice,number; charch,title[50],name[50]; ifstreamfile1,file2,file3; //打开VideoData.txt输入文件 file1.open("f:\\VideoData.txt"); if(!file1) { cout<<"VideoData.txt文件不存在!"<<endl; return1; } //创建影碟列表 createVideoList(file1,videolist); file1.close(); //打开AdminstratorData.txt输入文件 file2.open("f:\\AdminstratorData.txt"); if(!file2) { cout<<"AdminstratorData.txt文件不存在!"<<endl; return1; } //创建治理员列表 createAdminstratorList(file2,Adminstratorlist); file2.close();//打开CustomerData.txt输入文件 file3.open("f:\\CustomerData.txt"); if(!file3) { cout<<"CustomerData.txt文件不存在!"<<endl; return1; } //创建顾客会员列表 createCustomerList(file3,customerlist); file3.close(); //显示菜单 Menu1(); cout<<"输入选项:"<<endl; cin>>choice; //处理输入 while(choice!=4) { switch(choice) { case1: inta; Menu2(); cout<<"请输入选项:"<<endl; cin>>a; while(a!=4) { switch(a) { case1: cout<<"输入音碟名称:"<<endl; cin.get(ch); cin.get(title,50); videolist.videoInformation(title); break; case2: cout<<"输入音碟名称:"<<endl; cin.get(ch); cin.get(title,50); if(videolist.videoSearch(title)) { if(videolist.isVideoAvailable(title)) { } else { cout<<"该音碟差不多借光。"<<endl<<endl; } } else { cout<<"库中没有该音碟。"<<endl<<endl; } break; case3: videolist.print(); break; default: cout<<"输入错误!"<<endl<<endl; } Menu2(); cout<<"输入选项:"<<endl; cin>>a; } break; case2: intb; Menu3(); cout<<"请输入选项:"<<endl; cin>>b; while(b!=5) { switch(b) { case1: customerlist.CustomerShow(); cout<<endl; break; case2: login(customerlist); break; case3: { cout<<"输入顾客的名字:"<<endl; cin.get(ch); cin.get(name,50); if(customerlist.CustomerJudge(name)) { cout<<"输入需借出的影碟名称:"<<endl; cin.get(ch); cin.get(title,50); if(videolist.videoCheckTitle(title)) { videolist.videoCheckOut(title); number=videolist.VideoID(title); customerlist.CustomerRental(name,title,number); } else { cout<<"对不起,音像店没有此"<<"<<"<<title<<">>"<<"影碟。"<<endl; } } else { cout<<"对不起,请注册成为会员!"<<endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年嘉兴经济技术开发区总工会招聘工会社会工作者2人备考题库及答案详解参考
- 2025河南航天工业有限责任公司招聘质量管理主管1人备考考点题库及答案解析
- 2025广东深圳市第一职技术学校选聘教师1人备考考点题库及答案解析
- 2025广西玉林市福绵区樟木中心卫生院公开招聘5人参考考点题库及答案解析
- 2025黑龙江齐齐哈尔市富裕县招聘政府专职消防员3人备考题库含答案详解(黄金题型)
- 2025中国人民财产保险股份有限公司兰州市分公司招聘考试笔试备考题库及答案解析
- 2025山东潍坊市总工会招聘工会社会工作者60人备考题库附答案详解(达标题)
- 2025年河北雄安新区公开招聘社区工作者62名备考题库及答案详解(真题汇编)
- 2025重庆市璧山区第二人民医院招聘5人笔试考试参考题库及答案解析
- 2025神龙汽车有限公司招聘2人参考笔试题库及答案解析
- 2025内蒙古民族幼儿师范高等专科学校辅导员考试题库
- 教育机构授权委托书范文
- 2025年宿迁市公需考试试题
- 2025电动自行车停放充电场所消防安全规范
- 垃圾池维修合同范例
- (高清版)DB21∕T 2408-2015 河口潮滩湿地碱蓬景观生态工程构建技术规程
- 《感染性休克liu》课件
- 电工常识教学课件磁与电磁
- 24秋国家开放大学《社会教育及管理》形考任务1-3参考答案
- DB11T 850-2011 建筑墙体用腻子应用技术规程
- DB36-T 1946-2024 普通公路网运行监测与服务规范
评论
0/150
提交评论