第一篇:Android实验格式简易计算器实验报告
实验报告
2013-2014 学年第2学期
课程名称:嵌入式操作系统
实验题目:简易计算器的设计与实现
专业:计算机科学与技术、信息处理(是什么专业,写什么专业)班级:计算本1101(按自己班级填写)
日期填写 2014年4月 8日
实验题目:简易计算器的设计与实现
实验类型:上机实验
一、实验目的及要求
1.掌握线性布局的应用;
2.掌握表格布局的应用;
3.掌握数组的应用;
4.掌握如何Button组件的使用;
5.掌握代码中访问布局组件的方法;
6.掌握特定组件的事件设计方法。
二、实验仪器设备与软件环境
1、电脑。
2、Android集成开发工具adt-bundle。
三、实验过程
1、布局设计
…这部分自己填
2.程序设计
…这部分自己填
第二篇:AVA简易计算器课程设计-
JAVA课程设计
简易计算器的设计
学号: 姓名: 班级: 指导教师:完成日期:第1页(共11页)
2016-12-
31JAVA课程设计
目 录
简易计算器课程设计.......................................................................................................................1 1.课程设计目的...........................................................................................................................1 2.课程设计任务与要求...............................................................................................................1
2.1课程设计内容....................................................................................................................1 2.2课程设计要求....................................................................................................................1 2.3课程设计环境....................................................................................................................1 3.设计方案...................................................................................................................................1
3.1程序功能............................................................................................................................1 3.2设计的具体实现................................................................................................................2
3.2.1界面设计..................................................................................................................2 3.3各模块功能的介绍和实现.................................................................................................2
3.3.1所用到的Java类库包:............................................................................................2 3.3.2按钮,归零,初始状态,面板布局......................................................................2 3.3.3添加监视器..............................................................................................................3 3.3.4 计算.........................................................................................................................4
4.程序测试...................................................................................................................................5
4.1测试内容与结果................................................................................................................5 4.2程序运行效果图................................................................................................................5 5.课程设计总结...........................................................................................................................5 附录...................................................................................................................................................7
附录A:主要源程序................................................................................................................7
(1)
第1页(共11页)
JAVA简易计算器课程设计
简易计算器课程设计
1.课程设计目的
通过JAVA课程设计,使学生能将学到的面向对象的程序设计思想应用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出类,并掌握类、对象、继承、方法等概念与抽象方法和多态性的概念。
2.课程设计任务与要求
2.1课程设计内容
编写一个java简易计算器程序 2.2课程设计要求
设计一个简单swing窗口的计算器,具有一般计算功能,能进行基本的加、减、乘、除运算,运行结果能正确显示,可以清除数据。并且能随时清除计算器结果进行下一次计算。
2.3课程设计环境
Win 7, eclipse,JDK开发包
3.设计方案
3.1程序功能
本次设计的简易计算器,具有一般计算功能,能进行基本的加、减、乘、除运算,运行结果能正确显示,可以清除数据。并且能随时清除计算器结果进行下一次计算。并且能随时清除计算器结果进行下一次计算。
第1页(共11页)
JAVA简易计算器课程设计
3.2设计的具体实现
3.2.1界面设计
3.3各模块功能的介绍和实现 3.3.1所用到的Java类库包: java.awt.*;
基本的图形界面组件来源于awt包。
java.awt.event.*;
事件的属性处理来源于awt.event包。
3.3.2按钮,归零,初始状态,面板布局
public void frame(){ Frame fm = new Frame(“简单计算器”);for(int i = 0;i <= 16;i++){ b[i] = new Button(ss[i]);
第2页(共11页)
JAVA简易计算器课程设计
} for(int i = 0;i <= 15;i++){ p2.add(b[i]);} //创建按钮 并添加到P
2b[16].setBackground(Color.yellow);txt = new TextField(15);txt.setEditable(false);for(int i = 0;i <= 16;i++){ b[i].addActionListener(new buttonlistener());//添加监听器 } b[16].addActionListener(new close());fm.addWindowListener(this);fm.setBackground(Color.red);p1.setLayout(new BorderLayout());p1.add(txt, “North”);p2.setLayout(new GridLayout(4, 4));p3.setLayout(new BorderLayout());p3.add(b[16]);fm.add(p1, “North”);fm.add(p2, “Center”);fm.add(p3, “South”);fm.pack();fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器 }
public void windowClosing(WindowEvent e){ System.exit(0);//退出系统 } 3.3.3添加监视器
class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e){
Button btn =(Button)e.getSource();
if(btn.getLabel()== “=”){
jisuan();
str = String.valueOf(a);
txt.setText(str);
s = “";
} else if(btn.getLabel()== ”+“){
jisuan();
txt.setText(”“);
s = ”+“;
} else if(btn.getLabel()== ”-“){
第3页(共11页)
JAVA简易计算器课程设计
jisuan();
txt.setText(”“);
s = ”-“;
} else if(btn.getLabel()== ”/“){
jisuan();
txt.setText(”“);
s = ”/“;
} else if(btn.getLabel()== ”*“){
jisuan();
txt.setText(”“);
s = ”*“;
} else {
txt.setText(txt.getText()+ btn.getLabel());
if(btn.getLabel()== ”清空“)
txt.setText(”“);
}
}
3.3.4 计算
public void jisuan(){//编写具体计算方法
if(s == ”+“)
a += Double.parseDouble(txt.getText());
else if(s == ”-“)
a-= Double.parseDouble(txt.getText());
else if(s == ”*“)
a *= Double.parseDouble(txt.getText());
else if(s == ”/“)
a /= Double.parseDouble(txt.getText());
else
a = Double.parseDouble(txt.getText());
}
第4页(共11页)
JAVA简易计算器课程设计
4.程序测试
4.1测试内容与结果
4.2程序运行效果图
1.输入“50”,“-”,“45”,“*”,“2”,“=”,在程序中操作结果 如下图:
5.课程设计总结
1.存在的不足及预期的解决方法:
不足之处:
(1):计算器的操作界面不是很美观;(2):目前只能用于+,-,*,/四则运算;
(3):连续多次进行运算会有计算错误的现象;
第5页(共11页)
JAVA简易计算器课程设计
预期解决办法:
(1):查询资料学习了解操作界面的制作方法及需要的技巧;
(2):查询相关资料了解处理字符数组赋值的相关问题(即处理字符数组
赋值只取到预定的位置);
(3):学习了解相关的库函数的功能以增加计算器的计算功能(如计算器 的次方,开方,圆周率,等运算符).2.心得体会:
这次的程序设计,从一个简单的计算器就可以看出JAVA的程序设计不是那么简单,仅仅是一个小小的计算器,就已经有很多需要注意的问题,一不小心就会出错,还会有很多地方没怎么明白,而计算器的设计是最简单的几个设计其中之一,可见,平时的知识积累是很重要的。没有知识的积累,再简单的东西也不可能设计出来。课程设计还让我们练习了动手能力,使我们平时学习的知识得以在实际中应用,不会学死书,活学活用,很大程度上提高了我们的能力,对以后的学习、工作、生活也会有一定的帮助。
通过此次的程序设计,让我了解了JAVA的更多知识,使平时的知识可以运用,更好的理解了JAVA这门课程。
参考文献
《java基础入门》
第6页(共11页)
JAVA简易计算器课程设计
附录
附录A:主要源程序
package 小程序;
import java.awt.*;import java.awt.event.*;
public class JiSuanQi extends WindowAdapter { Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();TextField txt;private Button[] b = new Button[17];private String ss[] = { ”7“, ”8“, ”9“, ”+“, ”4“, ”5“, ”6“, ”-“, ”1“, ”2“, ”3“, ”*“, ”清空“, ”0“, ”=“, ”/“, ”关闭“ };static double a;static String s, str;//定义变量 创建对像
public static void main(String args[]){(new JiSuanQi()).frame();}
public void frame(){ Frame fm = new Frame(”简单计算器“);for(int i = 0;i <= 16;i++){ b[i] = new Button(ss[i]);} for(int i = 0;i <= 15;i++){ p2.add(b[i]);} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);txt = new TextField(15);txt.setEditable(false);for(int i = 0;i <= 16;i++){ b[i].addActionListener(new buttonlistener());//添加监听器 } b[16].addActionListener(new close());fm.addWindowListener(this);fm.setBackground(Color.red);p1.setLayout(new BorderLayout());
第7页(共11页)
JAVA简易计算器课程设计
p1.add(txt, ”North“);p2.setLayout(new GridLayout(4, 4));p3.setLayout(new BorderLayout());p3.add(b[16]);fm.add(p1, ”North“);fm.add(p2, ”Center“);fm.add(p3, ”South“);fm.pack();fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器 }
public void windowClosing(WindowEvent e){ System.exit(0);//退出系统 }
class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e){ Button btn =(Button)e.getSource();if(btn.getLabel()== ”=“){ jisuan();str = String.valueOf(a);txt.setText(str);s = ”“;} else if(btn.getLabel()== ”+“){ jisuan();txt.setText(”“);s = ”+“;} else if(btn.getLabel()== ”-“){ jisuan();txt.setText(”“);s = ”-“;} else if(btn.getLabel()== ”/“){ jisuan();txt.setText(”“);s = ”/“;
} else if(btn.getLabel()== ”*“){ jisuan();txt.setText(”“);s = ”*“;} else { txt.setText(txt.getText()+ btn.getLabel());
第8页(共11页)
JAVA简易计算器课程设计
if(btn.getLabel()== ”清空“)txt.setText(”“);} }
public void jisuan(){//编写具体计算方法
if(s == ”+“)a += Double.parseDouble(txt.getText());else if(s == ”-“)a-= Double.parseDouble(txt.getText());else if(s == ”*“)a *= Double.parseDouble(txt.getText());else if(s == ”/")a /= Double.parseDouble(txt.getText());else
a = Double.parseDouble(txt.getText());} } }
class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e){ System.exit(0);} }
第9页(共11页)
第三篇:android实验报告
移动应用开发实验报告
实验名称
音乐播放器
班
级
学
号
姓
名
指导教师
实验成绩
2016 年04月
一、实验目的
本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。
二、实验内容及要求
在其中写清楚这个实验具体要你做什么,怎么做,要达到什么样的效果等。本设计实现的主要功能是播放Mp3,Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,下一首,上一首播放列等基本播放控制功能,界面简明,操作简单。
三、实验方案设计
在其中写清楚你的程序的详细设计,用流程图配文字的形式描述。如果其中涉及到算法,一定要把算法阐述清楚。
3.1.1假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作,启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下
图2.1 播放器基本用例图
3.1.2用例分析 用例名称:启动软件 参与者:用户
目标:使得用户启动软件并加载手机和sd卡上的音频文件到播放列表 前置条件:无
基本事件流:1.用户启动软件
2.播放器将播放列表中的当前的歌曲
用例名称:播放 参与者:用户
目标:使得用户可以播放在播放列表中选中的歌曲 前置条件:播放器正在运行
基本事件流:1.用户单击“播放”按钮
2.播放器将播放列表中的当前的歌曲
用例名称:暂停 参与者:用户
目标:使得用户可以暂停正在播放的歌曲 前置条件:歌曲正在播放且未停止和暂停 基本事件流:1.用户单击“暂停”按钮
2.播放器将暂停当前的歌曲
④用例名称:停止 参与者:用户
目标:使得用户可以停止正在播放的歌曲 前置条件:歌曲正在播放或暂停 基本事件流:1.用户单击“停止”按钮
2.播放器将停止当前播放的歌曲
⑤用例名称:推出 参与者:用户
目标:使得用户退出或者后台播放音乐 前置条件:程序在运行
基本事件流:1.用户按返回键
2.播放器退出或者进入后台播放
四、实验测试
Step1.启动软件后,软件自动检索手机和sd卡的音频文件,并组织显示成列表.Step2.点击列表的歌曲名字。
Step3.播放音乐。
Step4.点击暂停,音乐暂停
Step5.点击播放 转到step3 Step6.点击停止 停止播放音乐
Step7.点击退出,若音乐处于播放状态,则音乐转向后台播放,界面退出。
Step8.点击退户,若音乐处于暂停或者停止状态,直接退出。
音乐播放器流程图
4.1MusicInfoController类
这个类继承于service,是播放音乐的服务类。播放音乐,暂停音乐,停止播放等操作都封装在这个类中。
主要的执行动作有:
4.1.1.类启动 onCreate(){
mMediaPlayer = new MediaPlayer();//分配一个播放对象
mMediaPlayer.setOnPreparedListener(mPrepareListener);//绑定之前
mMediaPlayer.setOnCompletionListener(mCompleteListener);//绑定之 后
}
4.1.2.服务绑定activity
MediaPlayer.OnCompletionListener mCompleteListener = new
MediaPlayer.OnCompletionListener()//实例化一个绑定监听器的匿名类
{
public void onCompletion(MediaPlayer mp)//完成绑定后
{
broadcastEvent(PLAY_COMPLETED);//广播消息
}
};
4.2MusicInfoController类
这个类主要用于获取android系统中的音频文件,并提供访问接口,它是一个单例类。
4.2.1获得播放文件列表
private Cursor query(Uri uri, String[] prjs, String selections, String[] selectArgs, String order){ ContentResolver resolver = pApp.getContentResolver();//取得一个连接对象if(resolver == null){
return null;
}
return resolver.query(uri, prjs, selections, selectArgs, order);} public Cursor getAllSongs(){
return query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);//查询ContentResolver 的所有音频文件
} 4.3MusicList类
改类继承于ListActivity,主要用于显示歌曲列表,并且封装部分操作,以及与父级目标通信。
4.3.1播放
protected void onListItemClick(ListView l, View v, int position, long id){ //歌曲列表的某项被点击
super.onListItemClick(l, v, position, id);
if(mCursor == null ||mCursor.getCount()== 0){
return;
}
mCursor.moveToPosition(position);//游标移动到当前路径
String url = mCursor.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));//取得绝对路径
mMusicPlayerService.setDataSource(url);//传递绝对路径
mMusicPlayerService.start();//播放音乐
}
4.3.2暂停/播放
mPlayPauseButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
if(mMusicPlayerService!= null &&
mMusicPlayerService.isPlaying()){
mMusicPlayerService.pause();//音乐播放的服务暂停
mPlayPauseButton.setText(R.string.play);//改变按钮文字
} else if(mMusicPlayerService!= null){
mMusicPlayerService.start();//如果已经是暂停,则播放音乐
mPlayPauseButton.setText(R.string.pause);//改变文字
}
}
});
4.3.3停止
mStopButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
// Perform action on click
if(mMusicPlayerService!= null){
mTextView.setVisibility(View.VISIBLE);//改变文字状态
mPlayPauseButton.setVisibility(View.INVISIBLE);//隐藏按钮
mStopButton.setVisibility(View.INVISIBLE);//隐藏停止按钮
mMusicPlayerService.stop();//后台音乐停止播放
}
}
});4.4MusicPlayerApp类
该类继承与Application,是程序的生存类。可以标识音乐播放器的生命周期,包括音乐在后台播放等。
4.4.1单例模式
public void onCreate(){
super.onCreate();
mMusicInfoController = MusicInfoController.getInstance(this);//返回该类的一个唯一实例
}
public MusicInfoController getMusicInfoController(){
return mMusicInfoController;}
五、程序的使用手册
系统编译生成apk文件,将apk文件拷到手机或者sd卡中,直接打开即可安装,或者安装360手机助手通过usb调试的方式进行安装。
启动软件后,加载歌曲列表现在这个界面上,如01表示歌曲名,unknown表示歌曲的演唱者
软件启动界面
从加载的歌曲列表中点击要播放的歌曲,开始播放
音乐播放界面
六、心得体会
通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。
第四篇:Android实验报告—网络通信
实验三
Android网络通信
实验目的:
本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity的信息返回到Activity中的方法。体会Activity间通信的过程。
实验要求:
编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中
程序界面如下图所示:
[实现提示]
1、建立Android工程,其中 工程名称:WebCommunication579
包名称:cn.edu.bistu.dj1001.WebCommunication579 Activity名称:WebCommunication579
2、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面
3、在工程中添加相应的.java文件,处理各个Activity的事件响应
4、在Manifest中添加新建的Activity信息,进行注册。
程序源码:
主界面java文件代码: package cn.deu.bistu.dj1001.WebCommunication579;
import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;
public class WebCommunication579 extends Activity { private Button btnLogin,btnGoToWeb;private TextView show;private static final int SUBACTIVITY1 = 1;@Override
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);btnLogin=(Button)findViewById(R.id.btnLogin);btnGoToWeb=(Button)findViewById(R.id.btnGoToWeb);show=(TextView)findViewById(R.id.A1show);
btnLogin.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity1.class);
startActivityForResult(intent, SUBACTIVITY1);
}});btnGoToWeb.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity2.class);startActivity(intent);}});} protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data);switch(requestCode){ case SUBACTIVITY1: if(resultCode == RESULT_OK){Uri uriData = data.getData();show.setText(uriData.toString());} break;}};} 界面一java文件代码:
package cn.deu.bistu.dj1001.WebCommunication579;
import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;
public class activity1 extends Activity { private Button btnOK,btnCancel;private EditText edtInput;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity1);edtInput=(EditText)findViewById(R.id.edtA1Input);btnOK=(Button)findViewById(R.id.btnA1OK);btnCancel=(Button)findViewById(R.id.btnA1Cancel);btnOK.setOnClickListener(new OnClickListener(){
public void onClick(View v){ String uriString = edtInput.getText().toString();Uri data = Uri.parse(uriString);Intent result = new Intent(null, data);setResult(RESULT_OK, result);finish();}});btnCancel.setOnClickListener(new OnClickListener(){ public void onClick(View view){ finish();}});}} 界面二java文件代码:
package cn.deu.bistu.dj1001.WebCommunication579;
import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;
import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;
public class activity2 extends Activity { private EditText edtInput;private Button btnOK,btnCancel;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity2);edtInput=(EditText)findViewById(R.id.edtA2Input);btnOK=(Button)findViewById(R.id.btnA2OK);btnCancel=(Button)findViewById(R.id.btnA2Cancel);btnOK.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(edtInput.getText().toString()));startActivity(intent);}});btnCancel.setOnClickListener(new OnClickListener(){
public void onClick(View v){
finish();
}});}} 主界面的xml文件代码:
xmlns:android=“http://schemas.android.com/apk/res/android” android:orientation=“Horizontal” android:layout_width=“fill_parent” android:layout_height=“fill_parent”> android:text=“" android:id=”@+id/A1show“ android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>
界面一的xml文件代码:
android:orientation=”Horizontal“ android:layout_width=”fill_parent“ android:layout_height=”fill_parent“ xmlns:android=”http://schemas.android.com/apk/res/android“> android:layout_width=”wrap_content“ android:layout_height=”wrap_content“> android:text=”用户名和密码:“ android:layout_width=”wrap_content“ android:layout_height=”wrap_content“> android:text=”“ android:id=”@+id/edtA1Input“ android:layout_width=”wrap_content“ android:layout_height=”wrap_content“> android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>
界面二的xml文件代码: xmlns:android=”http://schemas.android.com/apk/res/android“> android:text=”“ android:id=”@+id/edtA2Input“ android:layout_width=”match_parent“ android:layout_height=”wrap_content“>
程序运行结果:
程序包:
主界面:
点击登录按钮后:
点击确定按钮后:
点击链接网页按钮后:
点击确定按钮后:
实验心得体会:
通过本次实验深入了解了Intent实现进程间的通信过程。熟悉了利用Intent将其他Activity的信息返回到Activity中的方法,可以更熟练的使用安卓编程软件。
第五篇:计算器实验心得
院
系:计 算 机 学 院
实验课程:计算机基础实验 实验项目:计算器 指导老师:宋桂琴
开课时间:2010 ~ 2011第 2学期
专 业:软件工程(数字媒体)班 级:10本8班 学 生:史文林 学 号:20102003056
华南师范大学教务处
在这个实验中,我首先按照《程序设计实验课程指导》中的步骤做,然后再在 “calculatorDlg.cpp”文件中增加不同的算法功能,在实验过程中出现了一些问题,但都通过自己检查或者其他同学的帮助解决了,以下就是我实验过程中碰到的问题:
(1)在按照指导书中的步骤做完后,再在“ calculatorDlg.cpp”文件中增加了“atan”“exp”“sqrt”“log”这四个功能,一开始以为增加了功能就完事 华 南 师 范 大 学 实 验 报 告
学生姓名
史文林
学
号
20102003056
专
业
软件工程(数字媒体)
年级、班级
10本8班
课程名称
计算机基础实验
实验项目
计算器
实验时间
2011 年 月日
实验指导老师
宋桂琴
实验评分
了,就点击“build”健,但结果显示程序存在多个错误,然后才知道没有在“calculatorDlg.h”文件中写“include
void CCalculatorDlg::OnRadio5(){ // TODO: Add your control notification handler code here m_edit1=atan(result);UpdateData(FALSE);}
void CCalculatorDlg::OnRadio6(){ // TODO: Add your control notification handler code here m_edit1=exp(result);UpdateData(FALSE);}
void CCalculatorDlg::OnRadio7(){ // TODO: Add your control notification handler code here m_edit1=sqrt(result);UpdateData(FALSE);}
void CCalculatorDlg::OnRadio8(){ // TODO: Add your control notification handler code here m_edit1=log(result);UpdateData(FALSE);} 华 南 师 范 大 学 实 验 报 告
学生姓名
史文林
学
号
20102003056
专
业
软件工程(数字媒体)
年级、班级
10本8班
课程名称
计算机基础实验
实验项目
计算器
实验时间
2011 年 月日
实验指导老师
宋桂琴
实验评分
(2)在增加完算法功能之后,点击“build”健,仍然显示出存在多个错误,一直找不到原因,后来问了同学之后才知道在没有在“calculatorDlg.h”写出应用程序框架:
afx_msg void OnButton1();afx_msg void OnButton2();afx_msg void OnButton3();afx_msg void OnButton4();afx_msg void OnButton5();afx_msg void OnButton6();afx_msg void OnButton7();afx_msg void OnButton8();afx_msg void OnButton9();afx_msg void OnBUTTONplus();afx_msg void OnBUTTONminus();afx_msg void OnBUTTONmulti();afx_msg void OnBUTTONzero();afx_msg void OnBUTTONequal();afx_msg void OnBUTTONclean();afx_msg void OnBUTTONdiv();afx_msg void OnRadio1();afx_msg void OnRadio2();afx_msg void OnRadio3();afx_msg void OnRadio4();afx_msg void OnRadio5();afx_msg void OnRadio6();afx_msg void OnRadio7();afx_msg void OnRadio8();afx_msg void OnChangeEdit1();
(3)在改正以上错误之后,点击“build”后结果显示0错误,便开始运行程序,但是不知道为什么,运行程序之后点击计算器上的按键时计算器不能运行,后华 南 师 范 大 学 实 验 报 告
学生姓名
史文林
学
号
20102003056
专
业
软件工程(数字媒体)
年级、班级
10本8班
课程名称
计算机基础实验
实验项目
计算器
实验时间
2011 年 月日
实验指导老师
宋桂琴
实验评分
来经过检查才发现没有在“calculatorDlg.cpp”中写出映射ID及函数:
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_BN_CLICKED(IDC_BUTTON6, OnButton6)ON_BN_CLICKED(IDC_BUTTON7, OnButton7)ON_BN_CLICKED(IDC_BUTTON8, OnButton8)ON_BN_CLICKED(IDC_BUTTON9, OnButton9)ON_BN_CLICKED(IDC_BUTTON_plus, OnBUTTONplus)ON_BN_CLICKED(IDC_BUTTON_minus, OnBUTTONminus)ON_BN_CLICKED(IDC_BUTTON_multi, OnBUTTONmulti)ON_BN_CLICKED(IDC_BUTTON_zero, OnBUTTONzero)ON_BN_CLICKED(IDC_BUTTON_equal, OnBUTTONequal)ON_BN_CLICKED(IDC_BUTTON_clean, OnBUTTONclean)ON_BN_CLICKED(IDC_BUTTON_div, OnBUTTONdiv)ON_BN_CLICKED(IDC_RADIO1, OnRadio1)ON_BN_CLICKED(IDC_RADIO2, OnRadio2)ON_BN_CLICKED(IDC_RADIO3, OnRadio3)ON_BN_CLICKED(IDC_RADIO4, OnRadio4)ON_BN_CLICKED(IDC_RADIO5, OnRadio5)ON_BN_CLICKED(IDC_RADIO6, OnRadio6)ON_BN_CLICKED(IDC_RADIO7, OnRadio7)ON_BN_CLICKED(IDC_RADIO8, OnRadio8)
在经过上面几次更正后,计算器终于可以运行了,但是有一个问题就是每次运行点击数字健时,在结果框里首先显示出“1.#INF”,然后再按其他健时才能正常运算。问了几个同学,他们也出现了同样的问题,就是不知道如何去解决。
华 南 师 范 大 学 实 验 报 告
学生姓名
史文林
学
号
20102003056
专
业
软件工程(数字媒体)
年级、班级
10本8班
课程名称
计算机基础实验
实验项目
计算器
实验时间
2011 年 月日
实验指导老师
宋桂琴
实验评分