MATLAB:[6]視覺化編寫數制轉換GUI程式?

建立如圖所示的“數制轉換”介面。實現在左邊輸入一個十進位制整數和2~16之間的數,比如“2”代表要轉換為二進位制數。單擊“轉換”按鈕可以得到對應的二~十六進位制字串,單擊“退出”按鈕退出程式

MATLAB:[6]視覺化編寫數制轉換GUI程式

工具/原料

MATLAB

方法/步驟

用嚮導新建一個GUI程式後,拖出2個panel控制元件,雙擊控制元件修改title,分別設為”輸入框“和輸出框。

MATLAB:[6]視覺化編寫數制轉換GUI程式

拖出2個Static Text和2個Edit Text控制元件放到“輸入框”中,雙擊修改屬性,String值分別設為所要顯示的文字。

MATLAB:[6]視覺化編寫數制轉換GUI程式

拖出1個Edit Text控制元件放到“輸出框”中,雙擊修改屬性,修改String屬性為空或者哦“0”。

MATLAB:[6]視覺化編寫數制轉換GUI程式

拖出一個按鈕,雙擊修改屬性,String屬性改為“轉換”。再拖出另一個按鈕,String屬性修改為“退出”。

MATLAB:[6]視覺化編寫數制轉換GUI程式

在.m檔案中手動新增一個函式,實現十進位制轉換為其它進位制的邏輯關係。程式碼如下:

% --- 完成轉換邏輯 得到轉換後的字串

function dec = trdec(n, b)ch1 = '0123456789ABCDEF';

k =1;while n~=0 p(k) = rem(n,b); n= fix(n/b);

k = k+1;endk = k-1;strdec = '';while k>=1 kb = p(k);

strdec = strcat(strdec,ch1(kb+1:kb+1));

k = k-1;enddec = strdec;

MATLAB:[6]視覺化編寫數制轉換GUI程式

在“轉換”上右鍵,點選選單View Callbacks→Callback,跳轉到按鈕的回撥函式,新增下面的處理程式碼(函式名是自動生成的):

% --- 轉換按鈕回撥函式

function pushbutton1_Callback(hObject, eventdata, handles)n = str2double(get(handles.edit1,'String'));

%得到編輯框1十進位制輸入值

b = str2double(get(handles.edit2,'String'));

%得到編輯框2輸入進位制值

dec = trdec(n,b);%呼叫轉換函式set(handles.edit3,'String',dec);

%轉換後的值顯示到編輯框3

MATLAB:[6]視覺化編寫數制轉換GUI程式

在“退出”上右鍵,點選選單View Callbacks→Callback,跳轉到按鈕的回撥函式,新增一句程式碼:

close();

MATLAB:[6]視覺化編寫數制轉換GUI程式

按鈕, 大學, 程式, 數制,
相關問題答案