设计菜单程序(使用加减乘除菜单)

合集下载

第11章 菜单程序设计

第11章 菜单程序设计

11.5菜单程序设计示例
4. 编写程序代码 设计好菜单后,需要编写菜单项的Click事件过程。 Private Sub add_Click() x = Val(num1) + Val(num2) result.Caption = x End Sub Private Sub clean_Click() num1 = "" num2 = "" result.Caption = "" num1.SetFocus End Sub Private Sub div_Click() x = Val(num1) / Val(num2) result.Caption = x End Sub
1、在窗体上建立控件
表11.4 窗体上建立的控件的属性 控件 文本框 标签1 标签2 标签3 标签4 标签5 标签6 Name txtBox Label1 Label2 Label3 Label4 Label5 Label6 Caption 无 “十进制” “八进制” “十六进制” (空白) (空白) (空白) text BorderStyle (空白) 默认 无 默认 无 无 无 无 无 默认 默认 默认 默认 默认
octv.Checked = False dec.Checked = True hexv.Checked = False clean.Checked = False quit.Checked = False Label4.Caption = Format(answer) End Sub Private Sub hexv_Click() answer = Val(Text1.Text) octv.Checked = False dec.Checked = False hexv.Checked = True clean.Checked = False quit.Checked = False Label6.Caption = Hex$(answer) End Sub

完善计算器程序,实现减法、乘法和除法功能

完善计算器程序,实现减法、乘法和除法功能

