科学计算器代码

合集下载

计算机CMD命令大全

计算机CMD命令大全

@echo off 命令
要点三
关闭命令回显
使用 @echo off 命令可以在执行批处理文件时,关闭命令的回显,避免在命令行窗口中显示命令本身。
要点一
要点二
简化输出
如果希望在执行批处理文件时,不显示命令的输出,可以将命令放在 @echo off 后面,这样输出将被忽略。
常用搭配
常常与 @pause 命令一起使用,实现在关闭回显的同时,暂停程序运行,以便查看执行结果。
move命令
总结词:删除文件或目录详细描述:使用del命令可以永久删除文件或目录,无法恢复。常用参数/Y:确认删除,不提示确认/F:强制删除,包括隐藏和系统文件/S:删除子目录和子文件/Q:安静模式,不显示确认信息,直接删除示例:del file.txt删除file.txt文件
del命令
05
批处理命令
显示DNS服务器解析信息:`ipconfig /displaydns`
清除DNS解析缓存:`ipconfig /flushdns`
ipconfig命令
diskpart命令
diskpart list volume
显示磁盘分区详细信息
diskpart delete volume=分区名称
删除磁盘分区
diskpart create partition=逻辑驱动器名称 size=分区大小(MB)
创建新的磁盘分区
diskpart set active partition=逻辑驱动器名称
设置磁盘分区为活动
eventvwr命令
eventvwr
显示系统事件日志
显示应用程序日志
显示系统日志
查看特定事件详细信息
eventvwr /Applications

教学仪器全国通用代码 整理

教学仪器全国通用代码 整理

序号 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789
产品名称 教学专用仪器设备 计量仪器(一) 长度 演示直尺 直尺(钢尺) 演示游标卡尺 演示千分尺 游标卡尺 数显卡尺 外径千分尺 高度深度游标卡尺 钢卷尺 皮尺(布卷尺) 软尺 公市制两用尺 读数显微镜 角度 直角尺 量角器(半园仪) 直角器 质量 分析天平 物理天平 学生天平 托盘天平 演示托盘天平 直视天平 单盘天平 托盘扭力天平 电子天平 质量测量工具箱 容量 塑料量杯 密度 密度计 比重计 比轻计 比重瓶 流量 压力、真空 福廷式气压计 气压计 空盒气压计 曲管气压计 微小压强计 真空计 真空规管 测力 条形盒测力计
单位 台 个 支 支 台 台 台 台 台 台 台 台 台 台 台 支 台 台 台 台 台 个 个 台 台 台 台 个 台 台 套 个 台 个 台 个 套 个 个 个 个 个 个

个 套 台 个 个
缩写 cqj dzdz fsl fsj gxl zdj szszdj fzj gdj ldj jgglj hxl sdj szssdj zdj sdj gdbsj qtl cyj tyjxyq tyyqsb jsq jsq xxqy zlb tsb xpszkb lyqt lxcdq zkq dkq xzcqq cqj szq jypsgy tmcyt cqp pj dkqgd dkjb zt csjt slrb sjrq slt lzjhcs dgnfsj kshy jbqjt

同源替换方法

同源替换方法

同源替换方法同源替换方法是指在编程中,通过替换相同源的代码段来实现相同或类似功能的一种技术。

同源替换方法可以提高代码的复用性和可维护性,减少代码的重复编写,提高开发效率。

同源替换方法的核心思想是将相同源的代码段进行抽象和封装,通过参数的灵活传递和处理,实现对不同场景的适应和灵活调用。

下面将以实际案例来介绍同源替换方法的具体应用。

假设我们有一个需求:编写一个计算器程序,实现加法、减法、乘法和除法的功能。

我们可以使用同源替换方法来实现这个需求。

我们需要定义一个基础的计算器类,其中包含加法、减法、乘法和除法的基本操作。

这些操作可以作为同源替换的基础代码段。

```pythonclass Calculator:def add(self, a, b):return a + bdef subtract(self, a, b):return a - bdef multiply(self, a, b):return a * bdef divide(self, a, b):return a / b```接下来,我们可以创建不同的子类来实现不同的计算器功能。

比如,我们可以创建一个科学计算器类,实现乘方和开方的功能。

```pythonclass ScientificCalculator(Calculator):def power(self, a, b):return a ** bdef square_root(self, a):return a ** 0.5```同样地,我们还可以创建一个统计计算器类,实现求平均值和求和的功能。

```pythonclass StatisticalCalculator(Calculator):def average(self, numbers):return sum(numbers) / len(numbers)def summation(self, numbers):return sum(numbers)```通过这种方式,我们可以在不修改基础计算器类的情况下,实现不同类型的计算器功能。

matlab-GUI-设计(简易科学计算器)

matlab-GUI-设计(简易科学计算器)

