C++实训报告之仓库管理以及实训题目指导.docx
《C++实训报告之仓库管理以及实训题目指导.docx》由会员分享,可在线阅读,更多相关《C++实训报告之仓库管理以及实训题目指导.docx(37页珍藏版)》请在咨信网上搜索。
昆明理工大学城市学院 昆明理工大学城市学院面向对象程序设计实训报告 仓库商品检查登记管理系统 专业: 班级: 姓名: 学号: 指导老师: 2021年1月6日 目录 目录………………………………1 实训的目的和任务………………3 实训内容指导……………………3 仓库商品检查登记管理系统…… 类设计…………………………… 流程图…………………………… 源代码…………………………… 程序运行结果…………………… 总结……………………………… 一、实训的目的和任务 C++语言程序设计的实训,是教学方案中的一个有机组成局部,是培养学生综合应用所学的根底的理论,根本知识和技能,分析解决实际问题能力的重要一环,与其它教学环节紧密配合,相辅相成,是前面教学环节的继续,深入和开展。通过实训过程可在不同程度上提高调查研究,查问文献,实际应用的能力。 二、实训内容指导 〔一〕数据类型和表达式 根底实训 1、定义一个描述学生的结构体类型student,含有学号num、姓名name、性别sex、成绩score几个分量,再定义属于这个结构体类型的两个变量stu1、stu2。 struct student { int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ float score; /* 成绩 */ }; struct student student1, student2; 2、建立一个适于描述碗和勺子的结构体,有关的信息是:两者都有货号、价格、颜色,不同的是碗的大小用口径来表示,勺子的大小用枚举类型表示,分大、中、小三种。现有的勺子的大小是中,将其表示出来。 #include <iostream> using namespace std; struct bowl{ int No; int price; char color; float size; }; struct spoon{ int No; int price; char color; struct{ enum {small,medium,big}shaozi; }a; }b; void main() { b.a.shaozi = b.a.medium; cout<<b.a.shaozi; } 3、编程实现两个整数相加。 #include<iostream.h> int main() { int integer1,integer2,sum; cout<<"Enter first integer\n"; cin>>integer1; cout<<"Enter second integer\n"; cin>>integer2; sum=integer1+integer2; cout<<"Sum is "<< sum<< endl; return; } 4、编程实现,输入一个三位整数,能够将它反向输出。 #include <stdio.h> #include<iostream> using namespace std; void main() { int num; cout<<"input:"; cin>>num; while(num) { cout<<num%10; num /=10; } cout<<endl; } 5、读程序写结果。 综合实训 数字互换实训。输入一个大于三位的整数,编一个程序,将它的十位数和百位数互换位置。 #include<iostream> using namespace std; int main() { int x; int a[3]; cin>>x; for(int i=0;i<3;i++) { a[i]=x%10;x=x/10; } x=x*1000+a[0]+a[1]*100+a[2]*10; cout<<x<<endl; return 1; } 〔二〕语句和函数 根底实训 1、根据考试成绩的等级A、B、C和D,输出对应的百分制分数段,A对应85~100,B对应70~84,C对应60~69,D对应0~60。 #define num 100 int a[]=new int [num]; for(int i=0;i<num;i++) { if(a[i]>=85) cout<<'A'; ese if(a[i]>=70) cout<<'B'; else if(a[i]>=60) cout<<'C'; else cout<<'D'; } 2、用for语句编程求1~100之和。 #include<iostream.h> void main() { int sum(0); for(int i=1;i<=100;i++) sum+=i; cout<<"sum="<<sum<<endl; } 3、用for语句、while语句和递归函数三种方法计算n!。 #include<iostream.h> main(){ int n; int sum=1; cin<<n; for(;n>0;) sum*=n--; while(n>0) sum*=n--; int f(int x) { if(x>1) { x*=f(x-1); return x; } else return x; } 4、用for循环编程打印图形。 #include <iostream> using namespace std; int main() { for(int i=1;i<=5;i++) { for(int j=1;j<=i;j++) cout<<"*"; cout<<endl; } cout<<"*****"<<endl; cout<<"*"<<endl; } 5、编写函数,判断一个数是否是质数。 # include<iostream> # include<cmath> using namespace std; int main() {int i,j,k; cin>>j; k=sqrt(j); for(i=2;i<=k;i++) if(j%i==0)break; if(i>k) cout<<1; else cout<<0; return 0; } 9、设计一个函数,求三个数中的最大值。 #include<iostream.h> int max(int,int,int); void main() { cout<<max(35,48,26)<<endl; } int max(int a,int b,int c) { int t=max(a,b); return max(t,c); } 10、编写程序,利用itoa函数实现整数到字符串的转换。 #include<stdio.h> int itoa(x) { char c; c=x; printf("%c",c); getch(); } int main(void) { int a; printf("input a number:"); scanf("%d",&a); itoa(a); } 11、编写程序,最多读入10个数,读入0表示结束。将读入的非零的数放在一个数组里,按从大到小的顺序排序后输出。 #include <iostream> #include<iterator> #include<algorithm> #include<vector> using namespace std; int main()//主函数 { vector<int> b; for(int i=0;i<10;i++){ int x=0; cin>>x; if( x ) b.push_back( x ); else break; } sort( b.begin(),b.end() ); copy( b.begin(),b.end() , ostream_iterator<int>(cout," ") ); return 0; } 12、将一个代表整型数的字符串转换为一个整型的数字。 #include <iostream> #include <string> #include <sstream> using namespace std; int main(int argc, char* argv[]) { stringstream a; string b; int i; cin>>b; a.str(b); a>>i; cout<<i*2<<endl; return 0; } 综合实训〔职工信息处理函数实训〕 职工的信息有姓名、年龄、工龄、性别、婚姻状况、级别、工资、在职否。现在要进行工资的调整,规定但凡退休职工一律增加工资50元,在职1~5级职工的工资分别增加20、40、60、80、100元。编程实现上述工资调整。要求如下: 〔1〕分析要存放的信息,设计适宜的数据结构; 〔2〕分析要对信息进行的操作,进行处理; 〔3〕打印程序执行前后的工资状况和级别。 〔三〕面向对象根本概念与类实训 根底实训 1、读程序写结果; 2、设计一个表示猫的类,包括猫的颜色、体重、年龄等数据,具有设置猫的颜色,修改和显示猫的体重、年龄等操作。 设猫类的类名为Cat,猫类Cat有3个数据成员,颜色用字符串color[7],可以存放3个汉字,体重用实型数weight表示,年龄用整型数age表示,为了数据的平安性,Cat的3个数据成员全部为私有的。对猫的属性数据的设置和修改,PutColor为设置和修改颜色,PutWeight为设置和修改体重,PutAge为设置和修改年龄,它们都设置为公有函数,还要有一个1个3个参数的函数 SetCat。设计Display函数输出猫的信息。 #include <iostream> class Cat { private String colour; private int weight; private int age; ... int getWeight(){ return weight;} int getAge(){ return age;} void setClolur(String xClolour){ colour=xCloour;} void setWeight(int xWeight){ weight=xWeight;} void setAge(int xAge) { age=xAge;} } 3、 设计一个表示学习成绩的类,至少包括三门课程的成绩,可以设置、显示每门课程的成绩,可以计算、显示平均成绩。 class Grades{ private: int Math,English,Chinese; public: Grades() { Math = English = Chinese = 0;} Grades(int a,int b,int c) { Math = a; English = b; Chinese = c; } int getM(){ return Math;} int getE(){ return English;} int GetC(){ return Chinese;} void Setvalue(int a,int b,int c) { Math = a; English = b; Chinese = c; } void Display(); float Average() { return (Math+English+Chinese)/3.0; } } 4、设计成绩类,成绩类的数据成员,应该包括学生的学号Number[10]和姓名Name[9],假设有3门课,分别为C++程序设计语言,用整型变量Cpp表示;计算机原理,用整型变量Computer表示;数据库,用整型变量DataBase表示。平均成绩用实型变量Average表示。 为了Grade类数据的平安性,数据成员全部为私有成员,对成绩类的属性数据用一些函数进行设置和修改,PutNo为设置和修改学号,PutName为设置和修改姓名,PutCpp为设置和修改C++程序设计语言的成绩,PutCom为设置和修改计算机原理的成绩,PutData为设置和修改数据库的成绩,还有一个同时设置所有5个参数的函数SetGrade,它们都设置为公有函数。计算平均成绩的函数为Calc,设计函数Display输出成绩。有时可能要查看某个学生的成绩,所以设计比拟学号的函数为ComNo,设计比拟姓名的函数为ComName,GetCpp为读取C++程序设计语言的成绩,GetCom为读取计算机原理的成绩,GetData为读取数据库的成绩,设计读取平均成绩的函数为GetAvg。计算平均成绩只是在类的内部实现,所以设计为私有函数,其它都为公有函数。 综合实训 设计一个表示整型数据的集合类,可以对集合中的数据进行添加、删除,可以判断一个整数是否在这个集合里,可以求出集合数据的多少,可以判断集合的空与满,空集合就是没有数据元素,满集合就是数据元素已经占满给出的存储单元。两个集合可以做交运算,就是将两个集合的公共数据组成一个新的集合。两个集合可以做并运算,就是将两个集合的所有数据组成一个新的集合。要求如下: 〔1〕分析集合类的数据属性要求; 〔2〕分析集合类的操作属性要求; 〔3〕编制集合类的接口定义; 〔4〕实现集合类的属性函数。 #include<iostream.h> //form the data struct Data { long num; Data *next; }; //the set class class Gather { public: Gather(int =5); //~Gather(); void form(int); void del(); void setGather(); void print(); void add(int); Data *getptr(){return ptr;} Gather& operator=(Gather &); Gather& operator+(Gather &); Gather& operator*(Gather &); private: int LEN; Data *ptr; }; Gather inside; Gather::Gather(int a){form(a);} void Gather::form(int a) { LEN=a; Data *p; for (int i=0;i<a;i++){ if(i==0){ ptr=new Data; p=ptr; } else { p->next=new Data; p=p->next; } } p->next=NULL; } //Gather::~Gather(){del();} void Gather::del() { Data *p; Data *q; p=ptr; for(int i=0;i<LEN;i++){ q=p; p=p->next; delete q; } LEN=0; } void Gather::setGather() { Data *p; p=ptr; for (int i=0;i<LEN;i++){ cout<<"Enter item "<<i+1<<" :"; cin>>p->num; p=p->next; } } void Gather::print() { if (LEN==0) cout<<"It's an empty set!"<<endl; Data *p; p=ptr; for(int i=0;i<LEN;i++){ cout<<p->num<<" "; p=p->next; if (i!=0&&i%10==0) cout<<endl; } } void Gather::add(int t) { bool y=true; Data *p; p=ptr; for(int i=0;i<LEN;i++){ if (p->num==t){ y=false; break; } if(i!=LEN-1)p=p->next; } if(y){ p->next=new Data; p=p->next; p->num=t; p->next=NULL; LEN++; } } Gather& Gather::operator =(Gather &x) { if (ptr==x.ptr) return *this; else { del(); form(x.LEN); Data *p,*q; p=ptr; q=x.ptr; for(int i=0;i<x.LEN;i++){ p->num=q->num; p=p->next; q=q->next; } return *this; } } Gather& Gather::operator +(Gather &x) { inside.del(); inside.form(LEN); Data *q; Data *p; q=ptr; p=inside.getptr(); for(int i=0;i<LEN;i++){ p->num=q->num; p=p->next; q=q->next; } q=x.ptr; for(i=0;i<x.LEN;i++){ inside.add(q->num); q=q->next; } return inside; } Gather& Gather::operator *(Gather &x) { int z=0; long g[100]; bool y=true; Data *p; Data *q; p=ptr; q=x.ptr; for(int i=0;i<LEN;i++){ q=x.ptr; for(int j=0;j<x.LEN;j++){ if (p->num==q->num){ for(int t=0;t<z;t++) if (p->num==g[t]){ y=false; break; } if(y){ g[z]=p->num; z++; break; } y=true; break; } else q=q->next; } p=p->next; } inside.del(); inside.form(z); Data *pre; pre=inside.getptr(); for (i=0;i<z;i++){ pre->num=g[i]; pre=pre->next; } return inside; } //the main int main() { Gather x(6); Gather y; Gather result; cout<<"Enter the item of set x:"<<endl; x.setGather(); cout<<"The items of x is:"<<endl; x.print(); cout<<endl; cout<<"Enter the item of set y:"<<endl; y.setGather(); cout<<"The items of y is:"<<endl; y.print(); cout<<endl; cout<<"The result of x+y is:"<<endl; result=x+y; result.print(); cout<<endl; cout<<"The result of x*y is:"<<endl; result=x*y; result.print(); cout<<endl; cout<<"Enter the item you want to add to x :"; int a; cin>>a; x.add(a); cout<<"Now x is : "; x.print(); cout<<endl; inside.del(); result.del(); x.del(); y.del(); return 0; } 〔四〕对象实训 根底实训 1、 读程序写结果; 2、 设计计算图形面积的程序,图形有圆和长方形,计算半径为15、23、37的圆和长宽分别为〔32,56〕、〔21,45〕的长方形等五个图形的面积。 class rect { private: float length; float width; public: rect(float l,float w); void putwidth(float w); void putlength(float l); float getwidth()const; float getlength()const; float Area()const; float Total()const; }; rect::rect(float l=0 ,float w=0) { length=l; width=w; } void rect::putwidth(float w) { width=w; } void rect::putlength(float l) { length=l; } float rect::getlength()const { return length; } float rect::getwidth()const { return width; } float rect::Area ()const { return length*width; } float rect::Total ()const { return 2*(length+width); } //rect.cpp #include <iostream> #include <conio.h> #include "rect.h " #include <string> using namespace std; void main() { cout < < "求长方形的面积与周长 " < <endl; int str=0; float rw,rl; rect a(0,0); ttt: cout < < "请先输入长和宽: "; cin> > rl> > rw;//此处输入字符时就会错误 a.putlength (rl); a.putwidth (rw); do { cout < < "输入0为退出,输入1求面积,输入2求周长,3是输入长和宽 " < <endl; cin> > str; switch (str) { case 1: cout < < "面积是: " < <a.Area () < <endl; break; case 2: cout < < "周长是: " < <a.Total () < <endl; break; case 3: goto ttt; break; case 0: cout < < "ByeBye! " < <endl; break; default: cout < < "错误!输入1求面积,输入2求周长! " < <endl; break; } }while(str);//*/ getch(); } 3、 设计一个日期类Date,可以求昨天的日期和明天的日期,输出格式为:年/月/日,编写主程序设置当前日期为2003年9月10日,显示昨天的日期和明天的日期,将日期改为2004年5月4日,显示修改后的日期。 综合实训 设计一个最多可以存放100个整数的类,要求这些整数按从小到大的顺序存放在类中的数组里,可以删除数组中的数据,也可以向数组中插入数据,但是要保持从小到大的顺序,可以求出数据的多少,可以判断数组的空和满,可以显示数组中的整数。当然刚生成对象时,对象中的数组没有数据,只有一个一个地向对象中插入数据。要求如下: 〔1〕分析数组类的数据属性要求; 〔2〕分析数组类的操作属性要求; 〔3〕编制数组类的接口定义; 〔4〕生成数组类对象; 〔5〕编制程序实现数组对象的插入和删除操作; #include<iostream.h> class Date { private: int year,month,day; public: Date(int y=1900,int m=1,int d=1):year(y),month(m),day(d){}//构造函数 void setDate(int y,int m,int d)//设置日期 { year=y; month=m; day=d; } void showDate()//输出日期格式 { cout<<year<<"/"<<month<<"/"<<day<<endl; } int leap()//判断是否为润年 { if(year%400==0||(year%100!=0&&year%4==0)) return 1; else return 0; } int Days()//判断当月天数 { int d; switch(month) { case 2: if(leap()) d=29; else d=28; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31;break; case 4: case 6: case 9: case 11:d=30;break; } return d; } int isRight()//判断日期数是否合理 { if(year<0||month<1||month>12||day<1||day>Days()) { cout<<"the date data is wrong!!"<<endl;return 0;} else return 1; } Date Yesterday()//求昨天 { Date dt(year,month,day); int y1=dt.year,m1=dt.month,d1=dt.day; switch(month) { case 2: case 4: case 6: case 8: case 9: case 11: { if(day==1){y1=year;m1=month-1;d1=31;} else {y1=year;m1=month;d1=day-1;} break; } case 5: case 7: case 10: case 12: { if(day==1){y1=year;m1=month-1;d1=30;} else {y1=year;m1=month;d1=day-1;} break; } case 3: { if(day==1) {y1=year;m1=month-1; if(leap()) d1=29; else d1=28; } else{ y1=year;m1=month;d1=day-1;} break; } case 1: { if(day==1){y1=year-1;m1=12;d1=31;} else {y1=year;m1=month;d1=day-1;} break; } } dt.setDate(y1,m1,d1); return dt; } Date Tomorrow()//求明天日期 { Date dt(year,month,day); int y1=dt.year,m1=dt.month,d1=dt.day; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: { if(day==31){y1=year;m1=month+1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; } case 4: case 6: case 9: case 11: { if(day==30){y1=year;m1=month+1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; } case 2: { if((leap()&&day==29)||(!leap()&&day==28)) {y1=year;m1=month+1;d1=1;} else{ y1=year;m1=month;d1=day+1;} break; } case 12: { if(day==31){y1=year+1;m1=1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; } } dt.setDate(y1,m1,d1); return dt; } };//data类结束 int main() { Date date1; int y,m,d,tr=1; while(tr) { cout<<"\t请输入当天日期"<<endl; cout<<"年:";cin>>y; cout<<"月: ";cin>>m; cout<<"日: ";cin>>d; date1.setDate(y,m,d); if(date1.isRight()) {cout<<"当日日期"; date1.showDate(); cout<<"明日日期"; date1.Tomorrow().showDate(); cout<<"昨日日期"; date1.Yesterday().showDate(); } cout<<"继续下一次测试〔1〕或者结束〔2〕"<<endl; cin>>tr; if(tr!=1) break; } return 0; } 〔五〕指针与引用实训 根底实训 1、 读程序写结果; 2、 设有一个整型数组A,有10个元素,输出各个元素,要求使用数组名和指针运算来实现。 3、 设计一个函数,以参数方式输入一个字符串,返回该字符串的长度。 #include<iostream.h> int mystrlen(char *str) { int cnt = 0; while((cnt++,*str++)); return cnt-1; } int main() { char str[100]; int length; cout<<"输入字符串:"<<endl; cin>>str; length = mystrlen(str); cout<<str<<"长度为:"<<length<<endl; return 0; } 4、 设计一个函数,比拟两个字符串是否相同。 #include <iostream.h> #include <string.h> void main() { char str1[100],str2[100]; cout<<"输入两个字符串(str1,str2):"<<endl; cin>>str1>>str2; int ret=strcmp(str1,s- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 报告 仓库 管理 以及 题目 指导
咨信网温馨提示:
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。
关于本文