完善计算器程序,实现减法、乘法和除法功能MVC计算器 加法器源码地址 在原有基础上对add.jsp进⾏修改,代码如下:<%@ page contentType="text/html;charset=GBK" language="java" %><html><head><title>计算器</title></head><body bgcolor="#ffffc0"><h1>算术计算器</h1><form id="calcForm" method="post"><table><tbody><tr><td>第⼀个数</td><td><input type="text" name="num1"/></td></tr><tr><td>第⼆个数</td><td><input type="text" name="num2"/></td></tr></tbody></table><td><input type="button" id="add" value="+"/></td><td><input type="button" id="sub" value="-"/></td><td><input type="button" id="mul" value="*"/></td><td><input type="button" id="div" value="/"/></td></form><script type="text/javascript">var add=document.getElementById("add");var sub=document.getElementById("sub");var mul=document.getElementById("mul");var div=document.getElementById("div");var calcForm=document.getElementById("calcForm")add.onclick=function() {calcForm.action="add.action";calcForm.submit();}sub.onclick=function() {calcForm.action="sub.action";calcForm.submit();}mul.onclick=function() {calcForm.action="mul.action";calcForm.submit();}div.onclick=function() {calcForm.action="div.action";calcForm.submit();}</script></body></html> 修改com.dh.ch01.framework包中的Controller类,代码如下:/*** Servlet初始化⽅法*/@SuppressWarnings("unchecked")public void init() throws ServletException {//初始化actionMapactionMap = new HashMap();//将AddAction对象放⼊到actionMap中actionMap.put("add", new AddAction());actionMap.put("sub", new SubAction());actionMap.put("mul", new MulAction());actionMap.put("div", new DivAction());} 在com.dh.ch01.action包中创建SubAction类,代码如下:package com.dh.ch01.action;import .Calculator;import com.dh.ch01.framework.Action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SubAction implements Action {//业务逻辑对象private Calculator biz = new Calculator();public String execute(HttpServletRequest request, HttpServletResponse response) { //获得页⾯输⼊double num1 = Double.parseDouble(request.getParameter("num1"));double num2 = Double.parseDouble(request.getParameter("num2"));//调⽤业务逻辑⽅法,获得返回值double result = biz.sub(num1, num2);//将结果存放在request中,以便在页⾯中得到request.setAttribute("result", result);//返回将要转发的页⾯路径return "add_result.jsp";}} 在com.dh.ch01.action包中创建MulAction类,代码如下:package com.dh.ch01.action;import .Calculator;import com.dh.ch01.framework.Action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MulAction implements Action {//业务逻辑对象private Calculator biz = new Calculator();public String execute(HttpServletRequest request, HttpServletResponse response) { //获得页⾯输⼊double num1 = Double.parseDouble(request.getParameter("num1"));double num2 = Double.parseDouble(request.getParameter("num2"));//调⽤业务逻辑⽅法,获得返回值double result = biz.mul(num1, num2);//将结果存放在request中,以便在页⾯中得到request.setAttribute("result", result);//返回将要转发的页⾯路径return "add_result.jsp";}} 在com.dh.ch01.action包中创建DivAction类,代码如下:package com.dh.ch01.action;import .Calculator;import com.dh.ch01.framework.Action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DivAction implements Action {//业务逻辑对象private Calculator biz = new Calculator();public String execute(HttpServletRequest request, HttpServletResponse response) { //获得页⾯输⼊double num1 = Double.parseDouble(request.getParameter("num1"));double num2 = Double.parseDouble(request.getParameter("num2"));//调⽤业务逻辑⽅法,获得返回值double result = biz.div(num1, num2);//将结果存放在request中,以便在页⾯中得到request.setAttribute("result", result);//返回将要转发的页⾯路径return "add_result.jsp";}}。

《第一单元第6课制作菜单编写程序菜单》作业设计方案-初中信息技术人教版九年级全册自编模拟

《第一单元第6课制作菜单编写程序菜单》作业设计方案-初中信息技术人教版九年级全册自编模拟

《编写程序菜单》作业设计方案(第一课时)一、作业目标本作业旨在让学生掌握程序菜单的基本概念和编写方法,熟悉编程语言的基本语法和逻辑结构,增强学生利用计算机解决问题的能力。

二、作业内容作业内容分为四个部分:1. 理解程序菜单的概念:学生需要明确了解程序菜单的概念及其在程序设计中的作用,通过自主学习和课堂讲解,理解程序菜单的构成要素和设计原则。

2. 编写简单的程序菜单:学生需要运用所学知识,编写一个简单的程序菜单,包括菜单的名称、功能描述以及对应的操作选项。

要求菜单设计合理、操作简便。

3. 结合实际需求编写程序:根据教材或老师提供的实例,学生需设计并编写一个结合实际需求(如学生成绩管理、个人日常任务管理)的程序菜单,能实现对特定任务的快捷处理。

4. 完成程序设计文档:学生需要编写程序设计文档,记录编写过程和最终的程序菜单实现效果。

包括程序的设计思路、程序的功能描述以及使用的编程语言等信息。

三、作业要求1. 学生应仔细阅读教材,并充分利用课堂时间听讲和提问。

2. 学生应遵循程序设计的基本规范和原则,编写出逻辑清晰、易于操作的程序菜单。

3. 在编写过程中,应注重对实际问题的思考与应对,将所学知识应用到实际问题中。

4. 程序设计文档应详细记录编写过程和实现效果,方便后期回顾和总结。

5. 作业提交前应进行充分的自查和修改,确保程序的正确性和可操作性。

四、作业评价1. 老师将根据学生提交的程序菜单的设计思路、功能描述、操作简便性以及文档的完整性进行评价。

2. 评价将结合学生的课堂表现和自主学习能力进行综合评估。

3. 评价结果将作为学生平时成绩的一部分,优秀作品将在班级内进行展示和分享。

五、作业反馈1. 老师将对学生的作业进行逐一评阅,并给出详细的评价意见和建议。

2. 对于存在问题的作业,老师将与学生进行沟通,指导其进行修改和完善。

3. 作业反馈将作为学生学习的重要依据,帮助学生了解自己的学习状况和需要改进的地方。

Visual Basic程序设计第九章 菜单程序设计

Visual Basic程序设计第九章 菜单程序设计



单击“工具”菜单,选择其下拉菜单中的“菜单编辑器”选 项; 单击常用工具栏中的“菜单编辑器”按钮; 使用快捷键Ctrl+E; 在要建立菜单的窗体(此窗体为活动窗体)上单击鼠标右键, 会弹出一个快捷菜单,
9.2 菜单编辑器
用弹出菜单打开菜单编辑器窗口
菜单编辑器窗口
9.2 菜单编辑器
菜单编辑器窗口分为三个部分:数据区、编辑 区和菜单项显示区。
控件属性设计
菜单控件设计
2、设计菜单
分类
主菜单1 子菜单项1 子菜单项2 主菜单2 子菜单项1 子菜单项2 子菜单项3
表9-2 菜单项属性设置
标题
输入信息(&I) 输入 退出
名称
Input Iput Quit Display Disp Clear Hide
内缩符号
无 1 1 无 1 1 1
快捷键
无 Ctrl+I Ctrl+Q 无 Ctrl+D Ctrl+L 无
对 象 属 性
Caption 窗体 (名称) (名称) Form1 Label1
属 性 值
下拉式菜单属性
Caption
标签 FontSize Alignment
VB教程
四号 2-Center
窗体添加菜单:
分类 主菜单1 子菜单项1 子菜单项2 子菜单项3 子菜单项4 主菜单2 标题 字体(&F) 宋体(&S) 楷体(&K) 黑体(&H) 名称 menuFont menuSong menuKai menuHei 内缩符号 无缩进(主菜单) 向右缩进 向右缩进 向右缩进 快捷键 F S K H
建立菜单控件
2、设计菜单

VB程序设计——加减乘除运算器

VB程序设计——加减乘除运算器

VB程序设计——加减乘除运算器在VB程序设计中,我们可以创建一个简单的加减乘除运算器。

运算器的功能是接收用户输入的两个数和运算符,并根据运算符进行相应的计算,最后将结果输出给用户。

接下来,我们需要编写程序来实现计算功能。

在窗体代码中,我们可以编写一个函数来处理加减乘除运算。

函数代码如下:```vbPrivate Function Calculate(num1 As Double, num2 As Double, operator As String) As DoubleSelect Case operatorCase "+"Return num1 + num2Case "-"Return num1 - num2Case "*"Return num1 * num2Case "/"If num2 <> 0 ThenReturn num1 / num2ElseMessageBox.Show("除数不能为零!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Return Double.NaNEnd IfCase ElseMessageBox.Show("运算符不合法!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Return Double.NaNEnd SelectEnd Function```这个函数接收两个数值和一个运算符作为参数,并根据运算符的值进行相应的计算。

如果运算符不合法或者除数为零,则会弹出一个错误提示框。

```vbPrivate Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.ClickDim num1 As DoubleDim num2 As DoubleIf Double.TryParse(txtNum1.Text, num1) AndAlsoDouble.TryParse(txtNum2.Text, num2) ThenDim result As Double = Calculate(num1, num2, cmbOperator.SelectedItem.ToString()If Not Double.IsNaN(result) ThenlblResult.Text = result.ToStringEnd IfElseMessageBox.Show("请输入有效的数值!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfEnd Sub```最后,我们可以在窗体的Load事件处理程序中为下拉列表框添加运算符选项。

动态增减菜单

动态增减菜单

我们在上一节示例de基础上,来制作如图一de小程序,每点击一次“增加信息”命令,菜单上会自动增加一个“信息”菜单,每点击一次“清除菜单”命令,程序自动清除当前信息菜单;当菜单回复原样,即只剩“信息”菜单时,“清除菜单”无效.图一一、界面设置:在第二节最终结果de基础上,创建如图一de界面,需要注意de匙,“信息”菜单(MenuH int)必须在前面de“索引”框中填入数字 0,如图二:图二在程序中,只要在“索引”文本中输入了数字,就代表这个菜单成为了一个“菜单数组”,通过这个“菜单数组”可以实现菜单de动态增加与清除.二、程序代码:1、为“信息菜单”指定变量:对于增加或清除菜单命令,我们可以这样看:原始de“信息菜单”为 MenuHint(0) ,这也匙索引值为 0 de意义所在;那么增加de一个信息菜单就应该为 MenuHint(1),再增加一个,就应该为 MenuHint(2),依此类推;清除一个信息菜单也类似,如果当前匙 MenuHint (X),那么清除一个后应该为 MenuHint(X-1),依此类推.指定索引值为 HintNumber ,那么增加时,应该匙 HintNumber = HintNumber + 1 ;清除时,应该匙 HintNumber = HintNumber -1 .2、变量de作用域:一个变量de作用域倒底有多大?这得由变量de类型来决定.当一个变量只在某一个过程或事件(如某个按钮de单击事件)中起作用,那么它就匙局部变量,可以在事件中直接定义;当一个变量可以在整个窗体内供使用,那么它可能匙窗体层变量或全局变量,凡匙在这个窗体上de事件都可以对这个变量进行引用,这种变量只能在“通用”过程中进行“声明”.因为 HintNumber 既要在“增加菜单”事件中引用,又要在“清除菜单”事件中引用,所以我们将它作为窗体层变量在“通用”过程de“声明”中对其进行定义,如图三:图三图三中de代码如下:Dim HintNumber As Integer3、在窗体de载入事件中让 HintNumber 为初始值 0 ,再加上原来de代码,结果如图四:图四4、“增加信息”菜单de Click 事件:Private Sub MenuAdd_Click()HintNumber = HintNumber + 1Load MenuHint(HintNumber)MenuHint(HintNumber).Caption = "信息" & HintNumberEnd Sub上面程序de意义在于,先计算 HintNumber + 1 并将结果赋给新de HintNumber ,然后通过 Load 命令打开一个新菜单 MenuHint(HintNumber) ,并让新菜单de标题变成“信息X”,其中,X匙数字,表示这匙第几个信息菜单.5、“清除信息”菜单de Click 事件:Private Sub MenuClear_Click()If HintNumber = 0 ThenExit SubElseUnload MenuHint(HintNumber)HintNumber = HintNumber - 1End IfEnd Sub上面de代码,先对 HintNumber 值进行判断,当 HintNumber 为 0 即程序de初始状态时,直接退出当前过程(Exit Sub 匙退出当前过程de命令,切记);如果 HintNumber 不为0 ,那么卸载索引值最高de信息菜单,即 MenuHint(HintNumber) ,然后讲算 HintNumbe r -1 并将结果赋给新de HintNumber ,并最后退出条件判断.6、“清除信息”菜单de“有效性”:如果程序处于初始状态,即“信息菜单”de索引值为 0 ,那么“清除信息”命令无效,否则有效.由于只有先点击“帮助菜单(MenuHelp)”才能弹出“清除信息菜单(MenuClear)”,所以可以在 MenuHelp de点击事件中输入以下代码:Private Sub MenuHelp_Click()If HintNumber = 0 ThenMenuClear.Enabled = FalseElseMenuClear.Enabled = TrueEnd IfEnd Sub7、测试:按键盘上de F5 键,对程序进行最终de测试.三、提醒:本节最重要de匙掌握诸如 HintNumber 这种辅助变量,它将鼠标de点击动作用数字de形式加以诠释,通过值de加减来完成菜单de动态增加与清除.这种辅助变量de使用,在 VB 中几乎匙无处不在de,如前面我们在讲For……Next……de 语法时说de作为累加器de变量.另外,从上面de例子我们可以看出, Load/Unload 不仅适用于窗体de装入与卸载,同时还适用于菜单de装入与卸载.。

菜单程序设计完整ppt

菜单程序设计完整ppt

菜单项的控制
使菜单项失效主要用来防止出现误操作。失效的菜 单项呈灰色显示,单击时不产生任何操作。
菜单项的有效性通过“有效”属性来控制。只要把 一个菜单项的“有效”属性设置为False,就可 以使其失效,运行后该菜单项变为灰色;而为了 使一个失效的菜单项变为有效,只要把它的“有 效”属性重新设置为True即可实现 。
加在菜单项前面的“√”称为菜单标记,用来表 示当前选择的是哪个菜单项。
菜单项标记通过菜单设计窗口中的“复选”属性 设置,当该属性为True时,相应的菜单项前有 “√”标记;如果该属性为False,则相应的 菜单项前没有“√”标记。
菜单项标记通常是动态地加上或取消的,因此应 在程序代码中根据情况设置。
第11章 菜单程序设计
主要内容 本章介绍Visual Basic的菜单程序设计技术。
11.1 Visual Basic中的菜单
下拉式菜单结构
11.2 菜单编辑器
菜单设计完成后,只要单击某个菜单项,即可定义该菜单项的事件过程。 快捷键的访问:直接按快捷键。 必须把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不要设置为False)。 1 设计一个具有算术运算(+、-、×、/ )及清除功能的菜单。 使菜单项失效主要用来防止出现误操作。 失效的菜单项呈灰色显示,单击时不产生任何操作。 只要把一个菜单项的“有效”属性设置为False,就可以使其失效,运行后该菜单项变为灰色; 必须把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不要设置为False)。 用菜单编辑器建立菜单。 而为了使一个失效的菜单项变为有效,只要把它的“有效”属性重新设置为True即可实现 。 菜单的事件过程以菜单项区分,可以把每个菜单项看成是一个控件。 3 用菜单编辑器建立菜单 必须把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不要设置为False)。 用PopupMenu方法弹出显示: 菜单项的增减通过控件数组来实现。 用菜单编辑器建立菜单。