MATLAB大作业班级:姓名:学号:计算器➢题目本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,文本编辑框(edit text),静态文本框(Static text),命令按钮(push button)。

然后在通过各个按钮的回调函数,实现简单的计算功能。

➢1、功能介绍(1)具有友好的用户图形界面。

实现十进制数的加、减、乘、除、乘方、开方等简单计算。

(2)具有科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。

(注:三角函数计算的是弧度而不是角度)。

(3)有清除键,能清除操作。

➢2、功能实现程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。

程序使用的流程:直接利用图形界面中的按键键入所需数值、运算符等即可得出结果。

备注:软件版本:MATLAB 2011b首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:(附录中有相关属性修改介绍)然后通过双击各个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。

2.1 各功能界面设计GUI设计界面:注:底部边框用(Panel)工具添加,有两种设计顺序。

(1、先加底部边框,再在底部边框上画功能键。

2、先画功能键,布好局,画底框,全选功能键拖动到底框上。

)2.2 各功能模块实现(可根据需要增减功能键)算法设计:1. 数字键设计:0—9以及小数点函数都一样,只是参数不同:例如:按键‘1’响应:global jjtextString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)&(jj==0)set(handles.text1,'String','1') ;elsetextString =strcat(textString,'1');set(handles.text1,'String',textString)endjj=0;2. 四则运算函数:‘+’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'+');set(handles.text1,'String',textString)‘-’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'-');set(handles.text1,'String',textString)‘×’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'*');set(handles.text1,'String',textString)‘÷’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'/');set(handles.text1,'String',textString)3. 科学计算函数:例如:‘sin’功能响应:textString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)set(handles.text1,'String','0.') ;elsea = strread(textString, '%f');a=sin(a);set(handles.text1,'String',a)end4. 退格键(DEL):通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:global jjtextString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)&(jj==0)set(handles.text1,'String','0.') ;elsess=char(textString);l=length(textString);textString=ss(1:l-1);set(handles.text1,'String',textString)endjj=0;5. 清屏键函数(AC):set(handles.text1,'String','0.') ;2.3 各模块程序添加方法选中一个需添加程序的功能键,右击,View Callbacks,Callback,出现如下图所示界面。

python科学计算器代码

python科学计算器代码

python科学计算器代码以下是一个简单的Python科学计算器代码示例: python.import math.def add(x, y):return x + y.def subtract(x, y):return x y.def multiply(x, y):return x y.def divide(x, y):if y == 0:return "Error! Division by zero." else:return x / y.def power(x, y):return x y.def sqrt(x):return math.sqrt(x)。

def sin(x):return math.sin(x)。

def cos(x):return math.cos(x)。

def tan(x):return math.tan(x)。

print("选择操作,")。

print("1. 相加")。

print("2. 相减")。

print("3. 相乘")。

print("4. 相除")。

print("5. 求幂")。

print("6. 平方根")。

print("7. 正弦")。

print("8. 余弦")。

print("9. 正切")。

choice = input("输入你的选择(1/2/3/4/5/6/7/8/9):")。

if choice in ['1', '2', '3', '4', '5']:num1 = float(input("输入第一个数字: "))。

用c语言设计一个多功能计算器

用c语言设计一个多功能计算器

用C语言设计一个多功能计算器实现功能:1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。

依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,然后输出结果。

结果可以作为下一个运算的第一运算数。

按‘C’清屏,按‘X’退出。

例如:输入:2+5输出:72)实现单运算符表达式计算的功能。

输入的操作数可以包含整数或浮点数。

如果遇到错误的表达式,应输出错误提示信息。

输入表达式如下:例如:输入:2+5输出:7目录摘要 (1)第一章引言 (3)1.1 计算器概述 (3)第二章设计任务及要求 (5)2.1 设计任务 (5)2.2 设计要求 (6)第三章计算器硬件设计 (7)3.1 方案说明 (7)3.2 设计单片机主体电路图 (8)第四章软件设计 (9)4.1 模块介绍 (9)4.2 程序流程图 (10)4.3 程序部分 (11)第五章总结 (16)参考文献 (17)摘要:[目录]一、课程设计题目及任务要求二、设计思路三、部分程序介绍四、程序框图五、汇编程序六、参考资料[原文]一、课程设计题目及任务要求请设计十进制加减法计算器。

要求能(不同时)显示3位输入和4位输出。

二、设计思路1、操作显示设备显示设备采用八片七段共阴极LED显示器,共设置16 个键,其中数字键0~9 共十个,接下来依次是加号键、减号键、等于号、清除键。

操作设备是两行八列共16键的简单键盘。

第一行从左至右分别为0、1、2、3、4、5、6、7,第二行分别为8、9、A(+)、B(-)、C(=)、D(清除键)、E (清除键)、F(清除键),“清除键”表示程序初始化,为下次输入准备。

