第一篇: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 年 月日
實驗指導老師
宋桂琴
實驗評分