建立如圖所示的“數制轉換”介面。實現在左邊輸入一個十進位制整數和2~16之間的數,比如“2”代表要轉換為二進位制數。單擊“轉換”按鈕可以得到對應的二~十六進位制字串,單擊“退出”按鈕退出程式
工具/原料
MATLAB
方法/步驟
用嚮導新建一個GUI程式後,拖出2個panel控制元件,雙擊控制元件修改title,分別設為”輸入框“和輸出框。
拖出2個Static Text和2個Edit Text控制元件放到“輸入框”中,雙擊修改屬性,String值分別設為所要顯示的文字。
拖出1個Edit Text控制元件放到“輸出框”中,雙擊修改屬性,修改String屬性為空或者哦“0”。
拖出一個按鈕,雙擊修改屬性,String屬性改為“轉換”。再拖出另一個按鈕,String屬性修改為“退出”。
在.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;
在“轉換”上右鍵,點選選單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
在“退出”上右鍵,點選選單View Callbacks→Callback,跳轉到按鈕的回撥函式,新增一句程式碼:
close();