2、程序实现功能(1)十进制加减法计算:输入范围为(1~999),该程序输入两个定点数,每个3位,输出4位;A为加,B为减,C为等于,输出为四位计算结果。

数据输入采用规范化输入,即必须输入3个数才算完成一个运算数的输入,两个运算数之间输入运算符A或者B,输入完成按C显示计算结果;(2)计算机复位功能:DEF均为清零重启,任何时候按下DEF中一个将重新开始;三、部分程序介绍(1)主程序(START)程序开始运行初始化程序,设置输入输出口PA、PB、PC,扫描键盘,输入两个待求数据和运算符,存入寄存器,等待输入等号同时显示第二个数,运行计算程序,并将计算结果分离,输出到显示器;(2)读键子程序(RD_KB)程序分别扫描两行键盘,若有键按下则通过移位的方式计算键码;若无键按下,则将键码缓存设置为10H,判断后进行相应的跳转。

小学数学科学教学仪器配备标准(教育部0610)

小学数学科学教学仪器配备标准(教育部0610)

小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)
小学数学科学教学仪器配备标准(教育部0610)。

java计算器实验报告

java计算器实验报告

课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。

该程序是一个图形界面的java 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。

(2)实现除了加、减、乘、除按钮外其他按钮功能。

(3)给软件添加一个编辑、查看、帮助的主菜单。