Java 四则菜单运算

Java 四则菜单运算
}
});
fileMenu.add(aboutItem);
JMenuItem exitItem=newJMenuItem("退出(X)");
exitItem.setMnemonic(KeyEvent.VK_X);
exitItem.addActionListener(newActionListener()
setBounds(463,204,250,220);
la1.setBounds(10,10,55,20);
la2.setBounds(10,10,55,80);
la3.setBounds(10,10,65,140);
//将组建添加到程序窗口中
add(b1); add(b2);
add(b3); add(la1);
jian.setFont(newFont("黑体",Font.PLAIN,15));
ch.setFont(newFont("黑体",Font.PLAIN,15));
chu.setFont(newFont("黑体",Font.PLAIN,15));
YunSuan an =newYunSuan();//创建一个内部类,实现四则菜单项的监听
{
publicvoidactionPerformed(ActionEvent e)
{
System.exit(0);
}
});
fileMenu.add(exitItem);
JMenuBar bar=newJMenuBar();//创建菜单栏
setJMenuBar(bar);//把菜单栏添加到本程序窗口中
fileMenu.setMnemonic(KeyEvent.VK_F);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else cout<<"Once Error!!!!\n";
}
}
cout<<"You Score is "<<(100.0*number)/len<<endl;
}
void Div()
{ srand(time(0));
int x,y,answer,reslut,number,s, len, a;
a=rand()%4+1;
if(answer!=reslut)
{cout<<"Once again!\n";
cout<<endl;
cout<<x<<"/"<<y<<"=";
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
else cout<<"Once Error!!!!\n";
if(a==1) len=10;
else if(a==2) len=20;
else if(a==3) len=50;
else len=100;
//len=10;//test,测试程序时,可以使用10次的测试。
number=0;
for(int k=0;k<len;k++)
{
x=rand()%10; y=rand()%100;
default: break;
}
cout<<endl;
s=menu();
}
}
void Add()
{ srand(time(0));
int x,y,answer,reslut,number,s, len, a;
a=rand()%4+1;
if(a==1) len=10;
else if(a==2) len=20;
void Sub();
void Mul();
void Div();
int menu()
{ cout<<"1.Add\n";
cout<<"2.Sub\n";
cout<<"3.Mul\n";
cout<<"4.Div\n";
cout<<"0.Exit\n";
char ch[10];
cin.getline(ch,10);
{ srand(time(0));
int x,y,answer,reslut,number,s, len, a;
a=rand()%4+1;
if(a==1) len=10;
else if(a==2) len=20;
else if(a==3) len=50;
else len=100;
//len=10;//test,测试程序时,可以使用10次的测试。
设计菜单程序
设计一个菜单程序,并根据选择,模拟小学数学的加、减、乘、除运算,让小学生回答,并统计正确答题的数量。加、减、乘、除运算分别设计成一个函数,所做题目的数量也是随机产生的,要求数量分别是10、20、50、100个题目。每一个题目中参加运算的二个数据也是随机产生的,做除法时,要注意针对小学生,结果是能够除尽的。
{
srand(time(0));
int x,y,answer,reslut,number,s, len, a;
a=rand()%4+1;
if(a==1) len=10;
else if(a==2) len=20;
else if(a==3) len=50;
else len=100;
//len=10;//test,测试程序时,可以使用10次的测试。
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
else cout<<"Error!!!!\n";
if(answer!=reslut)
{cout<<"Once again!\n";
cout<<endl;
cout<<x<<"-"<<y<<"=";
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
else cout<<"Once Error!!!!\n";
}
}
cout<<"You Score is "<<(100.0*number)/len<<endl;
}
void Sub()
}
}
cout<<"You Score is "<<(100.0*number)/len<<endl;
}
int main()
{fun();
return 0;
}
number=0;
for(int k=0;k<len;k++)
{
x=rand()%100; y=rand()%100;
reslut=x*y;
cout<<endl;
cout<<x<<"*"<<y<<"=";
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
int num;
num=atoi(ch);
return num;
}
void fun()
{ int s;
s=menu();
while(s)
{ switch(s)
{case 1: Add(); break;
case 2:Sub(); break;
case 3: Mul();break;
case 4: Div();break;
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
else cout<<"Once Error!!!!\n";
}
}
cout<<"You Score is "<<(100.0*number)/len<<endl;
}
void Mul()
程序的其他结构,自由设定。
所使用的随机数,可以根据情况,根据不同的需求,再加以限制。
参考程序如下:
#include <iostream>
using namespace std;
#include <iomanip>
#include <cmath>
#include <ctime>
int menu();
void Add();
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
else cout<<"Error!!!!\n";
if(answer!=reslut)
{cout<<"Once again!\n";
cout<<endl;
cout<<x<<"+"<<y<<"=";
number=0;
for(int k=0;k<len;k++)
{
x=rand()%100; y=rand()%100;
if(x<y) {int temp=x;x=y;y=temp;}
//按照小学数学的要求,保证减法能够进行。
reslut=x-y;
cout<<endl;
cout<<x<<"-"<<y<<"=";
else cout<<"Error!!!!\n";
if(answer!=reslut)
{cout<<"Once again!\n";
cout<<eபைடு நூலகம்dl;
cout<<x<<"*"<<y<<"=";
cin>>answer;
if(answer==reslut) {cout<<"Correct!\n"; number++;}
x=x*y;
//保证除法能够进行,能够除尽。
reslut=x/y;
cout<<endl;
相关文档
最新文档