首页 Qt实现智能计算器

Qt实现智能计算器

举报
开通vip

Qt实现智能计算器##理工大学 题目:科学计算器 组长###学号:11270228专业:软件工程(2)班 组员:####学号:11270136 专业: 软件工程(1)班 组员:#####学号:11270333专业: 软件工程(3)班 2013年11月13日 1 引言 1.1 设计背景 ● 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简...

Qt实现智能计算器
##理工大学 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目:科学计算器 组长###学号:11270228专业:软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 (2)班 组员:####学号:11270136 专业: 软件工程(1)班 组员:#####学号:11270333专业: 软件工程(3)班 2013年11月13日 1 引言 1.1 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 背景 ● 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。 ●计算器在我们的日常生活扮演着很重要的角色,因此不断设计开发出功能更强大,携带更轻便,使用更加快捷迅速的计算器便成为相应工作者奋斗的目标和任务。 1.2 设计目的 ● 进一步了解C++语言和高级程序设计语言的结构,了解其好处和可用性,掌握基本的程序设计过程和技巧,掌握基本的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 问题、利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续计算机课程和毕业设计打下坚实基础。 ● 通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C++程序语言设计》和《Qt4实践开发》课程学习的内容,掌握工程软件设计的基本 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,强化上机动手编程能力,体验理论与实践相结合的过程,同时培养同学之间的团队合作精神,体会在工作中团队合作的重要性和必要性。 2.功能需求分析 2.1 功能划分 ● 本次我们设计的计算器在某些细节处加入了我们设计同学的独特创新和技巧,具体体现见详细设计部分。对于我们所设计的科学计算器,其功能大致可以如下划分: 科学型计算器功能——可以进行加、减、乘、除、乘方、开方、指数、对数、三角函数、等方面的运算。 2.2 功能描述 ● 对于算术型计算器的功能大家已经非常熟悉,就不再赘述。这里只对科学型计算器功能中的特殊符号、必要函数功能部分作简单描述。 特殊符号和函数 ln ——自然对数,ln(x)是以e为底的x的对数 Lg ——以10为底的对数,10是可以省略的 sin ——正弦函数 arcsin ——反正弦函数 cos ——余弦函数 arcos——反余弦函数 tan ——正切函数 arctan——反正切函数 n! ——阶乘 Clear ——清空 x²——平方 x³——立方 等等这些符号有利于我们计算,方便快捷的得出结果。 2. 详细设计 2.1 科学计算器功能 (1)界面设计 界面设计我们是使用代码实现。共35个QpushButton为0到9按键和加减乘除按键、括号按键、开根号按键、小数点按键、阶乘按键、取倒按键、等于按键、按键等。 具体界面设计效果如下: (2)程序具体实现 现在.h文件中对各个按键在私有槽中进行声明,例如: public slots: void clickbtn1(); 就对1键(槽函数)进行声明,然后就可以在.cpp进行编写程序。声明first,second两个整形表示第一个输入和第二个输入,然后用Qt(Qstring)封装好的append()函数进行添加,当然,这里牵涉到本程序对Btn按键的函数声明,并且使用setText函数,使其按键符号点击后可以在lineEdit上显示,在这里用的是信号和槽的机制,具体的信号于槽的链接在后面会详细说明。 这里仍使用信函和槽连接机制,我们没有使用信号和槽编辑器,而是直接在.cpp文件中添编写其代码来实现,首先在.h文件中对各个按键进行声明,如:void clicksin();就是对sin按键进行声明,再到.cpp文件中编写相应的代码实现其功能,当Jing_zhan_unary变量为ture时,执行clickTrigJIng_zhan_TS(“sin”),或当Jing_zhan_Expression变量为ture时,执行sinBian_lian=true;clickJing_zhan_Pro("sin","]",mu_qianSin);实现sin的运算功能。 2.2删除功能(Backspace) 此功能为删除窗口中的最后一个字符,具体编写过程为:提取窗口中的内容,并把窗口中的内容存放到一个QString型变量中,然后用Qt现有的已经封装好的函数,把这个变量从左边开始将其最后一个字符去掉,使其长度减少一,将改变后的字符串在存放到这个变量中,再把这个变量重新返回到窗口中,这样就达到删除的功能了。 2.3 清空功能(C) 此功能为清空显示窗口,这里用Qt封装好的函数clear(),直接把窗口给清空,这样就达到效果。 2.4关于功能(关于) 对作者进行了简单介绍 2.5退出功能(Exit) 实现了软件的退出 3. 系统的实现: 对于下面具体步骤中出现的函数,我们有必要在此说明,这其中也包括整个程序的核心算法。 考虑到程序中出现了众多信号与槽的链接,故采用手工链接的方式进行。 首先在chendahao.h中声明如下槽函数: public slots: void clickSifirla(); void click_chenhaoQQ(); void clickbtn(QString); void clickbtn1(); void clickbtn2(); void clickbtn3(); void clickbtn4(); void clickbtn5(); void clickbtn6(); void clickbtn7(); void clickbtn8(); void clickbtn9(); void clickbtn0(); void clickPoint(); void clickPointControl(); void clickClear(); void clickPlus(); void clickDecrease(); void clickMultiply(); void clickEliminate(); void clickEql(); void clickJing_zhan_(); void clickJing_zhan_2(QStringList &diziPro,QString isaret); void clickBackspace(); void clickChangesign(); void clickSqrt(); void click_G(); void clickCi(); void click_1_x(); void clickJie_cheng(); void clickSwitch(); void clickSimple(); void clickSin(); void clickCos(); void clickTan(); void clickCot(); void clickPi(); void clickE(); void clickArcsin(); void clickArccos(); void clickArctan(); void clickArccot(); void clickSinh(); void clickCosh(); void clickTanh(); void clickCoth(); void clickLog(); void clickHistory(); void clickHistoryDelete(); void clickHistorySaveas(); void clickQt(); void clickExpression(); void clickunary(); void clickReplaceTur(QLabel*,QLabel*,bool); void clickJing_zhan_caozuoleixing(); void clickJing_zhan_Pro(QString,QString,bool); void clickTrigJing_zhan_IO(QStringList &diziPro,bool &trigVar,QString,QString); void clickTrigJing_zhan_IS(QString); void clickYerReplace(QStringList &diziPro,int,double); void clickMod(); void clickZkuohao(); void clickYkuohao(); double clickDonusum(int,double); void clickQ_zhishu(); 在chendahao.cpp中chendahao::chendahao(QWidget *parent) : QMainWindow(parent),ui(new Ui::chendahao)构造函数中进行信号于槽的链接,也就是各按键及工具条等组件的动作响应关系(函数)如下: connect(ui->btnSwitch,SIGNAL(clicked()),this,SLOT(clickSwitch())); //科学 和 简单 快速切换键 connect(ui->btnHistory,SIGNAL(clicked()),this,SLOT(clickHistory())); // 历史键 connect(ui->btn1,SIGNAL(clicked()),this,SLOT(clickbtn1())); // 1 connect(ui->btn2,SIGNAL(clicked()),this,SLOT(clickbtn2())); // 2 connect(ui->btn3,SIGNAL(clicked()),this,SLOT(clickbtn3())); // 3 connect(ui->btn4,SIGNAL(clicked()),this,SLOT(clickbtn4())); // 4 connect(ui->btn5,SIGNAL(clicked()),this,SLOT(clickbtn5())); // 5 connect(ui->btn6,SIGNAL(clicked()),this,SLOT(clickbtn6())); // 6 connect(ui->btn7,SIGNAL(clicked()),this,SLOT(clickbtn7())); // 7 connect(ui->btn8,SIGNAL(clicked()),this,SLOT(clickbtn8())); // 8 connect(ui->btn9,SIGNAL(clicked()),this,SLOT(clickbtn9())); // 9 connect(ui->btn0,SIGNAL(clicked()),this,SLOT(clickbtn0())); // 0 connect(ui->btnPoint,SIGNAL(clicked()),this,SLOT(clickPoint())); //小数点的实现 connect(ui->btnClear,SIGNAL(clicked()),this,SLOT(clickClear())); // Clear按键的实现 connect(ui->btnPlus,SIGNAL(clicked()),this,SLOT(clickPlus())); // 加法 connect(ui->btnDecrease,SIGNAL(clicked()),this,SLOT(clickDecrease())); //减号 connect(ui->btnMultiply,SIGNAL(clicked()),this,SLOT(clickMultiply())); //乘号 connect(ui->btnEliminate,SIGNAL(clicked()),this,SLOT(clickEliminate())); //除号 connect(ui->btnEql,SIGNAL(clicked()),this,SLOT(clickEql())); //等号 connect(ui->btnBackspace,SIGNAL(clicked()),this,SLOT(clickBackspace())); //退格 connect(ui->btnChangesign,SIGNAL(clicked()),this,SLOT(clickChangesign())); //改变符号 connect(ui->btnSqrt,SIGNAL(clicked()),this,SLOT(clickSqrt())); // 开根号 connect(ui->btn_G,SIGNAL(clicked()),this,SLOT(click_G())); //按百分比的形式显示乘积结果 connect(ui->btnCi,SIGNAL(clicked()),this,SLOT(clickCi())); // ^ 实现 connect(ui->btn_1_x,SIGNAL(clicked()),this,SLOT(click_1_x())); // 1/x 功能键实现 connect(ui->btnJie_cheng,SIGNAL(clicked()),this,SLOT(clickJie_cheng())); // 阶乘 connect(ui->btnSin,SIGNAL(clicked()),this,SLOT(clickSin())); // Sin connect(ui->btnCos,SIGNAL(clicked()),this,SLOT(clickCos())); // Cos connect(ui->btnTan,SIGNAL(clicked()),this,SLOT(clickTan())); // Tan connect(ui->btnCot,SIGNAL(clicked()),this,SLOT(clickCot())); // Cot connect(ui->btnPi,SIGNAL(clicked()),this,SLOT(clickPi())); // Pi connect(ui->btnE,SIGNAL(clicked()),this,SLOT(clickE())); // exp connect(ui->btnArcsin,SIGNAL(clicked()),this,SLOT(clickArcsin())); // Asin connect(ui->btnArccos,SIGNAL(clicked()),this,SLOT(clickArccos())); // Acos connect(ui->btnArctan,SIGNAL(clicked()),this,SLOT(clickArctan())); // Atan connect(ui->btnArccot,SIGNAL(clicked()),this,SLOT(clickArccot())); // Acot connect(ui->btnLog,SIGNAL(clicked()),this,SLOT(clickLog())); // Log connect(ui->btnMod,SIGNAL(clicked()),this,SLOT(clickMod())); // Mod connect(ui->btnDelete,SIGNAL(clicked()),this,SLOT(clickHistoryDelete())); // 历史框中 删除键 connect(ui->btnSaveas,SIGNAL(clicked()),this,SLOT(clickHistorySaveas())); // 历史框中 另存为键 connect(ui->btnZkuohao,SIGNAL(clicked()),this,SLOT(clickZkuohao())); // ( connect(ui->btnYkuohao,SIGNAL(clicked()),this,SLOT(clickYkuohao())); // ) connect(ui->actionQt,SIGNAL(triggered()),this,SLOT(clickQt())); // about Qt connect(ui->action_chenhaoQQ,SIGNAL(triggered()),this,SLOT(click_chenhaoQQ()));// about us connect(ui->action_Ke_xue,SIGNAL(triggered()),this,SLOT(clickSwitch())); //动作 科学型 connect(ui->action_History,SIGNAL(triggered()),this,SLOT(clickHistory())); //动作 历史 connect(ui->action_Simple,SIGNAL(triggered()),this,SLOT(clickSimple())); //动作 简单 connect(ui->action_Expression,SIGNAL(triggered()),this,SLOT(clickExpression())); //多元表达式 connect(ui->action_unary,SIGNAL(triggered()),this,SLOT(clickunary())); //一元顺序运算 connect(ui->btnSinh,SIGNAL(clicked()),this,SLOT(clickSinh())); // Sinh connect(ui->btnCosh,SIGNAL(clicked()),this,SLOT(clickCosh())); // Cosh connect(ui->btnTanh,SIGNAL(clicked()),this,SLOT(clickTanh())); // Tanh connect(ui->btnCoth,SIGNAL(clicked()),this,SLOT(clickCoth())); // Coth connect(ui->btnQ_zhishu,SIGNAL(clicked()),this,SLOT(clickQ_zhishu())); // a*b 功能键的实现 接下来,对部分重要的槽函数进行说明。首先,由于本课题的方向行,所以,在实现科学型计算器前,我们必须弄得一般计算器Btn键的工作原理,而这部分,在Qt事例中用详细的说明,这里我们就不必指出。考虑到表达式和简单的区别,我们分两种情况进行编写。当然,在后续的函数中,这种分别讨论的情况是经常出现的,这也从侧面说明了bool Jing_zhan_unary,Jing_zhan_Expression的重要性。具体代码如下: void chendahao::clickbtn(QString btn) { if(Jing_zhan_unary==true) { clickSifirla(); if(Jing_zhan_Bian_lian==true) { ui->LineEdit1->setText(""); Jing_zhan_Bian_lian=false; } if(zeroBian_lian==true) { ui->LineEdit1->setText(btn); } else { qian_= ui->LineEdit1->text(); qian_.append(btn); ui->LineEdit1->setText(qian_); } zeroBian_lian=false; safetyJing_zhan_=false; } else if(Jing_zhan_Expression==true) { if(mu_qianEql==true) { ui->LineEdit1->setText(""); clickSifirla(); } qian_= ui->LineEdit1->text(); qian_.append(btn); ui->LineEdit1->setText(qian_); } } 而一般的数字键,只需调用此槽函数即可,如下所示: void chendahao::clickbtn1() { clickbtn("1"); } 当然,由于0变量的特殊性,所以,需要对其添加额外的约束才能实现,代码如下: void chendahao::clickbtn0() { clickSifirla(); if(Jing_zhan_unary==true) { if(Jing_zhan_Bian_lian==true) { ui->LineEdit1->setText(""); Jing_zhan_Bian_lian=false; } if(ui->LineEdit1->text()=="") { ui->LineEdit1->setText("0"); zeroBian_lian=true; } else if(zeroBian_lian==false) { qian_=ui->LineEdit1->text(); qian_.append("0"); ui->LineEdit1->setText(qian_); } safetyJing_zhan_=false; } else if(Jing_zhan_Expression==true) { clickbtn("0"); } } 以上程序具体只是为我们开辟了表达式计算器实现的可能,具体的计算实现过程封装在void clickJing_zhan_2()中,这里就不指出,详细过程见附录。最后,出于对本设计科学方面计算实现说明的目的,我们举出了程序中,在这部分中最为核心的代码,也就是在进行表达式计算时,调用的函数void clickTrigJing_zhan_IO() 如下: } 通过以上说明,我想大家不难发现,本课题的核心最要是在于实现表达式和基于其的按键功能特点开发上面。 最后,基于以上说明,我们便可以进行如下的详细设计过程。 3.1各功能键的具体实现: //加法运算 void chendahao::clickPlus() { clickJing_zhan_Pro("Plus","+",mu_qianPlus); pointBian_lian=false; } //减法运算 void chendahao::clickDecrease() { clickJing_zhan_Pro("Decrease","-",mu_qianDecrease); pointBian_lian=false; } //乘法运算 void chendahao::clickMultiply() { clickJing_zhan_Pro("Multiply","x",mu_qianMultiply); pointBian_lian=false; } //除法运算 void chendahao::clickEliminate() { clickJing_zhan_Pro("Eliminate","/",mu_qianEliminate); pointBian_lian=false; } // ^ 幂的运算 void chendahao::clickCi() { clickJing_zhan_Pro("Ci","^",mu_qianCi); } // n! 阶乘的实现 void chendahao::clickJie_cheng() { if(Jing_zhan_unary==true) { if(safetyJing_zhan_==true) { qDebug("错误"); } else { int Jie_cheng=1; clickEql(); qian_Double=ui->LineEdit1->text().toDouble(); double Jie_chengCounter=qian_Double; while(Jie_chengCounter>0) { Jie_cheng=Jie_cheng*Jie_chengCounter; Jie_chengCounter=Jie_chengCounter-1; } ui->LineEdit1->setText(QString::number(Jie_cheng)); ui->texthistory->insertPlainText(QString::number(history_Counter)+" -> "+QString::number(qian_Double)+" ! ="+QString::number(Jie_cheng)+"\n"); history_Counter=history_Counter+1; } } else if(Jing_zhan_Expression==true) { clickJing_zhan_Pro("Jie_cheng","!",mu_qianJie_cheng); Jie_chengBian_lian=true; } } 3.2清空功能: 清空功能的具体实现代码如下: 3. 关于 功能 这里,我们主要说明618功能和窗体的实现。 由于需要在窗体中填加组员照片,故先将所需资源添加到image文件夹中,并在chenhao.cpp 中实现下面代码: // 在窗体内加入照片 ----------但是,貌似有点失误 //----------------------------导致 主界面都出现照片 但不影响嘛 void QWidget::paintEvent(QPaintEvent *) { QPainter painter(this); QPixmap pix; pix.load("image/110531_202552.jpg"); painter.drawPixmap(0,0,100,100,pix); } 对于个人信息的添加,具体实现在chenhao.cpp中的构造函数中,代码如下: //构造函数 主要目的 -----添加名字 学号 chenhao::chenhao(QWidget *parent) : QWidget(parent), ui(new Ui::chenhao) { ui->setupUi(this); connect(ui->btn_you_guess,SIGNAL(clicked()),this,SLOT(clickbtn_you_guess())); ui->lbl618->setText("\t\t陈 皓 201005010508\n\t\t蒲小鹏 201005010507\n\t\t饶和丰 201005010506\n\t\t张晨曦 201005010504\n\t\t张良军 201005010503\n"); } 当然,由于需要设置链接,我们可以采用以下方式设置。 在Qt 设计师中,选中需要设置链接的Label 组件,在其属性栏中实现以下操作。 选中 点击 然后在出现的窗体中编辑 (当然,本设计的超链接也在其中设置) 最后,我们只需要完成,618 中的按键(槽函数)的功能就行了,具有代码如下: void chenhao::clickbtn_you_guess() { close(); } 然后,只需要点击 中的618,就会出现如下所示的界面: 4. 运行和测试 4.1个别按键功能及使用方法介绍: (1):退格键,可以删除窗口中从左边起最后一个字符。 运行测试:在窗口中输入: 使用一次退格键以后显示结果: (2) :开方,如需要对常数x进行开方,则可在窗口中先点击开方键,再输入x。 运行测试:对9进行开方运算,在窗口中输入 点击等于号之后窗口中所显示结果之后窗口中所显示结果: (3) :幂运算,如在窗口中输入x^y,则是求x的y次幂。 运行测试:在窗口中输入 点击等于号之后窗口中所显示结果 (4) :阶乘,此运算符只能对正整数进行运算,当输入正整数x时,系统所执行的算法为: 。 运行测试:在窗口中输入 点击等于号之后窗口中所显示结果 (5) 、、、:三角函数运算。由于以上四个运算的槽函数实现机制一样,所以在这里只对其中一个进行测试。 的测试 在窗口中输入 点击等于号之后窗口中所显示结果 (6) :可实现以10为底的对数,下面对此进行测试: 缺图 点击等lg按钮之后窗口中所显示结果 5. 心得体会 1、 徐红军: 通过大家的努力,终于将Qt期末作业完成了,虽然在科学计算器的设计过程中遇到了很多麻烦,但在我们的共同的努力下,最终都克服了。通过这次的经历让我深深的体会到:在课堂上学到的知识是非常有限的,只学好课堂上老师所教授是内容是远远不够的,要想解决实际生活中的问题,除了学好课上的基本知识外,在课外自己的深入研究和不断专研是十分重要的。我们只有在不断遇到问题并努力解决问题的过程中,才能取得更大的成功。正所谓天将降大任于斯人也,必先劳其筋骨,磨其心志,不经历风雨,怎么见彩虹。只有在努力后,才能真正感觉到成功的甜蜜。同时,通过这次的集体合作,也让我深刻体会到了团结的力量,原本看似复杂的报告设计在大家合理的分工和相互的帮助下,我们只在短短几天之内就将报告完成了,于此同时,本学期的高级程序设计课程也将画上了一个完美的句号,很感谢王权海老师对我们孜孜不倦的教诲,我会在今后的学习生活中不断的完善自己,争取将来成为一名祖国的栋梁之才。 2、 张璐: 这次我们设计的计算器是在微软的计算器的基础上,增加了一些更为强大的功能,例如:阶乘、取对数、取三角函数等;我们小组一共花了一个月的时间完成此次作业设计,在这次的设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了遇到设计难题的处理办法、学会了宽容,学会了理解,也学会了做人与处世。与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。由于本人的设计能力有限,在设计过程中难免出现错误,所以诚恳感谢唐建新老师多多指教,与此同时呢,这学期的Qt课程也圆满结束了,感谢王权海老师一直以来对我们的教诲,团结、合作的精神将一直伴随着我,激励这我在以后的人生路上越挫越勇。 3、 路赛: 这次对功能需求分析部分的负责,使我对设计报告中需求分析部分有了进一步的了解。如:需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。需求分析具体可分为功能需求,性能需求,可靠性和可用性需求,接口需求,约束,逆向需求和将来可能提出的需求;需求分析分为问题识别,分析与综合,制订规格说明,评审四部分等等。这些工程软件中的专业名词都是需要认真理解和实践才能弄清楚的。此外,整个设计,写报告的过程就是大家作为一个团队在一起商讨处理的过程,这当中我们每个成员有非常明确的分工,在一个团队中工作,需要考虑很多,自己负责的部分要和其他成员的工作部分相融合。这次的QT作业让我们小组的成员再次团结在一起,虽然会有艰辛,但大家共同努力,克服种种困难,最终完成了本次任务,得到了自己想要的锻炼。 6. 小组分工 ####(组长):分配任务,实现较难部分代码,解决开发过程中瓶颈问题 ###(组员):实现部分功能代码,设计界面,需求分析,实现用例图 ###(组员):实现部分功能代码,软件测试,完成文档 18 _1234567894.unknown
本文档为【Qt实现智能计算器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_412319
暂无简介~
格式:doc
大小:275KB
软件:Word
页数:18
分类:互联网
上传时间:2013-11-28
浏览量:44