C专业课程设计报告图书标准管理系统.doc
《C专业课程设计报告图书标准管理系统.doc》由会员分享,可在线阅读,更多相关《C专业课程设计报告图书标准管理系统.doc(43页珍藏版)》请在咨信网上搜索。
C专业课程设计报告图书标准管理系统 C语言课程设计报告: 图书管理系统 系统需求 一、 新书入库: 图书信息包括书名, 书号, 库存量, 现存量共4项. 首先输入3本书的信息, 并将其存入文件 ”book.dat” 中. 当有新书入库时, 先判断文件中是否有此书( 即比较书名 ), 若有则修改库存量, 现存量的信息; 若无此书, 则将该书的信息添加到文件中. 二、图书查询: 输入一个书号, 在文件中查找此书, 若找到则输出此书的全部信息; 若找不到则输出查找失败的信息. 三、借阅管理 (1) 每个读者的信息包括姓名, 编号, 1张借书卡( 限借一本书 ), 输入3个读者的信息存入文件 “reader . dat” 中. (2) 借书登记: 输入读者的编号, 所借图书的书号, 先判断姓名是否在文件”reader.dat” 中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡的信息都为零, 借书后借书卡的信息改为所借书的书号), 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量. 若”reader.dat”无此姓名, 则应提示错误 (3) 还书管理: 输入读者的编号, 所还图书的书号, 将借书卡的信息置为零, 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量. 四、输出全部图书信息和全部读者信息 五、退出系统. 六、附加说明:系统将来完善的功能有:添加读者,一位读者可同时借阅和归还多本图书等 总体设计 一、 仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数) 1、 新书入库模块:可用一个函数insert_new_book(char book_num[],char book_name[],int number)来实现。形参分别为:书名, 书号,以及有多少本书要入库,再根据要求将信息写入文件boot.dat中。又由于最开始要输入三本新书,故可以加一个初始化函数init_book(),但是初始化函数只执行一次,也就是在系统第一次运行的时候执行,此时可以根据判断是否存在boot.dat这个文件来决定是否执行初始化函数. 2、 查询模块:可用一个函数void find_book(char book_num[])来实现。找到就输出此书全部信息,找不到就输出查找失败信息。 3、 借阅管理模块: (1) 三个读者的信息可以在系统初始化时完成.即可用初始化函数init_reader()来实现对读者的初始化。因为读者初始化函数也只是在系统第一次运行的时候执行一次,故也可以根据是否存在reader.dat文件来确定是否执行此函数。(到现在可以发现在系统初始化函数里,至少已经需要调用两个初始化函数了) (2) 借书登记模块:可用一个函数borrow_book(char reader_num[],char book_num[])来实现。在函数中要分别判断 A 该读者的编号是否已经存在,如果不存在,则提示错误。 B 该读者的借阅书是否已满(即最多只能借1本书)如果是,则提醒该用户先去还书 C 输出的书号对应的书是否存在,如果不存在,则提醒读者不存在此书。 借书过程完成后,则对读者信息里的借书信息写上所借书号,并修改库存量。 (3) 还书管理模块:可用一个函数return_book(char reader_num[], char book_num[])来实现。在实现此函数时要判断: A 该读者的姓名是否已经存在,如果不存在,则提示错误。 B 该读者是否已经借阅此书。如果没有,则提示错误。 C 还书过程完成后,则对读者信息里的借书信息清零,并修改库存量。 4、 输出图书和读者信息:可分别用模块print_book()和print_reader()来实现 直接从book.dat文件和reader.dat文件中读取信息并输出。 5、 退出系统:可用一个函数exit()来实现。首先将信息保存到文件,释放动态创建的内存空间,再退出此程序。 图书管理系统 二、系统主模块结构图: 退出系统 新书入库 图书查询 借书登记 借书登记 输出读者信息 输出图书信息 详细设计 一、 界面设计 此系统界面采用图形和数字化菜单设计。 主界面设计如下: 图书管理系统 图书管理系统主菜单 请选择相应的数字执行相应的功能: 0:退出此系统 1:新书入库 2:图书查询 3:借书登记 4:还书管理 5:输出全部图书信息和读者信息 各子界面如下: 1、 新书入库界面: 请选择相应的数字执行相应的功能: 10:返回主菜单 11:新书入库 请输入新书名: 请输入新书号: 请输入新书数量: (注:新书入库成功后,程序返回到子界面1) 2、 图书查询界面界面: 请选择相应的数字执行相应的功能: 20:返回主菜单 21:图书查询 请输入需要查询的书号: (注:图书查询完成后,返回到子界面2) ` 3、借书登记界面: 请选择相应的数字执行相应的功能: 30:返回主菜单 31:借书登记 请输入读者编号: 请输入所借书号: (注:借书过程完成后,返回到子界面3) ` ` 4、还书管理: 请选择相应的数字执行相应的功能: 40:返回主菜单 41:还书登记 请输入读者编号: 请输入所借书号: (注:还书过程完成后,返回到子界面4) 5、输出全部图书和读者信息: 请选择相应的数字执行相应的功能: 50:返回主菜单 51:输出全部图书信息: 书号 书名: 库存量 现存量 52:输出全部读者信息: 读者编号 读者姓名 所借书号 (注:输出图书和读者信息后,返回到子界面5) 二、 数据结构设计 程序中考虑到图书信息和读者信息中都包含有不同类型的数据,故分别建立图书和读者两种类型的结构体;由于图书和读者的数量非固定,所以采用动态链式存储来实现。 图书类型: typedef struct bk{ char book_num[11]; /* 书号采用10位编码最后1位为字符串结束标志(下同). */ char book_name[41]; /* 书名规定不超过40个字母(20 个汉字) */ unsigned book_kc,book_xc; /* book_kc 代表库存梁,book_xc代表现存量 */ struct bk *next; }book; 读者类型: typedef struct rd{ char reader_num[11]; /* 读者编号采用10位编码 */ char reader_name[11]; /* 读者姓名 */ char reader_book_num[11]; /*表示所借书号,初始值为“0”*/ struct bk *next; }reader; 三、 主要功能程序结构设计 1、系统主要结构流程图: 开始 否 已做初始化 初始化 是 退出系统 0 功能选择 1 4 5 3 2 图书查询 还书 借书登记 新书入库 是 入库完否 51 52 输出读者信息 输出图书信息 否 (注:功能模块2,3,4,5都类似功能模块1,细节见下面个功能程序流程图) 2、新书入库功能程序结构图 开始 输入新书名、新书号和新书数量 是 if(还有新书) 根据数量修改库存 已存在此新书 是 否 结束(即返回主菜单) 否 book.dat中增加此新 书,根据数量设置库存量 3、图书查询程序结构图: 输入要查询的书号 开始 是否存在此书 输入信息:此书不存在 否 是 输入此书的全部信息 结束(即返回主菜单) 是否继续查询 否 是 4、借书登记程序结构流程图: 是 是否重输否满 输出出错信息 否 否 是否存在编号 输入读者编号 开始 是 是否还书 借书卡是否满 提示不能借书 是 否 否 是 进入还书模块 输入需要借的书号 结束(即返回主菜单) 书号存在否 否 是 否 还有读者借书 借书登记,修改book.dat 中的现存信息,reader.dat 中的借书卡信息 是 5、 还书管理程序结构图: 是 否 否 是 输入还书的书的编号 是否重输 否 核对书号 错误 进入查询模块 输出出错信息 是否存在编号 输入读者编号 开始 是否重输否满 正确 还书将读者信息借书卡清0 修改book.dat现存信息 还有读者还书 否 结束(即返回主菜单) 是 6、输出读者和图书信息 开始 选择输出图书还是读者信息 输出全部读者信息 图书 图书 结束(即返回主菜单) 输出全部图书信息 四、文件存储路径。 可执行文件tsglxt.exe及book.dat、reader.dat,都存储在c:\tsgl文件夹下。 程序代码: #include <stdio.h> #include <graphics.h> /*图形函数头文件 */ #include <math.h> #include <string.h> typedef struct bk { char book_num[11]; char book_name[41]; int book_kc; int book_xc; struct bk * next; }book; /* 图书信息*/ typedef struct rd { char reader_num[11]; char reader_name[11]; char reader_book_num[11]; struct rd * next ; }reader;/*读者信息*/ struct bk * h_book,* h_reader; /*全局变量,分别为指向图书信息链表和读者信息链表的头指针*/ void Form_Insert_New_Book(); /*新书入库菜单*/ void Form_Find_Book(); /*查询图书菜单 */ void Form_Borrow_Book(); /*借书菜单*/ void Form_Return_Book(); /*还书菜单*/ void Find_Book(char *); /*查询图书*/ void Insert_New_Book(char *,char * ,int ); /*新书入库,即在链表中插入一个新节点*/ void Borrow_Book(char *,char *);/*借书,修改读者借阅信息和图书的现存信息*/ void Return_Book(char *,char *);/*还书,修改读者借阅信息和图书的现存信息*/ void print_book(struct bk *);/*输出全部图书信息*/ void print_reader(struct rd *);/*输出全部读者信息*/ void load_data();/*从文件中读取数据,链表头指针指向第一个节点*/ void init_reader();/*第一次运行程序时对三个读者的初始化*/ void init_book();/*第一次运行程序时对三本图书的初始化*/ void save();/*将链表中的信息保存到文件中*/ void M_Form()/*主菜单*/ { char ch; printf("\n 图书管理系统主窗口"); printf("\n 0:退出系统"); printf("\n 1:新书入库"); printf("\n 2:图书查询"); printf("\n 3:借书登记"); printf("\n 4:还书管理"); printf("\n 5:输出全部信息"); do{ /*此循环用来保证选择正确的数字键执行相应的功能*/ printf("\n\n 请选择相应的功能代码:"); scanf("%c",&ch); fflush(stdin); /*用于清楚键盘缓冲区中的多余字符*/ }while(ch!='0'&&ch!='1'&&ch!='2'&&ch!='3'&&ch!='4'&&ch!='5'); switch(ch) /*根据输入的字符进行选择执行相应的模块*/ { case '0':exit(0); case '1':Form_Insert_New_Book();break; case '2':Form_Find_Book();break; case '3':Form_Borrow_Book();break; case '4':Form_Return_Book();break; case '5':load_data();print_book(h_book);print_reader(h_reader);M_Form(); default:printf("error\n");exit(0); } } void Form_Find_Book() { char ch; char book_num[11]; printf("\n 图书查询功能模块,请选择相应的功能代码:\n"); printf(" 0:返回到主菜单\n"); printf(" 1:图书查询"); do{ printf("\n\n 请选择相应的功能代码:"); scanf("%c",&ch); fflush(stdin); }while(ch!='0'&&ch!='1'); switch(ch) { case '0':M_Form();break; /*选择0,则返回到上一级目录,即主菜单*/ case '1': { printf(" \n请输入需要需要查询的书的编号:"); scanf("%s",book_num); fflush(stdin); Find_Book(book_num); /*执行查询*/ Form_Find_Book();/*查询完毕后继续返回到查询窗口,执行下一个查询*/ } default:printf("error\n");exit(0); } } void Find_Book(char book_num[]) /*查询图书模块,根据图书编号查询*/ { struct bk *p; p=h_book; while(p!=NULL&&strcmp(p->book_num,book_num)!=0) p=p->next; /*此循环用于查找,如果在中间找到,则p就不可能到末尾指向空*/ if(p==NULL) printf("\n\t此编号对应的图书不存在!\n"); else { printf("\n\t图书编号\t图书名\t库存量\t现存量 \n"); printf(" %10s\t %10s\t %d\t %d\t\n",p->book_num,p->book_name,p->book_kc,p->book_xc); } getch(); } void init_book() /*初始化图书模块*/ { book ba[3]; FILE *fp; int i; printf("\n 系统即将进行初始化,图书初始化模块:\n"); printf("\n 请分别输入三本书的书号,书名,数量(以空格隔开):\n "); for(i=0;i<3;i++) /*输入3本图书进行初始化*/ scanf("%s%s%d",ba[i].book_num,ba[i].book_name,&ba[i].book_kc); for(i=0;i<3;i++) {ba[i].book_xc=ba[i].book_kc;} /*开始时库存=现存*/ if((fp=fopen("book.dat","wb"))==NULL)/*建立新文件book.dat准备写入数据*/ { printf("不能建立图书文件,初始化失败!请重新启动系统!\n"); return; } for(i=0;i<3;i++)/*将初始化的3本图书写入文件book.dat中*/ { if(fwrite(&ba[i],sizeof(struct bk),1,fp)!=1) { printf("\写数据错误!\n"); exit(0); } } fclose(fp); } void init() /*对图形函数、图书信息、读者信息进行初始化(本程序中暂且没有用图形函数)*/ { int drive=DETECT,mode=0; initgraph(&drive,&mode,""); init_book(); init_reader(); } void Insert_New_Book(char book_num[],char book_name[],int number) /*增加1本新书,读入新书的名称、编号和数量*/ { struct bk *book_fp; struct bk *p,*q,*t; q=p=h_book; while(p!=NULL&&strcmp(p->book_num,book_num)!=0) { q=p;p=p->next; } if(strcmp(p->book_num,book_num)==0) { printf("\n\t\t此编号已经存在,请重新输入!\n"); return; } t=(struct bk *)malloc(sizeof(struct bk)); strcpy(t->book_num,book_num); strcpy(t->book_name,book_name); t->book_kc=t->book_xc=number; q->next=t;t->next=NULL; if((book_fp=fopen("book.dat","ab"))==NULL) { printf("不能建立图书文件,初始化失败!请重新启动系统!\n"); return; } /*将新书信息添加到文件中*/ fwrite(t,sizeof(struct bk),1,book_fp); fclose(book_fp); } void print_book(struct bk *h) /*输出图书信息*/ { struct bk *p; p=h; printf("\n\t图书编号 \t图书名 \t库存量 \t现存量 \n"); while(p!=NULL) { printf(" %10s\t %10s %10d\t%10d\n",p->book_num,p->book_name,p->book_kc,p->book_xc); p=p->next; } } void print_reader(struct rd *h) /*输出读者信息*/ { struct rd *p; p=h; printf("\n\t读者编号 \t读者姓名 \t所借书号 \n"); while(p!=NULL) { printf(" %10s\t %10s %10s\n",p->reader_num,p->reader_name,p->reader_book_num); p=p->next; } getch(); } void Form_Borrow_Book() /*借书菜单界面*/ { char ch; char book_num[11],reader_num[11]; printf("\n 图书借阅功能模块,请选择相应的功能代码:\n"); printf(" 0:返回到主菜单\n"); printf(" 1:图书借阅\n"); do{ printf("\n\n 请选择相应的功能代码:"); scanf("%c",&ch); fflush(stdin); }while(ch!='0'&&ch!='1'); switch(ch) { case '0':M_Form();break; case '1': { printf(" \n请输入读者编号与所借书编号:(以空格分隔)"); scanf("%s%s",reader_num,book_num); fflush(stdin); Borrow_Book(reader_num,book_num);/*调用借书函数,执行借书功能*/ Form_Borrow_Book();/*借书完成后,程序返回到借书菜单*/ } default:printf("error\n");exit(0); } } void Borrow_Book(char reader_num[],char book_num[]) /*输入读者编号,和需要借阅的书的编号,执行借书功能*/ { struct bk *book_p; struct rd *reader_p; book_p=h_book; while(book_p!=NULL&&strcmp(book_p->book_num,book_num)!=0) book_p=book_p->next; if(book_p==NULL) { printf("\n\t此编号对应的图书不存在!\n"); Form_Borrow_Book(); } reader_p=h_reader; while(reader_p!=NULL&&(strcmp(reader_p->reader_num,reader_num)!=0)) reader_p=reader_p->next; if(reader_p==NULL) { printf("\n\t此编号对应的读者不存在!\n"); Form_Borrow_Book(); } else if(strcmp(reader_p->reader_book_num,"0")!=0) { printf("\n\t已达到最大借阅数,不能再借书!\n"); Form_Borrow_Book(); } else { book_p->book_xc=book_p->book_xc-1;/*借书完成后,修改现存量*/ strcpy(reader_p->reader_book_num,book_p->book_num);/*修改读者的借阅信息*/ save();/*将修改后的信息保存到文件中*/ load_data(); /*读入新文件中的数据*/} Form_Borrow_Book();/*程序执行完毕后,返回到借书菜单界面*/ } void Form_Return_Book() /*还书菜单*/ { char ch; char book_num[11],reader_num[11]; printf("\n 归还图书功能模块,请选择相应的功能代码:\n"); printf(" 0:返回到主菜单\n"); printf(" 1:归还图书\n"); do{ printf("\n\n 请选择相应的功能代码:"); scanf("%c",&ch); fflush(stdin); }while(ch!='0'&&ch!='1'); switch(ch) { case '0':M_Form();break; case '1': { printf(" \n请输入读者编号与所还书编号:(以空格分隔)"); scanf("%s%s",reader_num,book_num); fflush(stdin); Return_Book(reader_num,book_num);/*调用还书函数*/ Form_Return_Book(); } default:printf("error\n");exit(0); } } void Return_Book(char reader_num[],char book_num[]) /*输入读者编号和所还书编号执行还书*/ { struct bk *book_p; struct rd *reader_p; book_p=h_book; while(book_p!=NULL&&strcmp(book_p->book_num,book_num)!=0) book_p=book_p->next; if(book_p==NULL) { printf("\n\t此编号对应的图书不存在!\n"); Form_Return_Book(); } reader_p=h_reader; while(reader_p!=NULL&&(strcmp(reader_p->reader_num,reader_num)!=0)) reader_p=reader_p->next; if(reader_p==NULL) { printf("\n\t此编号对应的读者不存在!\n"); Form_Return_Book(); } else if(strcmp(reader_p->reader_book_num,book_num)!=0) { printf("\n\t读者没有借阅此书\n"); Form_Return_Book(); } else { book_p->book_xc=book_p->book_xc+1;/*还书后,修改图书库存量*/ strcpy(reader_p->reader_book_num,"0");/*还书后,修改读者借阅信息*/ save();/*保存到文件*/ load_data(); /*读入文件中的数据*/} Form_Return_Book(); } void init_reader() /*系统第一次运行时,初始化3位读者信息,从键盘读入*/ { FILE *fp; reader ra[3]; int i; printf("\n 系统即将进行读者初始化:\n"); printf("\n 请分别输入三位读者的编号和姓名(以空格隔开):\n "); for(i=0;i<3;i++) scanf("%s%s",ra[i].reader_num,ra[i].reader_name); for(i=0;i<3;i++) strcpy(ra[i].reader_book_num,"0"); if((fp=fopen("reader.dat","wb"))==NULL) { printf("不能建立读者文件,初始化失败!请重新启动系统!\n"); return; } for(i=0;i<3;i++)/*将3位读者信息写入文件*/ { if(fwrite(&ra[i],sizeof(struct rd),1,fp)!=1) { printf("\写数据错误!\n"); exit(0); } } } void Form_Insert_New_Book() /*添加新书菜单*/ { char ch; struct bk t; printf("\n 新书入库功能模块,请选择相应的功能代码:\n");- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计 报告 图书 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文