(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。

(5)科学型计算器与标准计算器之间的菜单切换。

Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。

在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

目录第1章概要设计 (1)1.1查找资料 (1)1.2选题 (1)1.3标准型计算器界面设计 (1)1.4本章小节 (3)第2章程序整体设计说明 (4)2.1程序中所用到的变量 (4)2.2程序部分源代码及注释 (4)2.3本章小节 (15)第3章程序运行效果 (16)3.1程序运行主界面 (16)3.2程序中各按钮运行界面 (16)3.3本章小节 (20)第4章设计中遇到的重点及难点 (21)4.1设计中遇到的重点 (21)4.2设计中的遇到的难点 (21)4.3本章小节 (23)第5章本次设计中存在不足与改良方案 (24)5.1本次设计中存在的不足 (24)5.2本次设计的改良方案 (24)5.3本章小节 (24)结论 (25)参考文献 (26)致谢 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。

卡西欧5800p计算器所有解释

卡西欧5800p计算器所有解释

卡西欧5800p计算器所有编程命令解释 1.Norm 1 指数显示 Norm 2 小数显示 2.?→x只显示?字符+?→x显示字符+??x 显示 x?“字符”?x 显示字符+?有→则不显示该变量当前值3.(判断表达式)语句1 : 语句2。

如果判断表达式为真(或非零),则不跳过语句1. 如果判断表达式为假(或是零),则会跳过语句1.4. If...then…else…ifend如果语句为真,则执行then(不执行else),然后执行ifend.如果语句为假,则执行else(不执行then),然后执行ifend.5. Break 中断语句中断For,Do,While循环,并从该循环的下个命令起继续运行 6. Dsz使控制变量递减一,在变量的值为零时执行转移 7. IszIsz<变量>:<语句1> <语句2>,变量应为A~Z 以 1 为增量逐次增加变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 8. ClsDsz<变量>:<语句1> <语句2>。

变量应为A~Z。

以1 为减量逐次减小变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 9. Locate 定位显示语句句法 1:Locate <列数>, <行数>,<数值> 句法2:Locate <列数>, <行数>,<表达式> 句法3:Locate <列数>, <行数>, "字符串" fx-5800P 的屏幕最多可以显示4 行、16 列字符,因此定位语句中的列数值应为大于等于1、小于等于16 的整数,行数值应为大于等于1、小于等于4 的整数。

10. Lbi n ~ Goto n Goto n~Lbl n无条件转移至 Lbi n 位置11. Getkey返回与上次按键相对应的代码,Getkey=12. DO ~ LpWhile循环语句Do <语句块> LpWhile<条件>先执行语句块,然后测试条件,条件为真时重复执行语句块,否则执行<条件>后的语句。

C#科学计算器代码

C#科学计算器代码
this.button3.Enabled = true;
this.button2.Enabled = true;
this.buttonA.Enabled = false;
this.buttonB.Enabled = false;
{
this.btn_per.Enabled = false;
this.btn_e.Enabled = false;
this.btn_down.Enabled = false;
this.btn_log.Enabled = false;
this.buttonC.Enabled = false;
this.buttonD.Enabled = false;
this.buttonE.Enabled = false;
this.buttonF.Enabled = false;
科学型:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
d2 = System.Convert.ToString(d1, 16);
txt_Result.Text = d2.ToString();
}
else if (this.rBtn2.Checked)//十进制转换二进制
d1 = (int)a;
d2 = System.Convert.ToString(d1, 8);

51单片机实现的简易计算器

51单片机实现的简易计算器

51单片机实现的简易计算器1. 4X4键盘输入,点阵字符型液晶显示。

2. 由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运算采用3字节二进制补码表示,有效数字6位。

对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。

3. 可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。

4. 可进行错误判断,溢出、除零等错误将显示一个字符 E 。

5. 由于键盘只有16个按键,安排如下: +---------------+ | 7 | 8 | 9 | + | | 4 | 5 | 6 |- | | 1 | 2 | 3 | * | | 0 | . | = | / | +---------------+6. 按键的缺少导致取消了一些特殊函数,即开根号,三角函数(sin, cos, tan, ctg)的实现,由于这些函数在浮点程序库中均已提供,如果硬件允许,在原来的框架上添加这些附加功能是很容易的(可以看作和+, -, *, /等价的按键操作,调用不同的子程序进行运算即可)7. 按两次 = 等于清灵。

因为按键实在太少,才采用了这个做法。

8. 相应举例:按键结果说明- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --123+= 123 按下等号而没有第二个操作数,保留第一个操作数并认为此次运算结束(等号的功能)123+321/111 4.0 等价于(123+321) / 1112.3+5.4=/0.1+ 77 等号后直接按 / ,则将前面的运算结果作为第一个操作数1/0= E 错误显示 9. 不足使用3字节的浮点数表示,不可避免的带来了数表示的不精确,加上有效数字比较少,因此计算结果很容易产生误差,尤其是进行连续多次运算后,结果和精度较高的科学计算器的误差会很快达到0.01以上,当然这个差距和所测试的用例也有关系,4位有效数字导致了数字123456只能表示为123400,最后两位有效数字被摒弃了。

用c语言编写的计算器源代码

用c语言编写的计算器源代码

作品:科学计算器作者:欧宗龙编写环境:vc++6.0语言:c#include"stdafx.h"#include<stdio.h>#include<windows.h>#include<windowsx.h>#include"resource.h"#include"MainDlg.h"#include<math.h>#include<string.h>#definePI3.141593BOOLA_Op=FALSE;BOOLWINAPIMain_Proc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam) {switch(uMsg){HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);}returnFALSE;}BOOLMain_OnInitDialog(HWNDhwnd,HWNDhwndFocus,LPARAMlParam){returnTRUE;}voidTrimNumber(chara[])//判断并删除小数点后无用的零{for(unsignedi=0;i<strlen(a);i++){if(a[i]=='.'){for(unsignedj=strlen(a)-1;j>=i;j--){if(a[j]=='0'){a[j]='\0';}elseif(a[j]=='.'){a[j]='\0';}elsebreak;}}}}doubleOperate(charOperator,doublen1,doublen2)//判断符号,进行相应的运算{if(Operator=='0'){}if(Operator=='+'){n2+=n1;}if(Operator=='-'){n2=n1-n2;}if(Operator=='*'){n2*=n1;}if(Operator=='/'){n2=n1/n2;}if(Operator=='^'){n2=pow(n1,n2);}return n2;}////////////////////////////////////////////////voidIntBinary(chara[],intn){if(n>1)IntBinary(a,n/2);sprintf(a,"%s%i",a,n%2);}voiddecimal(chara[],doublem){if(m>0.000001){m=m*2;sprintf(a,"%s%d",a,(long)m);decimal(a,m-(long)m);}}voidBinary(chara[],doubleNum){charDecP[256]="";doublex,y;double*iptr=&y;x=modf(Num,iptr);decimal(DecP,x);IntBinary(a,(int)y);strcat(a,".");strcat(a,DecP);}////////////////////////////////////voidMain_OnCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify) {staticDELTIMES=0;staticcharstr[256];staticcharOperator='0';staticdoubleRNum[3];switch(id){caseIDC_BUTTONN1://数字1{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"1");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN2://数字2{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"2");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN3://数字3{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"3");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN4://数字4{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"4");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN5://数字5{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"5");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN6://数字6{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"6");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN7://数字7{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"7");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN8://数字8{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"8");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN9://数字9{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"9");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;caseIDC_BUTTONN0://数字0{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));strcat(str,"0");SetDlgItemText(hwnd,IDC_EDIT,str);RNum[1]=atof(str);A_Op=FALSE;}break;case{if(A_Op){SetDlgItemText(hwnd,IDC_EDIT,NULL);}GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));if(DELTIMES==0){strcat(str,".");}DELTIMES++;SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=FALSE;}break;caseIDC_BUTTONADD://加法运算{RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);Operator='+';DELTIMES=0;A_Op=TRUE;}break;caseIDC_BUTTONSUB://减法运算{RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);DELTIMES=0;A_Op=TRUE;Operator='-';}break;caseIDC_BUTTONMUL://乘法运算{RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);Operator='*';DELTIMES=0;A_Op=TRUE;}break;caseIDC_BUTTONDIV://除法运算{RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);Operator='/';DELTIMES=0;A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);Operator='^';DELTIMES=0;}break;caseIDC_BUTTONPI://圆周率PI,弧度{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));if(atof(str)!=0){RNum[2]=atof(str)*PI;sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);}else{sprintf(str,"%f",PI);SetDlgItemText(hwnd,IDC_EDIT,str);}A_Op=TRUE;}break;caseIDC_BUTTONSQRT://开根号{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=sqrt(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;caseIDC_BUTTONSIN://三角函数sin函数{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=sin(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=cos(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=tan(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;caseIDC_BUTTONSQ://平方{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=atof(str)*atof(str);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=atof(str)*atof(str)*atof(str);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=exp(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=pow(10,atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;caseIDC_BUTTONLN://lnx{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=log(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;caseIDC_BUTTONLOG10://log10{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=log10(atof(str));sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;caseIDC_BUTTONBINARY://十进制转换为二进制{chara[256]="";GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[2]=atof(str);Binary(a,RNum[2]);strcpy(str,a);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);A_Op=TRUE;}break;case{DELTIMES=0;Operator='0';RNum[0]=RNum[1]=RNum[2]=0;memset(str,0,sizeof(str));SetDlgItemText(hwnd,IDC_EDIT,NULL);A_Op=FALSE;}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));inti=strlen(str);str[i-1]='\0';SetDlgItemText(hwnd,IDC_EDIT,str);}break;case{GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str));RNum[1]=atof(str);RNum[0]=RNum[1];RNum[1]=RNum[2];RNum[2]=Operate(Operator,RNum[1],RNum[0]);sprintf(str,"%f",RNum[2]);TrimNumber(str);SetDlgItemText(hwnd,IDC_EDIT,str);Operator='0';DELTIMES=0;}break;default:break;}}voidMain_OnClose(HWNDhwnd){EndDialog(hwnd,0);}本人拙作,如有不足之处请谅解。

MATLAB科学计算器设计——GUI设计(含源代码)

MATLAB科学计算器设计——GUI设计(含源代码)

MATLAB科学计算器设计——GUI设计(含源代码)目录计算器的效果图............................................................................ 错误!未定义书签。

第一章GUI设计界面 .. (4)1.1打开GUI (4)1.2.添加按钮 (5)1.3.根据按钮的作用及视觉效果做一定的修改 (5)1.4.保存、添加功能函数 (6)1.4.1 数字键编写 (6)1.4.2 符号键的编写 (6)1.4.3 运算符“=”的编写 (6)1.4.4 按键“←back”的编写 (7)1.4.5 按键“清空”的编写 (7)1.4.6 按键“退出”的编写 (7)1.4.7 按键“二进制数转十进制数”的编写 (7)1.4.8 按键“十进制数转二进制数”的编写 (7)第二章计算器的使用 (7)2.1 除法运算(÷) (7)2.2 平方运算(^2) (8)2.3 函数cos (∏/3)的计算 (8)2.4 函数arctan (∏/3)的计算 (9)2.5 以2为底的对数(log 2)的计算 (9)2.6 十进制数转二进制数的计算 (10)2.7 二进制数转十进制数的计算 (11)第三章各按键的程序源代码 (12)第四章问题和解决方法 (17)第五章心得体会 (16)参考文献 (17)计算器的效果图:第一章GUI设计界面:1.1打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:图 11.2.添加按钮图21.3.根据按钮的作用及视觉效果做一定的修改双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。

1.4.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。

少儿编程python教案做自己的计算器

少儿编程python教案做自己的计算器

,所以第二行代码出错
1t.forward(100) A. 能 B. 不能 第一行 C. 不能 第二行 D. 不能 第三行

小小练习题
变量名由英文、下划线和数字组成,且不能使 用数字开头。最后要求变量名需要有意义。
使用变量画正方形
print()函数
人机交流的基本函数print()
print()函数
现在name就代表这么一句话了
变量命名规则及建议
变量命名规则及建议
变量的命名规则: ①变量命名可以又三个成分组成。分别是英文、下划线、数字。 ②变量的命名时区分大小写的。即使是使用同一个单词,但只要大小写不一样就是不同 的变量。 ③数字不能作为变量名的开头。
变量的命名建议 1、变量命名要具有意义 2、变量要美观,要重复利用字母的大小写、下划线和数字
什么是赋值
变量在Python中如何使用的呢?
通过赋值将等号左边的变量设置成等号右边的值。
这个等号和数学里面的等号意义不同,如果我们 要在Python中表示数学中的等号的话,可以用 两个等号来表示。
赋值:=
数学中的等于号:==
name = “hi I am fine Thank you and you”
print() 函数都 是小写,并且有 括号。
没有创建的变量 使用print() 打 印会出错。
四则运算
四则运算 在电脑上如何打出加减乘除
四则运算
使用python制作自己的计算器
习题练习
不借助编辑器,思考一下,下列代码的运行结果是什么? a=4 b = 10 c=2 print(a * b / c + a - b)
最大的原因是方便,这个游乐场远近闻名,只需要提一下名字,任何人都知道它在哪, 它有什么特点,能满足我什么需求。如果说出具体的地址,反而让人不知道那里是哪里, 也不太好记。

北邮JAVA第三次作业科学计算器(附源代码)

北邮JAVA第三次作业科学计算器(附源代码)

北邮JAVA第三次作业科学计算器(附源代码)JAVA第三次作业选题:科学计算器一、设计思路(1)布局1.数字键盘有0~9和小数点2.符号键盘有+某÷,幂,开方,lg,ln3.功能按键有清屏(AC)和删除(Del)(2)计算器流程状态转移图设定的标志位和变量有:booleannumflag=fale;//标志:是否输入数字booleanopflag=fale;//标志:是否输入运算操作符Stringt某t=null;//显示到文本框里的字符串Stringnum_t某t=\;//当前操作数的字符串形式Stringop=\;//存放输入的运算操作符num1=0;//第一个操作数num2=0;//第二个操作数privateBigDecimalbig_num1=newBigDecimal(Double.toString(0)); //解决浮点数的精度丢失问题privateBigDecimalbig_num2=newBigDecimal(Double.toString(0));1.关于操作数操作数为输入数字时会改变的数,有num1和num2。

按下运算符和控制字符,会设定当前下在键入的操作数,由opflag控制,fale表示正在操作num1,true表示正在操作num2。

初始状态下的操作数为num1。

按下AC会恢复操作数为初始状态num1。

按Delete、开方、lg、ln不会改变当前的操作数。

其中后三者只对num1有效。

其他的运算符和控制符都会使操作数为num2。

2.计算器的状态框图输入第一个数,比如53numflag=true(num1)opflag=falenum_t某t=”53”op=””t某t=”53”初始状态numflag=faleopflag=falenum_t某t=””op=””t某t=nullnum1,num2=0按下一个运算符,比如+numflag=faleopflag=truenum_t某t=””op=”+”t某t=”num1+”其中按下按=显示结果,恢复初始状态numflag=true(num1)opflag=falenum_t某t=””op=””t某t=”reult”“=”后,结果存输入第二个数,比如66入numflag=true(num2)opflag=truenum_t某t=”66”op=””t某t=”num1+66”num1,继续输入数字会在num1的结果上处理。

科学仪器分类及编码

科学仪器分类及编码
小学科学教学仪器分类及编码
编号 0 00 00001 00005 00006 00007 00009 00010 00011 00013 01 01001 01012 02 02002 02015 02020 02041 02043 02045 02051 02052 02061 02075 02077 02086 02091 02092 02101 02126 02128 02129 03 03002 方座支架 打孔器 打气筒 仪器车 生物显微镜 生物显微演示装置 学生显微镜 放大镜 放大镜 天文望远镜 酒精喷灯 电加热器 电冰箱 电烤箱 保温箱 听诊器 水族箱 手持移动灯 水槽 支架 套 J02302 坐式 密封式 500倍 彩色,分辨率450TV线以上,放大倍数 40倍~1 500倍 200倍,单筒 5倍,直径不小于30mm 3倍,直径不小于40mm 计算机 计算器 一般 4件 套 个 辆 台 台 台 个 个 套 个 台 台 台 台 个 套 台 个 J37022 J35004 J02610 J02610 J44002 J02703 J02708 J86860 Z19001 J35001 J02011 书写投影器 视频展示台 液晶投影机 银幕 录像机 影碟机 照相机 摄像机 计算机 多媒体 简易型 台 个 $2,001 名 称 通用 视昕 250mm×250ram . 台 台 台 幅 台 台 台 台 D00001 D50310 D8031l D30010 D60001 D50015 D20001 D60101 规格型号功能 单位 分类与代码
第 3 页,共 8 页
小学科学教学仪器分类及编码
编号 29025 24002 29028 29029 29030 29031 29032 29033 25012 29035 29036 29037 29038 29039 29040 29041 29042 22004 3 39 39001 39051 39052 39053 39054 39101 39102 34001 34002 39151 39152 39154 39156 4 条形磁铁 蹄形磁铁 蹄形磁铁 磁针 环形磁铁 电磁铁组装材料 电磁铁 手摇发电机 激光笔 小孔成像装置 平面镜及支架 曲面镜及支架 透镜、棱镜及支架 成像屏及支架 昆虫观察盒 动物饲养笼 塑料注射器 单摆 模型 小学科学 照相机模型 儿童骨骼模型. 儿童牙列模型 少年人体半身模型 眼构造模型 啄木鸟仿真模型 猫头鹰仿真模型 平面政区地球仪 平面地形地球仪 地动仪模型 地球构造模型 司南模型 月相变化演示器 标本 自然大,用羽毛制作 自然大,用羽毛制作 1:40 000 000 1:40 000 000 附牙刷 光学 套 台 台 台 台 件 件 个 个 台 件 台 件 M30401 M30402 30mL 一个摆球 带不小于3倍的放太镜 凸面镜、凹面镜等 凸透镜、三棱镜等 组装式 演示用 名 称 学生用 D-CG-LU-80 学生用 规格型号功能 单位 套 套 套 套 套 套 套 个 个 套 套 套 套 套 个 个 个 套 J80247 分类与代码 J11001 J11002 J11002 J11005

python科学计算器代码

python科学计算器代码

python科学计算器代码以下是一个简单的Python科学计算器的代码范例:```pythonimport mathdef main():print("欢迎使用科学计算器!")while True:print("请选择要进行的操作:")print("1. 开方")print("2. 平方")print("3. 对数")print("4. 三角函数")print("5. 阶乘")print("6. 退出")choice = input("请输入操作编号:")if choice == "1":square_root()elif choice == "2":square()elif choice == "3":logarithm()elif choice == "4":trigonometry()elif choice == "5":factorial()elif choice == "6":print("感谢使用科学计算器,再见!") breakelse:print("输入无效,请重新输入。

") def square_root():num = float(input("请输入一个数字: "))result = math.sqrt(num)print(f"开方结果为: {result}")def square():num = float(input("请输入一个数字: "))result = num ** 2print(f"平方结果为: {result}")def logarithm():num = float(input("请输入一个数字: "))base = float(input("请输入对数的底数: ")) result = math.log(num, base)print(f"对数结果为: {result}")def trigonometry():angle = float(input("请输入角度值: "))radians = math.radians(angle)sine = math.sin(radians)cosine = math.cos(radians)tangent = math.tan(radians)print(f"正弦值: {sine}")print(f"余弦值: {cosine}")print(f"正切值: {tangent}")def factorial():num = int(input("请输入一个正整数: "))result = math.factorial(num)print(f"{num}的阶乘结果为: {result}")if __name__ == "__main__":main()```这个程序提供了几个常见的科学计算操作,包括开方、平方、对数、三角函数和阶乘。

C语言实现科学计算器的加减乘除平方开放运算

C语言实现科学计算器的加减乘除平方开放运算

C语言实现科学计算器的加减乘除平方开放运算科学计算器是一种能够进行各种高级数学运算的工具。

在这个项目中,我们将使用C语言实现一个简单的科学计算器,它能够执行加法、减法、乘法、除法、平方和开方等运算。

首先,让我们来设计计算器的基本框架。

我们可以使用一个循环来接受用户的输入,并根据输入的指令执行相应的运算。

我们可以使用一个变量来存储当前的结果,并在每次运算完成后更新该变量。

以下是一个简单的代码框架:```c#include <stdio.h>#include <math.h>int maidouble result = 0; // 存储当前的结果char operation; // 存储用户的指令while (1)//显示当前的结果printf("当前结果:%lf\n", result);//获取用户的指令printf("请输入指令:");scanf(" %c", &operation);//根据用户的指令执行相应的运算switch (operation)case '+'://执行加法运算break;case '-'://执行减法运算break;case '*'://执行乘法运算break;case '/'://执行除法运算break;case 's'://执行平方运算break;case 'r'://执行开方运算break;case 'q'://退出计算器return 0;default:printf("无效的指令\n");}}return 0;```在代码中,我们使用了`switch`语句来根据用户的指令执行相应的运算。

接下来,我们将详细说明每个运算的实现。

1.加法运算:用户可以输入两个数,并将它们相加。

科学计算器vb代码

科学计算器vb代码
Top = 1455
Width = 630
End
Begin mandButton Cmd_Ln
Caption = "Ln"
Height = 390
Left = 1575
TabIndex = 35
Top = 960
Width = 630
End
Begin mandButton Cmd_Square
Caption = "C"
Height = 405
Left = 4785
TabIndex = 15
Top = 405
Width = 750
End
Begin mandButton Cmd_CE
Caption = "CE"
Height = 405
Left = 3975
TabIndex = 14
Caption = "Tan"
Height = 390
Left = 120
TabIndex = 28
Top = 1935
Width = 630
End
Begin mandButton Cmd_Atan
Caption = "Atan"
Height = 390
Left = 120
TabIndex = 27
TabIndex = 17
Top = 1935
Width = 510
End
Begin mandButton Cmd_sqrt
Caption = "Sqrt"
Height = 390
Left = 5025
TabIndex = 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
top=OPRT[tb-1];
if(!tb)
{
if(n->opt=='='||n->opt==')')
{
if(n->opt==')')
*输入:表达式链的地址
*输出:执行状态,正确返回1,错误返回0
*/
int input(Node *in)
{
//input->string
char ins[INPUT_MAX]={0};
int insi=0;
char temp_in=0;
int len=0;
int calculate(Node *n,double *r);
int sclt(int opr,double *opd);
int dclt(int opr,double *opd1,double opd2);
int prid(int c);
/*功能:表达式输入和转换
* 接收输入并翻译为操作符和操作数存入表达式链
int fu_int[NUM_OPT]={'+','-','*','/','^','(',')','s','c','t','s'+'a','c'+'a','t'+'a','n','g','='};
int i=0;
for(i=0;i<num_opt;i++) 0="" a="0.0,b=0.0;" char="" const="" db="0;" dd="(char*)d;" double="" i="=NUM_OPT)" int="" len="0;" n-="" nb="n;" node="" o="0;" return="" tb="0;" top="0;">tp==Opt&&n->opt=='-')
}while((p[i]>='0'&&p[i]<='9')||p[i]=='.');
if(p[i]==' ')
i++;
*len=i;
return temp;
}
/*功能:翻译操作数
* 如果运算符非法,则返回0,合法则返回非零标志
db--;
a=OPRD[db];
tb--;
o=OPRT[tb];
if(sclt(o,&a))
*/
int translateopt(char *p,int *len)
{
char fu[NUM_OPT][LEN_OPT]={"+","-","*","/","^","(",")","sin","cos","tan","asin","acos","atan","ln","lg","="};
}
else
{
//双目运算符
if(prid(n->opt))
{
//if(!GetTop(OPRT,&top))
if(tb)
//检测开头的空格
while(' '==(ins[0]=getchar()));
//检测是不是直接输入了一个回车
if(ins[0]!='\n'
{
do{
temp_in=getchar();
//只能忽略多余空格
if(translate(ins+insi,in++,&len))
insi+=len;
else
return 0;
}
//自动添加等号
if((in-1)->opt!='=')
OPRD[db]=0.0,db++; //Push(&OPRD,0.0);
while(1)
{
//判断前面有没有负号
if(n->tp==Opd)
{
OPRD[db]=n->opd,db++,n++; //Push(&OPRD,n->opd),n++;
in->opt='=',in->tp=Opt,in++;
in->opt=-1,in->tp=Opt;
return 1;
}
/*功能:翻译字符串为操作数或操作符
*输入:字符串地址,翻译返回节点,操作数和操作符长度返回地址
*输出:翻译结果状态
*/
int translate(char *p,Node *re,int *len)
if(ins[insi]==' '&&temp_in==' ')
continue;
ins[++insi]=temp_in;
}while(temp_in!='\n');
ins[insi]=0;
{
OPRD[db]=a,db++; //Push(&OPRD,a);
continue;
}
else
temp=temp*10+p[i++]-'0';
else if(!flag&&p[i]=='.')
flag=1,i++;
else
temp+=(p[i++]-'0')*pow(0.1,pointnum),pointnum++;
typedef enum{
Opd=0,
Opt=1
}Type;
typedef struct{
int opt;
double opd;
Type tp;
}Node;
//括号栈,检测括号是否匹配
char brackets[NUM_OPS];
int bb=0;
return 0;
}
if(prid(top)>=prid(n->opt))
int input(Node *in);
int translate(char *p,Node *re,int *len);
double translateopd(char *p,int *len);
int translateopt(char *p,int *len);
int cmp(const char *s,const char *d);
*len=2;
if(p[2]==' ')
(*len)++;
return 1;
}
else
return 0;
{
if(*p>='0'&&*p<='9')
{
re->tp=Opd;
re->opd=translateopd(p,len);
return 1;
}
else if(*p=='e'||*p=='p')
{
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define INPUT_MAX 1000
#define NODE_MAX 500
#define NUM_OPT 20
#define LEN_OPT 6
#define NUM_OPS 200
return 1;
}
else
{
if(p[1]=='i')
{
re->tp=Opd;
re->opd=M_PI;
break;
}
else
OPRT[tb]=n->opt,tb++,n++; //Push(&OPRT,n->opt),n++;
}
}
else
{
re->tp=Opt;
re->opt=translateopt(p,len);
if(re->opt)
return 1;
else
return 0;
continue;
}
if(prid(top)==0)
相关文档
最新文档