【C】-计算器-功能测试用例-V1.0-20150108
【C】-日历-测试用例-V2.0-20150110
无 61 [完成]按钮 无 62 [取消]按钮 编辑活动详情过程 中按[BACK] 编辑活动详情过程 中按[HOME] 无
1.进入添加活动界面 2.编辑各项内容 3.点击[保存]按钮 1.进入添加活动界面 2.编辑各项内容 3.点击[取消]按钮 1.进入添加活动界面 2.编辑活动各项内容 3.按[BACK]键 1.进入添加活动界面 2.编辑活动各项内容 3.按[HOME]键 1.点击一非重复活动 2.点击[编辑]按钮 1.点击一重复活动 2.点击[编辑]按钮 3.选择更改所有重复的活动 1.点击一非重复活动 2.点击[编辑]按钮 3.选择更改此活动和所有将来的 1.点击一非重复活动 2.点击[删除]按钮 3.检查提示框 1.点击一非重复活动 2.点击[删除]按钮 3.点击[确定] 1.点击一非重复活动 2.点击[删除]按钮 3.点击[取消] 1.点击一重复活动 2.点击[删除]按钮 3.点击[取消] 1.点击一重复活动 2.点击[删除]按钮 3.选择此活动和将来活动 4.点击[确定] 1.点击一重复活动 2.点击[删除]按钮 3.选择此活动和将来活动 4.点击[取消] 1.点击一重复活动 2.点击[删除]按钮 3.选择删除所有活动 4.点击[确定] 1.点击一重复活动 2.点击[删除]按钮 3.选择删除所有活动 4.点击[取消] 1.进入日历应用; 2.检切换至日程界面,查看默认 显示。 1.进入日历应用; 2.检切换至日程界面,查看活动 显示。
35
新建活动界面显示
36
在日显示界面新建 活动 在周显示界面新建 活动 长按日/周显示界面 新建活动 新建活动方式
37
38
39
保存新建活动
40
按back键保存新建 活动
41
保存空白活动
用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,判断后进行相应的跳转。
计算器黑盒测试实验报告
西实科技验报算告?实验名称计算器黑盒测试I实验地点____________________实验日期_______________指导教师__________________学生班级________________学生姓名__________________学生学号_________________提交日期软件教研室制一、测试目的设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析二、测试内容1•软件说明:实现一个小的计算器程序,只需要完成加、减、乘、除运算,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。
2、设计测试用例3、执行测试4、测试结果分析5、源代码三、测试步骤(一)、计算器界面2、设计测试用例(1)等价类测试:1、4个等价类测试用例的分析过程如下:2、对应测试的结果分析: 整型:1.加(55+50)2.减(78-24)3.乘(15*25)4.除(36/4)小数1.加(25.3+12.7)2.减(14.3-11.7)3.乘(25.6*12.8)4.除(50.2/20.7)负数6.加-20+-217.减(-15)-(-14)8.乘-12*-129.除-16/-5(其中算式写法错误导致正常运算错误)无效输入1.加(E1+t2):程序中无效数字无法正常输入,程序无法进行。
2.减(G4-k5)程序中无效数字无法正常输入,程序无法进行。
(同上)3.乘(I5*l6)程序中无效数字无法正常输入,程序无法进行。
(同上)4.除(Ff/se)程序中无效数字无法正常输入,程序无法进行。
(同上)简易计食器1、计算器4个标准等价类测试用例的分析过程如下:测试用例被加数加数预期输出Testi 0 10 正常运算Test2 1 10 正常运算Test3 40 10 正常运算Test4 55.5 10 正常运算Test5 -70 10 正常运算Test6 10 10 正常运算Test7 101 10 正常运算Test8 10 0 不能运算Test9 10 1 正常运算Test10 10 40 正常运算Testil 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test2结果:Test3结果:Test4结果:Test5结果:Test6结果:减法:1、计算器4个标准等价类测试用例的分析过程如下:2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:乘法1、计算器42、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:除法1、计算器4个标准等价类测试用例的分析过程如下:测试用例被除数除数预期输出Test2结果:Test3结果:Test8结果:附录:源代码CCalculateDlg::CCalculateDlg(CWnd* pParent /*=NULL*/):CDialog(CCalculateDlg::IDD, pParent){//{{AFX_DATA_INIT(CCalculateDlg)m_parameter = 0.0;//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;} void CCalculateDlg::DoDataExchange(CDataExchange* pDX)CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CCalculateDlg)DDX_Text(pDX, IDC_EDIT, m_parameter);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CCalculateDlg, CDialog)//{{AFX_MSG_MAP(CCalculateDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_clear, Onclear)ON_BN_CLICKED(IDC_calculate, Oncalculate)ON_BN_CLICKED(IDC_para1, Onpara1)ON_BN_CLICKED(IDC_para2, Onpara2)ON_BN_CLICKED(IDC_para3, Onpara3)ON_BN_CLICKED(IDC_para4, Onpara4)ON_BN_CLICKED(IDC_para5, Onpara5)ON_BN_CLICKED(IDC_para6, Onpara6)ON_BN_CLICKED(IDC_para7, Onpara7)ON_BN_CLICKED(IDC_para8, Onpara8)ON_BN_CLICKED(IDC_para9, Onpara9)ON_BN_CLICKED(IDC_para0, Onpara0)ON_BN_CLICKED(IDC_point, Onpoint)ON_BN_CLICKED(IDC_minus, Onminus)ON_BN_CLICKED(IDC_plus, Onplus)ON_BN_CLICKED(IDC_subtrack, Onsubtrack)ON_BN_CLICKED(IDC_multiply, Onmultiply)ON_BN_CLICKED(IDC_divide, Ondivide)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////// // CCalculateDlg message handlersBOOL CCalculateDlg::OnInitDialog(){CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically// when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization herereturn TRUE; // return TRUE unless you set the focus to a control}void CCalculateDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework.void CCalculateDlg::OnPaint(){if (IsIconic())CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icon dc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}// The system calls this to obtain the cursor to display while the user drags // the minimized window.HCURSOR CCalculateDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}void CCalculateDlg::Onclear(){UpdateData(true);m_parameter = 0;CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code herevoid CCalculateDlg::Oncalculate(){UpdateData(true);CalculatePara = m_parameter;switch(CalculateExpre){case'+':CalculateResult += CalculatePara;m_parameter = CalculateResult;break;case,-':CalculateResult -= CalculatePara;m_parameter = CalculateResult;break;case,*,:CalculateResult *= CalculatePara;m_parameter = CalculateResult;break;case,/':if (CalculatePara){CalculateResult /= CalculatePara;m_parameter = CalculateResult;}else{m_parameter = 0;MessageBox(”除数不能为零!”);} break;}// TODO: Add your control notification handler code hereCalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);}void CCalculateDlg::Onpara1(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 1;}else{CalculatePara = m_parameter + 1/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara2(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 2;elseCalculatePara = m_parameter + 2/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara3(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 3;}else{CalculatePara = m_parameter + 3/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara4(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 4;}elseCalculatePara = m_parameter + 4/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara5(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 5;}else{CalculatePara = m_parameter + 5/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara6(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 6;}else{CalculatePara = m_parameter + 6/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara7(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 7;}else{CalculatePara = m_parameter + 7/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara8(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 8;}else{CalculatePara = m_parameter + 8/pow(10,Sumpoint);Sumpoint++;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara9(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 9;}else{CalculatePara = m_parameter + 9/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara0(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 0;}else{Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here void CCalculateDlg::Onpoint(){Ispoint = true;Sumpoint = 1;// TODO: Add your control notification handler code here}void CCalculateDlg::Onminus(){UpdateData(true);m_parameter = 0 - m_parameter;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onplus(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '+';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onsubtrack(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre =m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onmultiply(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '*';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Ondivide(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '/';m_parameter = 0;Ispoint = false;UpdateData(false);// TODO: Add your control notification handler code here。
C语言程序设计-简单的计算器
- - . 《程序设计基础(C)》课程设计报告简易计算器设计学生姓名:学号:班级:指导老师:日期:309工作室设计目录一、设计目标2二、总体设计4三、详细设计6四、调试与测试12五、分析及结论13六、参考文献14【附录】16一、设计目标设计一个C语言程序(简单计算器设计)具体要求:在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
主要功能:进行+、-、*、/、三角函数、对数、幂等各项数学运算,能够进行进制间的相互转换与计算。
二、总体设计1、程序设计组成框图2、设计思路简单计算器的设计的程序中主要调用的函数有:数学函数的定义和I/O函数;设计思路和理念在于一切追求简便易操作原理,通过个人的构思和设计以及调试运行设计出这一款简单的计算器。
3、程序设计流程图三、详细设计1、功能函数①函数的功能:两数的+、-、*、/计算、求平均函数的入口:从main()的if(flag==1)开关结构中进入,即flag的值为1时进入该函数,从而进行该功能函数的计算。
函数调用关系:被主函数调用,由if()开关结构中进入。
函数的出口:函数的出口为printf("是否继续运算?(Y/N) :"),此时输入“Y”,继续前面的结构。
2、功能函数②函数的功能: x的y次方的计算、两数的求余、以x为底y的对数函数的入口:从main()的if(flag==2)开关结构中进入,即flag的值为2时进入该函数,从而进行该功能函数的计算。
函数调用关系:被主函数调用,由if()开关结构中进入。
函数的出口:函数的出口为printf("是否继续运算?(Y/N) :"),此时输入“Y”,继续前面的结构。
3、功能函数③函数的功能: 单个数值sin、cos、tan的计算,以e为底的指数、求绝对值函数的入口:从main()的if(flag==3)开关结构中进入,即flag的值为3时进入该函数,从而进行该功能函数的计算。
C#实现简易计算器功能(附源码)
C#实现简易计算器功能(附源码)本⽂实例为⼤家分享了C#实现简易计算器功能的具体代码,供⼤家参考,具体内容如下剖析:1、先设计界⾯(按钮、⽂本框(⼀个显⽰算式,⼀个显⽰结果))布局2、单击按钮将其对应内容显⽰在⽂本框中3、单击符号(+、-、×、÷、%)时将第⼀次输⼊的数储存起来4、单击等号时将第⼆次输⼊的数存储起来并将第⼀次输⼊的数与第⼆次输⼊的数按照所单击的符号进⾏运算将结果显⽰在第⼀个⽂本框中5、单击C时将两个⽂本框中的内容清空重点:1、声明⼀个bool类型的变量⽤于实现单击符号再次输⼊数字时第⼀次输⼊的数字清空显⽰第⼆次输⼊的数字2、声明两个double类型的变量⽤于装第⼀次输⼊的数和装第⼆次输⼊的数3、声明⼀个string类型的变量⽤于判断运算符号界⾯布局:具体代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Test_Calculator{public partial class Form1 : Form{public Form1(){InitializeComponent();}//声明三个变量string type; //符号类型double x;//装第⼀个数(按符号(+-×÷%)时textbox1中的数字)double y;//装第⼆个数(按等号时textbox1中的数字)bool c=false;private void Form1_Load(object sender, EventArgs e){this.CenterToScreen();//窗体居中显⽰this.Text = "计算器";this.FormBorderStyle = FormBorderStyle.FixedToolWindow; textBox1.ReadOnly = true;//⽂本框只读textBox2.TabIndex = 0;//光标焦点在textbox2中}private void button1_Click(object sender, EventArgs e){if (c==true){c = false;textBox1.Text = "";}textBox1.Text += "1";textBox2.Text += "1";}private void button2_Click(object sender, EventArgs e){if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "2";textBox2.Text += "2";}private void button3_Click(object sender, EventArgs e){if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "3";textBox2.Text += "3";}private void button4_Click(object sender, EventArgs e){if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "4";textBox2.Text += "4";}private void button5_Click(object sender, EventArgs e){if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "5";textBox2.Text += "5";}private void button6_Click(object sender, EventArgs e) {if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "6";textBox2.Text += "6";}private void button7_Click(object sender, EventArgs e) {if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "7";textBox2.Text += "7";}private void button8_Click(object sender, EventArgs e) {if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "8";textBox2.Text += "8";}private void button9_Click(object sender, EventArgs e) {if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "9";textBox2.Text += "9";}private void button10_Click(object sender, EventArgs e) {if (c == true){c = false;textBox1.Text = "";}textBox1.Text += "0";textBox2.Text += "0";}private void button11_Click(object sender, EventArgs e) {textBox1.Text += ".";textBox2.Text += ".";}private void button12_Click(object sender, EventArgs e) {textBox1.Text = "";textBox2.Text = "";}private void button13_Click(object sender, EventArgs e) {c = true;type = "+";textBox2.Text += "+";x = double.Parse(textBox1.Text);}private void button14_Click(object sender, EventArgs e){c = true;type = "-";textBox2.Text += "-";x = double.Parse(textBox1.Text);}private void button15_Click(object sender, EventArgs e){c = true;type = "×";textBox2.Text += "×";x = double.Parse(textBox1.Text);}private void button16_Click(object sender, EventArgs e){c = true;type = "÷";textBox2.Text += "÷";x = double.Parse(textBox1.Text);}private void button18_Click(object sender, EventArgs e){c = true;type = "%";textBox2.Text += "%";x = double.Parse(textBox1.Text);}private void button17_Click(object sender, EventArgs e){y = double.Parse(textBox1.Text);//法⼀while (type=="+"){textBox1.Text = (x + y).ToString();textBox2.Text += "=" + textBox1.Text;return;}while (type == "-"){textBox1.Text = (x - y).ToString();textBox2.Text += "=" + textBox1.Text;return;}while (type == "×"){textBox1.Text = (x * y).ToString();textBox2.Text += "=" + textBox1.Text;return;}while (type == "÷"){if (y!=0){textBox1.Text = (x / y).ToString();textBox2.Text += "=" + textBox1.Text;}else{MessageBox.Show("请重新输⼊","错误",MessageBoxButtons.OK,rmation); textBox1.Text = "";textBox2.Text = "";}return;}while (type == "%"){textBox1.Text = (x % y).ToString();textBox2.Text += "=" + textBox1.Text;return;}//法⼆://if (type=="+")//{// textBox1.Text=(x + y).ToString();// textBox2.Text += "=" + textBox1.Text; //}//if (type=="-")//{// textBox1.Text = (x - y).ToString();// textBox2.Text += "=" + textBox1.Text; //}//if (type=="×")//{// textBox1.Text = (x * y).ToString();// textBox2.Text += "=" + textBox1.Text; //}//if (type=="÷")//{// textBox1.Text = (x / y).ToString();// textBox2.Text += "=" + textBox1.Text; //}//if (type=="%")//{// textBox1.Text = (x % y).ToString();// textBox2.Text += "=" + textBox1.Text; //}}}}效果图:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
(完整版)计算器的测试用例全.doc
运行环境1:基于功能性测试:编测试测试方向号目的按钮的正常1使用运算器的作2用范围3非数字报错4数字类型测试“ +、”5”-”、空数值操作” *功”能6单个操作数7小数运算8算法功能键8除数为 0测试9“ /功”除数空数值能10被除数为0简易计算测试依次输入操作预期结果返回结果备注连续四次输入,无值为无操作点击 +点击1 2 =按 3 3 正确按钮钮点击 -弹出”数正常反馈:科学1E+2 异常报错据非法”按钮技术法不识别字符框非数字点击任异常报错异常报错正常(、)意键错误提交:数据点击 +点击内部不可以添1-1 1 =按异常报错 2 加算法接受非按钮钮数字前的数据,应作错误处理-点击任提示用户输异常反馈:提示意按钮入用户输入点击错误反馈:当用点击 + 提示用户输户点击运算按4 =按8按钮入钮清空文本内钮容点击 *点击1.22.2 =按 2.64 2.64 正常按钮钮累加或者累累加或者累成到科成到科学计连续多次点击”+”-”””观%”察结学计数法数法之后认正常果是否有改变之后认为为是非法字是非法字符符点击 /点击提示”以零提示”以1 0 =按零作除正常按钮作除数”钮数”点击 /点击提示用户输提示”以异常反馈:提示1 =按零作除按钮入用户输入钮数”点击 /点击8 =按0 0 正常按钮钮编测试测试方向号目的测试除数按钮为0 点击后点11 “ /功”击其他功能能运算键测试未点击 =按钮11 无用直接接下来数据运算(有前操作值)测试数字夹杂空12 数据格是否识别帅选13正常功能测试“ Tan”功能14负数的结果15正常功能测试“ Cos”功能16无值操作17正常功能测试“ Sin ”功能18无值操作依次输入操作连续四次输入,无值为无操作点击点击 /* 等点击3+点击3空格 2运算符点击“ Tan1”按钮点击”T-1an”按钮点击”Cos ”按钮点击”Cos”按钮点击”Cos ”按钮点击”Cos”按钮预期结果返回结果提示”以提示用户操零作除作有误数”等待输入 6弹出”数提示输入有据非法”误字符框1.74550641.745506499282176E-282176E-0202-1.74550649282176E-021 11 11 11 1备注异常反馈;修改此处函数系统有垃圾值3未取消正常正常正常正常。
简易计算器实验报告
简易计算器实验报告一、实验目的本次实验的目的是设计并实现一个简易计算器,能够进行基本的四则运算(加、减、乘、除),以及处理括号的优先级运算,提高对程序设计和逻辑思维的理解与应用能力。
二、实验原理1、四则运算的优先级规则在数学运算中,先计算括号内的表达式,然后按照先乘除后加减的顺序进行计算。
乘除法的优先级高于加减法,如果在同一级运算中,按照从左到右的顺序进行。
2、数据结构的选择使用栈(Stack)数据结构来存储操作数和运算符。
栈具有先进后出的特点,非常适合处理表达式中的括号和优先级。
3、算法思路首先,将输入的表达式进行解析,将数字和运算符分别存储到不同的栈中。
然后,根据运算符的优先级进行计算,将计算结果重新压入栈中,直到表达式计算完毕。
三、实验设备及环境1、编程工具:选择了 Python 语言作为主要的编程工具,使用PyCharm 集成开发环境进行代码编写和调试。
2、操作系统:Windows 10 操作系统。
四、实验步骤1、定义数据结构定义两个栈,一个用于存储操作数(operandStack),一个用于存储运算符(operatorStack)。
2、表达式解析遍历输入的表达式字符串,将数字转换为整数并压入操作数栈,将运算符压入运算符栈。
遇到左括号直接压入运算符栈,遇到右括号则进行括号内的运算。
3、运算处理当运算符栈不为空时,取出栈顶的运算符和两个操作数进行计算。
根据运算符的优先级进行相应的运算,将结果压入操作数栈。
4、最终结果当表达式解析完毕后,操作数栈中的唯一元素即为表达式的计算结果。
五、代码实现```pythonclass SimpleCalculator:def __init__(self):selfoperandStack =selfoperatorStack =def calculate(self, expression):for char in expression:if charisdigit():selfoperandStackappend(int(char))elif char in '+/()':if char =='(':selfoperatorStackappend(char)elif char ==')':while selfoperatorStack-1!='(':operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackpop()else:while selfoperatorStack and selfhasHigherPrecedence(selfoperatorStack-1, char):operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackappend(char)while selfoperatorStack:operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)return selfoperandStackpop()def hasHigherPrecedence(self, op1, op2):if op1 in '/' and op2 in '+':return Trueelif op1 in '+' and op2 in '+':return Falseelif op1 in '/' and op2 in '/':return Falsereturn Falsedef performOperation(self, operand1, operand2, operator):if operator =='+':return operand1 + operand2elif operator =='':return operand1 operand2elif operator =='':return operand1 operand2elif operator =='/':if operand2 == 0:raise ValueError("除数不能为 0")return operand1 / operand2if __name__ =="__main__":calculator = SimpleCalculator()expression ="2 + 3 (4 1) / 2"result = calculatorcalculate(expression)print("计算结果:", result)```六、实验结果与分析1、测试用例及结果输入表达式:"2 + 3 4",计算结果:14输入表达式:"(2 + 3) 4",计算结果:20输入表达式:"5 2 3",计算结果:-1输入表达式:"10 / 2 + 1",计算结果:62、结果分析对于简单的四则运算表达式,计算器能够正确计算出结果。
计算器测试——精选推荐
3
简单计算器 V1.0 测试用例
四川师范大学信息技术院
测试用例
项目名称:简单计算器 v1.0
测试阶段:验收测试
用例编号:SC_ 02_03
测试需求标识
(4)对输入的两个数作乘法运算:先输入被乘数, 设 计 者 按*号键, 或*号 按钮, 再输入乘 数,最 后按=号按
键盘输 -0.369871
入
键盘回车
键盘输入-6.3
键盘回车
键盘输入-2.35 键盘回车
键盘输入 9.21111 键盘回车
键 盘 输入 最 大 的 整数
按钮=
键 盘 输入 最 小 的 负整数
按钮=
2
-630 8.8542 -1.733871 -1.62744 60.65 56.21111 结果正确无溢出发生 结果正确无溢出发生
按钮*
按钮输入 1.3875 键盘回车
按钮输入-5.226 键盘回车
按钮输入 0.2548 键盘回车
键盘输入-45
按钮=
键盘输 -0.369871
入
按钮=
键盘输入 354
按钮=
键盘输入 78954 按钮=
键盘输入-35484 按钮=
键盘输入-4
按钮=
键 盘 输入 最 大 的 整数
按钮=
键 盘 输入 最 小 的 整数
ห้องสมุดไป่ตู้
08
按钮输入 -8.1545
键盘*
09
按钮输入 -6.254
键盘*
10 键盘输入-21 按钮*
11 键盘输入-427 按钮*
12
键盘输入 -2.35402
按钮*
13
windows自带计算器黑盒测试文档
windows自带计算器黑盒测试文档课程名称软件质量保证与测试实验项目名称黑盒测试方法测试计算器的测试文档2009年 11月12 日 6-7节实验时间 2009年 11月19 日 6-7节 (日期及节次) 2009年 11月26 日 6-7节专业软件工程学生所在学院软件学院年级 2006级学号 200608180姓名马小强指导教师金虎实验室名称软件学院第四实验室附加:综合实验预习情况操作技术实验报告创新能力综合成绩实验成绩教师签字黑龙江大学教务处测试计划(GB8567——88) 1引言1.1编写目的根据Windows XP计算器的帮助文档,制定对Windows XP计算器的测试用例。
该计划用来测试计算器功能。
包括:界面设计、输入输出、内部计算等。
根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2背景说明:a( 测试计划所从属的软件系统:Windows XP;b( 在开始执行本测试计划之前必须完成的工作:需要阅读有一个计算器的帮助文档。
1.3定义各种进制:十六进制,八进制,十进制,二进制1.4参考资料用到的参考资料:a( 软件开发标准:GB8567。
b( Windows 计算器的帮助文档c( 《软件测试教程》宫云站机械工业出版社 2008年9月 2计划2.1软件说明以下的图表是用来说明被测软件的功能来作为叙述测试计划的提纲。
序号模块名软件功能描述1 执行简单计算进行简单的加,减,乘,除,的计算2 执行科学计算进行科学计算(包括各种进制的计算)2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
具体的测试内容如下:(1)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
计算器功能测试
实验三计算器功能测试预习报告(一)实验目的1.理解并掌握WinRunner的测试流程;2.掌握掌握数据驱动测试脚本编写方法;(二)实验内容1.识别windows计算器GUI对象;2.编写数据驱动测试脚本,分别测试windows计算器的加、减、乘、除运算。
(三)实验要求1.分别为windows计算器的加、减、乘、除运算设计测试用例,填写用例设计表;2.编写数据驱动测试脚本,使用Debug模式对脚本除错;实验报告(一)实验步骤一.加法代码:GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");set_window ("‹¡ {— Vh ");table = "‹¡ {— Vh .xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN){pause("Cannot open table.");}ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");add1=length(additive1);while(add1>0)if(substr(additive1,add1,1)==" ")add1--;else break;i=1;while(i<add1)if(substr(additive1,i,1)==" ")i++;else break;additive11=substr(additive1,i,add1);for(i=1;i<=length(additive11);i++)button_press (substr(additive11,i,1));button_press ("+");if(additive2==""){additive2=additive11;}else{add2=length(additive2);while(add2>0)if(substr(additive2,add2,1)==" ")add2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;additive22=substr(additive2,i,add2);for(i=1;i<=length(additive22);i++)button_press (substr(additive22,i,1));}button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".") len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);if(int(additive1+additive2)==int(result))tl_step("testcase"&table_Row,0,additive1&"+"&additive2&"="&(additive1+additive2)&"is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"+"&additive2&"="&(additive1+additive2)&"is not equal with result"&result&",incorrect.");}ddt_close(table);结果:二.减法代码:GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");set_window ("‹¡ {— Vh ");table = "QÏ .xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");add1=length(additive1);while(add1>0)if(substr(additive1,add1,1)==" ")add1--;else break;i=1;while(i<add1)if(substr(additive1,i,1)==" ")i++;else break;additive11=substr(additive1,i,add1);if(substr(additive11,1,1)=="-")for(i=2;i<=length(additive11);i++)button_press (substr(additive11,i,1));button_press("+/-");}elsefor(i=1;i<=length(additive11);i++)button_press(substr(additive11,i,1));button_press("-");if(additive2==""){additive2=additive11;}add2=length(additive2);while(add2>0)if(substr(additive2,add2,1)==" ")add2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;additive22=substr(additive2,i,add2);if(substr(additive22,1,1)=="-"){for(i=2;i<=length(additive22);i++)button_press (substr(additive22,i,1));button_press("+/-");}elsefor(i=1;i<=length(additive22);i++)button_press(substr(additive22,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);add=additive1-additive2;len=length(add);while(len>0)if(substr(add,len,1)==" "||substr(add,len,1)==".")len--;else break;i=1;while(i<len)if(substr(add,i,1)==" ")i++;else break;add=substr(add,i,len);if(add==result)tl_step("testcase"&table_Row,0,additive1&"-"&additive2&"="&(additive1-additive2)&" is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"-"&additive2&"="&(additive1-additive2)&" is not equal with result"&result&",incorrect.");}ddt_close(table);结果:三.乘法代码:GUI_load("D:\\ProgramFiles\\Mercury\\Interactive1\\WinRunner\\dat\\ca lc.gui");set_window ("计算器");table = "date7.xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");additi1=length(additive1);while(additi1>0)if(substr(additive1,additi1,1)==" ")additi1--;else break;i=1;while(i<additi1)if(substr(additive1,i,1)==" ")i++;else break;t_additive1=substr(additive1,i,additi1);if(substr(t_additive1,1,1)=="-"){for(i=2;i<=length(t_additive1);i++)button_press (substr(t_additive1,i,1));button_press("+/-");}elsefor(i=1;i<=length(t_additive1);i++)button_press(substr(t_additive1,i,1));button_press("*");if(additive2==""){additive2=t_additive1;}additi2=length(additive2);while(additi2>0)if(substr(additive2,additi2,1)==" ")additi2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;t_additive2=substr(additive2,i,additi2);if(substr(t_additive2,1,1)=="-"){for(i=2;i<=length(t_additive2);i++)button_press (substr(t_additive2,i,1));button_press("+/-");}elsefor(i=1;i<=length(t_additive2);i++)button_press(substr(t_additive2,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);add=additive1*additive2;len=length(add);while(len>0)if(substr(add,len,1)==" "||substr(add,len,1)==".")len--;else break;i=1;while(i<len)if(substr(add,i,1)==" ")i++;else break;add=substr(add,i,len);if(add==result)tl_step("testcase"&table_Row,0,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is not equal with result"&result&",incorrect.");}ddt_close(table);结果:四.除法代码:GUI_load("C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\calc.gui"); set_window("计算器");table = "default.xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");if(length(additive1)==0)additive1=0;elselen1=length(additive1);while(len1>0)if(substr(additive1,len1,1)==" ")len1--;elsebreak;j=1;while(j<len1)if(substr(additive1,j,1)==" ")j++;elsebreak;additive3=substr(additive1,j,len1);additive1=substr(additive1,j,len1);#if(length(additive2)==0)#additive2=additive3;#elselen2=length(additive2);while(len2>0)if(substr(additive2,len2,1)==" ")len2--;elsebreak;i=1;while(i<len2)if(substr(additive2,i,1)==" ")i++;elsebreak;additive2=substr(additive2,i,len2);additive4=substr(additive2,i,len2);if(length(additive2)==0){additive2=additive3;additive4=additive3;}for(j=1;j<=length(additive1);j++)button_press (substr(additive1,j,1));button_press ("/");if(substr(additive2,1,1)=="-"){additive2=substr(additive2,2,len2); for(i=1;i<=length(additive2);i++) button_press (substr(additive2,i,1));button_press ("+/-");}elsefor(i=1;i<=length(additive2);i++)button_press (substr(additive2,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;elsebreak;i=1;while(i<len)if(substr(result,i,1)==" ")i++;elsebreak;result=substr(result,i,len);if(additive4==0)tl_step("testcase"&table_Row,0,"the result is eror 输入错误 correct");else{if((additive3/additive4)==result)tl_step("testcase"&table_Row,0,"the result is"&(additive3/additive4)&"and"&(result)&",correct");elsetl_step("testcase"&table_Row,1,"the result is"&(additive3/additive4)&"and"&(result)&",incorrect");}}ddt_close(table);结果:(二)实验体会通过此实验让我们理解并掌握WinRunner的测试流程;掌握掌握数据驱动测试脚本编写方法;我们更加认识windows计算器GUI对象;深入了解测试用例的划分,分别为windows 计算器的加、减、乘、除运算设计测试用例。
win7计算器软件测试
软件测试报告班级:计科142姓名:***学号:************系别:信息技术系专业:计算机科学与技术指导老师:***目录1.前言 (2)1.1测试目的 (2)1.2测试背景 (2)2.测试计划 (2)2.1测试计划名称 (2)2.2项目背景和内容概要 (2)2.3相关资料、缩略语、定义 (2)2.4参考资料: (3)2.5测试过程 (3)2.6测试目标 (3)2.7测试分工 (3)2.8测试步骤及方法 (3)2.9测试通过标准 (3)2.10修正错误并重新测试的步骤与要求 (3)2.11进度计划 (3)2.12测试小结 (4)2.13测试用例的简单描述 (4)2.14需求跟踪 (4)3.性能测试用 (4)3.1测试用例的目的 (4)3.2测试用例的输入 (4)3.3期待的输出 (5)3.4测试方法 (6)3.5实际的输出 (6)4.设计测试环境 (8)4.1软件: (8)4.2硬件: (8)4.3网络环境: (8)4.4测试工具: (8)5.测试软件 (9)5.1软件名称 (9)5.2获取方式 (9)5.3功能模块 (10)6.功能测试计划 (12)6.1测试目标 (12)6.2测试模块 (12)6.3等价类划分及测试用例 (12)7.测试实施 (14)7.1测试时间 (14)7.2测试过程及结果 (14)8.测试分析及缺陷描述 (15)8.1测试分析 (15)8.2缺陷描述 (15)9.实验总结 (16)1.前言1.1测试目的根据Windows 7计算器的帮助文档,制定对Windows 7计算器的测试用例,用来测试计算器功能。
包括:输入输出、计算换算、日期计算等。
根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2测试背景1)测试计划所从属的软件系统:Windows 7;2) 在开始执行本测试计划之前必须完成的工作:需要阅读计算器的帮助文档。
2.测试计划2.1测试计划名称Windows 7计算器的测试2.2项目背景和内容概要该项目是自己找的,委托单位是老师,开发单位主管单位都是window公司的员工。
计算器测试用例
用例编号相关用例计算器界面 1.011.点击“计算器”,进入计算器界面输入数字 1.01 1.直接按数字键盘上相应的按键1.011.点击屏幕上数字键盘上的小数点1.021.点击屏幕上的数字键输入数字:2.22.点击“.”输入负号 1.011.先输入一个负号2.点击屏幕上的数字键输入数字:23.输入一个乘号4.点击屏幕上的数字键输入数字:5加减乘除符号 1.011.点击键盘上任意一个运算符号的位置(+、-、×、÷)各测试一次删除显示框的数字1.011.输入数字:1234567892.点击屏幕上的“清除”键1次清零 1.011.输入数字:1234567892.长按住屏幕上的“清除”键后释放输入小数点参考信息说明:测试结果列分PASS和FA 功能特性能进行简单的计算,并且有一定的容用例说明测试目的验证计算器能正常进行简单的计算预置条件进入计算器界面两个正数正常进行运算1.011.输入一个数字(正整数和小数各测试一次)2.输入“+”(+、-、×、÷各测试一次)3.输入一个数字(正整数和小数两负数正常进行运算1.011.输入一个数字(负整数和负小数各测试一次)2.输入"+"号(+、-、×、÷各测试一次。
)3.输入一个数字(负整数和负小两正整数边界数进行运算1.011.输入一个数字(0或9输入到最大)2.输入"+"号(+、-、×、÷各测试一次。
)3.输入一个数字(0或9输入到最大)5.按"="号。
两正小数边界数进行运算1.011.输入一个数字(0或9输入到最小或最大,小数、整数各测一次)两负数边界数进行运算1.011.输入一个数字(负整数和负小数各测试一次)2.输入“+”(+、-、×、÷各测试一次)1.011.输入数字(小数、正数、负数各测试一次)2.输入运算符号3.输入数字1.021.输入数字(小数,正数,负数各测试一次)2.输入运算符号3.输入数字计算器界面来电话1.011.进入计算器界面;2.有电话呼入计算器界面来短信或彩信1.011.进入计算器界面;2.来一条短信或彩信计算器界面来提醒1.011.在日程表里设置一个提醒;2.进入计算器界面;3.到时间响铃在计算时,没电关机1.011.在计算器界面,计算数字时没电自动关机在计算时,按power键关机1.011.在计算器界面,计算数字时按关机键关机三个数以上连续运算计算器主界面 1.01 1.按“MENU”键1.02 1.01 1.点击“清除历史记录”1.03 1.01 1.点击“高级面板”S和FAIL两种情况,通过的填[P],有问题项填[F],并在问题描述列标注[未处理问题列表]中对应BUG的序号;软件“xx”模块测试用例定的容错能力计算特殊规程说明预期结果测试结果显示数字键、符号键、清除键以及输入框在计算器显示屏上显示焦点所在的数字;按不同的键,屏幕上显示对应的数字在计算器显示屏上显示焦点所在的小数点计算器显示屏上显示 2.2上不会显示后输入的小数点计算器屏显示的结果为-10计算器显示屏上显示“-”其它运算符不显示计算器显示屏上显示“12345678”计算器显示屏上显示内容为空p验证计算出两个正整数正常运算后的结果正确1.验证计算出两个负数正常运算后的结果正确;2.验证两个负数相乘或相除等于正数。
c简单计算器代码
}
break;
case IDC_NUM0:
{
GetDlgItemText(hwnd,IDC_TEXT,num,sizeof(num));
wsprintf(num,"%s0",num);
SetDlgItemText(hwnd,IDC_TEXT,num);
}
break;
case IDC_NUM1:
SetDlgItemText(hwnd,IDC_TEXT,num);
}
break;
case IDC_NUM8:
{
GetDlgItemText(hwnd,IDC_TEXT,num,sizeof(num));
wsprintf(num,"%s8",num);
SetDlgItemText(hwnd,IDC_TEXT,num);
}
else{
n3=n1+n2;
//ltoa()
//ltoa(n3,num3,16);
//wsprintf(num3,"%f",n3);
//MessageBox(hwnd,num3,num3,MB_OK);
gcvt(n3,c,num3);
SetDlgItemText(hwnd,IDC_NUM3,num3);
int i=strlen(num);
if(num[i-1]=='*'){
break;
}
wsprintf(num,"%s*",num);
SetDlgItemText(hwnd,IDC_TEXT,num);
}
break;
case IDC_CHU:
{
GetDlgItemText(hwnd,IDC_TEXT,num,sizeof(num));
计算器测试用例
(1)测试用例说明名称
计算器四则运算的测试用例
(2)测试项
计算器能够实现数字与数字之间的加(+)、减(-)、乘(*)、除(/),通过计算器的运行,方便实现较大数据在短时间内的处理,为用户大大的减少了运算时间,提高了运算的效率以及运算的精确值。
(3)输入说明
输入数据均为有效实数
(4)输出说明
a.输出值范围:108到10-8
b.精确值:小数点后两位(.00)
c.计算结果将会在求算按钮点击后1秒内给出,如果屏幕显示乱码,,表示计算结果超出了
运算范围或者运算不符合运算要求!
(5)环境
a.硬件:
长度:60cm 宽度:30cm 高度:15cm
内存:4MB
存储空间:1024KB
b.软件:
C语言运算代码
(6)特殊的规程要求
使用计算器之前确保电池的电量,如需对计算器原有的记忆全部删除,可以在计算器背面的原孔处点击,实现计算器的出厂还原!
(7)用例间的依赖关系:无
基于等价类的测试用例。
计算器的测试用例XX49号
12.多余2个整数
13.输入的2个数中有非数字字符
14.输入的数字中有小数
测试内容
测试数据
期望结果
加法
0,0
0
加法
100,100
200
加法
50,20
70
减法
101,101
0
减法
200,200
0
减法
150,199
49
乘法
201,201
40401
乘法
300,300
90000
乘法
250,280
70000
除法
301,301
1
除法
600,600
0
除法
301,600;600,301
1
除法
500,400;400,500
1
输入多于两个的数字
20,30,40
50
输入的有非数字字符
20,a;#,30
出错,程序结束
输入的数字中有小数
20.பைடு நூலகம்,40;40,20.3
5.x属于[0,100],y不属于[0,100]
6.y属于[0,100],x不属于[0,100]
7.x属于[102,200],y不属于[102,200]
8.y属于[102,200],x不属于[102,200]
9.x属于[201,300],y不属于[201,300]
10.y属于[201,300],x不属于[201,300]
要求:输入的两个整数需在[ 0,600]之间,且不同区域直接的数据有不同的运算,具体的见下面:
x,y都在[0,100]之间为加法运算
C语言编写一个计算器界面(可视化界面和多功能)
C语⾔编写⼀个计算器界⾯(可视化界⾯和多功能)⽬录引⾔计算器总结引⾔在⼤学期间,C 语⾔或者数据结构等课程,⽼师会要求学⽣编写⼀个⼩项⽬练⼿,或者期末编写⼀个⼩软件等课程设计。
今天在电脑看到⼤⼀学C语⾔时,实验课上写的计算器功能,挺有意思。
所以在此分享给学C语⾔的学弟学妹,记得收藏保留!计算器简单版本计算器,主要实现的是简单两个数的加法,减法,乘法,除法,求余功能。
⽤户可以在主菜单选择需要计算的功能,然后根据⽤户输⼊的数字,进⾏计算,输出结果。
⾸先,我们定义五个⽅法,实现两个数的加法,减法,乘法,除法,求余功能。
代码如下:// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}然后定义⼀个打印主菜单界⾯的函数,使⽤简介美观的菜单界⾯,供⽤户选择要计算的功能,代码如下:// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n");printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}最后,我们在主函数 main 中,定义⼀个 while 循环代码块,不断读取⽤户输⼊的内容,进⾏数字计算,代码如下:int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n"); return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}下⾯我们演⽰⼏个例⼦,能更加直观体验计算器的功能:菜单功能选择错误,会提⽰重新选择加法除法退出简单版本计算器,完整代码如下:#include <stdio.h>#include <stdlib.h>// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n"); printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}/*** 简单版本计算器功能 By -- 陈⽪的JavaLib* @return*/int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n");return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}总结在⼤学期间,如果是计算机类的专业,⼀般都会学习 C 语⾔,作为编程⼊门语⾔,⼤家⼀定要学习好此门语⾔,⽽且如果学好了,其实学习其他编程语⾔就很容器上⼿的,不同语⾔其实⼤同⼩异,只要你编程思维提升了,基础语法掌握了,才能学习更加深⼊的知识。
C#编写简易计算器(附源代码)超详细
超详细因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里使用Windows窗体应用程序,并命名为Calc,如下图所示:向窗体中拖入需要的控件,如下图所示:(完成效果图)结果显示区(作者博客左边的文本框)是TextBox控件,并修改其name为txtShow,按键0~9 为Button 控件,并将其name分别修改为btn_O、btn_1、btn_2、btn_3、btn_4、btn_5、btn_6、btn_7、btn_8、btn_9;按键【负数】的name值修改为btn_sign,按键【.】的name修改为btn_dot,按键【+ - * / 】的name 值分别修改为btn_add、btn_sub、btn_mul、btn_div,按键【=】的name值修改为btn_equ,按键【倒数】的name值修改为btn_rev,按键【平方】的name值修改为btn_sqr,按键【开方】的name值修改为btn_sqrt。
右边的计算器图片空间是PictureBox ,作者博客控件是LinkLabel ,可以不添加,以上所有控件均可按照需求添加,只保留自己需要的按钮控件和textbox控件即可。
三、代码部分(含解释),采用switch多分支语句编写using System;using System.Drawing;using System.Collections;using ponentModel;usingusing System.Data;namespace Calc{/// <summary>///温柔一刀C#简易计算器的实现/// </summary>public class CalcFormForm{private Button btnprivate Button btnprivate Button btnprivate Button btnprivate Button btnprivate Button btn_5;private Button btn_6;private Button btn_7;private Button btn_8;private Button btn_9;private Button btn_add;private Button btn_sub;private Button btn_mul;private Button btn_div;private Button btn_sqrt;private Button btn_sign;private Button btn_equ;private Button btn_dot;private Button btn_rev;private TextBox txtShow;private Button btn_sqr;private PictureBox pictureBox1;private LinkLabel linkLabel1;/// <summary>/// 必需的设计器变量。
《c 面向对象程序设计简单计算器的设计》
面向对象程序设计----简单计算器的设计一、问题描述简单计算器的基本功能如下:1.四则运算,例如加减乘除等;2.除了整数的运算也可实现小数的各类运算;3.判断非法操作,例如判定1/0为非法操作;4.其他特性;这个简易计算器只实现以上所述功能,即实现简单计算。
二、设计思路计算器起始运行在归零状态,此时只接受数字输入,当按下一个数字按钮时,计算器只显示用户输入第一个操作数,用户在该状态下可以继续输入数字。
1.当第一个数字输入完成后,可以接受第二个操作数。
2.在数字输入结束进行运算后,按下=按钮可以根据前面按下的操作符计算结果显示,表示计算完成。
3.在上述计算过程中都可以接受双击等号回到清零状态。
三、功能函数设计:1.数字按钮这个是通过最基本的OnButton()将0~9十个数字按钮的单击消息处理函数用类向导全部关联到此,适文本框应该只是显示当前单击的数字;2.小数点按钮函数OnDecimal这个函数主要是实现小数点在计算器的相关功能3.列表在算法的函数OnSelchangeOperatorList()这一类按钮包括“+”“-”“*”“/”,它们的单击消息在同一个处理函数中进行处理,以同样的方法把这四个按钮的单击操作关联到此函数中,使四则运算法则在列表中通过选择去实现。
4.“=”符号函数OnEnquall()实现计算器中等号的功能,双击时也可使编辑框的数字归零。
四、编码实现:int calculator_type_i;double count=10,value=0;double Input_data_int=0,Input_data_dec=0;double Inputdata1=0,Inputdata2=0;char datatostr_buffer[10];bool decimal=FALSE;以上代码是添加的全局变量,为正确获取键盘输入供所有按钮函数使用。
// TODO: Add extra initialization herem_OperatorBox.AddString("-");m_OperatorBox.AddString("*");m_OperatorBox.AddString("/");m_OperatorBox.AddString("+");以上代码是初始化列表框,并使其在程序运行时具有“加”“减”“乘”“除”可选择功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 2
测试项
检查点
从所有应用程序界 无 面进入
前置条件
操作步骤
一 进入/退出计算器 1.进入全部程序界面 2.点击"计算器"图标 1.进入全部程序界面 从桌面快捷方式进 2.长按"计算器"图标移动至主屏幕 无 入 3.从主界面图标进入、退出"计算器 " 进入/退出计算 1.点击最近运行的 器 从最近运行的 最近运行的程序中有计算器 2.点击计算器界面 按[BACK]退出 无 无 1.进入全部程序界面 2.点击"计算器"图标 3.点击"BACK键 1.进入全部程序界面 2.点击"计算器"图标 1.进入计算器 2.在计算器界面分别输入数字“1 、2、3、4、5、6、7、8、9、0、. 1.进入计算器 2.在计算器界面分别输入字符“ 1+1、1-1、1÷1、1×1” 1.进入计算器 2.在计算器界面分别输入函数“ sin、ln、cos、log、tan、e、∏ 、√、∧、!” 1.进入计算器 2.在计算器界面输入一串字符 3.短按输入框的删除键 1.进入计算器 2.在计算器界面输入一串字符 3.长按输入框的删除键 1.进入计算器 2.在计算器界面输入一方程式,并 有运算结果 3.点击“清除” 1.进入计算器 2.在计算器界面输入一串字符 3.点击右下角的更多按钮,选择“ 清除历史记录” 1.进入计算器 2.在计算器界面输入一方程式,并 有运算结果 3.点击右下角的更多按钮,选择“ 清除历史记录” 1.进入计算器 2.输入一长串字符 3.移动光标 4点击删除键 1.进入计算器 2.输入一长串字符 3.移动光标 4.再输入其它字符 1.进入计算器 2.在计算器界面输入“8*2=” 1.进入计算器 2.在计算器界面输入“8****2=” 1.进入计算器 2.在计算器界面输入“(-7)*(-8)= 乘法运算 无
46 cos 47 48 tan 49 50 ln 51 52 函数运算 53 54 ! 55 56 ∏ 无 无 log 无 无 无 无
57
e
无
58 ∧ 59 60 √ 61 四 压力测试 62 最大值 最大值 无 无 无
1.进入计算器 2.在计算器界面输入“cos” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“cos(30)= 1.进入计算器 2.在计算器界面输入“tan” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“tan(30)= 1.进入计算器 2.在计算器界面输入“ln” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“ln(30)= 1.进入计算器 2.在计算器界面输入“log” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“log(30)= 1.进入计算器 2.在计算器界面输入“!” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“9!” 1.进入计算器 2.在计算器界面输入“∏” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“∏” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“∧” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“9∧3” 1.进入计算器 2.在计算器界面输入“!” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“√9” 1.进入计算器 2.在计算器界面输入50个字符 1.进入计算器 2.在计算器界面长按POWER键,选 择关机 3.开机进入计算器 1.进入计算器 1.进入计算器 2.横竖屏切换屏幕
63 开关机影响 64 低电影响 65 屏幕切换
开关机影响 低电影响 横竖屏切换
无 电量低于15% 无
期待结果
成功进入计算器 成功进入计算器
优先级
A A
实际结果 Bug_ID
备注
成功进入计算器
A
成功退出计算器 成功退出计算器
A A
在输入框显示输入的数字
A
在输入框显示输入的字符
A
在输入框显示输入的字符
B
无震动项目无提示
B B A
B B A B B B B B A B B B B A B B B B B B B B B B B B
运算结果显示“出错” 运算结果为“0.15425145” 运算结果显示“出错” 运算结果为“-6.4053312” 运算结果显示“出错” 运算结果为“3.40119738” 运算结果显示“出错” 运算结果为“1.47712125” 运算结果显示“出错” 运算结果为“362880” 运算结果显示“3.14159265”
A
删除最后一个字符
A
删除输入框中所有字符
清除输入框中的运算结果
A
清空输入框中的所有字符
A
清空输入框中的运算结果
A
1.可以正常移动光标 2.删除光标前一位字符
A
1.可以正常移动光标 2.可以在光标前插入字符
A
运算结果为“16” 运算结果为“16” 运算结果为“56”
A B B
运算结果为“-0.08”
B B B B B B B B B B B
运算结果显示“2.71828183”
B
运算结果显示“出错” 运算结果为“729” 运算结果显示“出错” 运算结果为“3” 超过50个字符无法再输入,且 有震动提示 计算器运行正常(重复10次) 计算器能正常运算 计算器界面显示正常,横竖屏 能正常切换
B B B B
3
4
5 按[HOME]退出 二 计算器按键功能 6 输入数字显示
无
7
输入功能
输入+、-、÷、× 无
8
输入函数
无
9 删除功能 10 删除功能 无
11 清除
运算结果清除
输入框中有运算结果
12 清除历史记录 13 清除历史记录 无
14 移动光标 15 三 计算器运算 16 17 18
删除
无
插入
无
19
乘法运算
无
20 21 22 23 24 除法运算 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 混合运算 41 42 43 44 sin 45 无 减 除 减 乘 乘 除 无 无 无 加 乘 加 除 加 减 无 无 无 减法运算 无 加法运算 无 无
基本运算
1.进入计算器 2.在计算器界面输入“(0.2)*(0.4)=” 1.进入计算器 2.在计算器界面输入5位数字*5位 数字“12345*56479” 1.进入计算器 2.在计算器界面输入“0*0=” 1.进入计算器 2.在计算器界面输入“8/2=” 1.进入计算器 2.在计算器界面输入“8////2=” 1.进入计算器 2.在计算器界面输入“(-7)/(-8)= 1.进入计算器 2.在计算器界面输入“(0.2)/(0.4)=” 1.进入计算器 2.在计算器界面输入“0/0” 1.进入计算器 2.在计算器界面输入“0/5” 1.进入计算器 2.在计算器界面输入“1+2=” 1.进入计算器 2.在计算器界面输入“1++++2=” 1.进入计算器 2.在计算器界面输入“-1+0=” 1.进入计算器 2.在计算器界面输入“0.2+0.3=” 1.进入计算器 2.在计算器界面输入10位数+10位 数“1234567890+5647978564” 1.进入计算器 2.在计算器界面输入“8-2=” 1.进入计算器 2.在计算器界面输入“8----2=” 1.进入计算器 2.在计算器界面输入“-1-(-5)=” 1.进入计算器 2.在计算器界面输入“0.2-0.3=” 1.进入计算器 2.在计算器界面输入10位数字-10 位数字"1234567890-5647978564" 1.进入计算器 2.在计算器界面输入“8+4*2=” 1.进入计算器 2.在计算器界面输入“8+4/2=” 1.进入计算器 2.在计算器界面输入“8+4-2=” 1.进入计算器 2.在计算器界面输入“8-4/2=” 1.进入计算器 2.在计算器界面输入“8-4*2=” 1.进入计算器 2.在计算器界面输入“8*4/2=” 1.进入计算器 2.在计算器界面输入“sin” 3.再点击“=” 1.进入计算器 2.在计算器界面输入“sin(30)=
B
运算结果为“697233255” 运算结果为“0” 运算结果为“4” 运算结果为“4” 运算结果为“0.875” 运算结果为“-0.5” 运算结果为“出错” 运算结果为“0” 运算结果为“3” 运算结果为“3” 运算结果为“-1” 运算结果为“0.5” 运算结果为“6882546454" 运算结果为“6” 运算结果为“6” 运算结果为“4” 运算结果为“-0.1” 运算结果为“-4413410674” 运算结果为“16” 运算结果为“10” 运算结果为“10” 运算结果为“6” 运算结果为“0” 运算结果为“16” 运算结果显示“出错” 运算结果为“-0.9880316”