プログラム4:GUIを使用して入力を収集し、このプログラムで出力を表示します。 input()
またはfprintf()
を使用しないでください。Matlabの宿題 - セル配列とウィンドウのダイアログ
msgbox()
と表示する必要があります。選択すると、
listdlg()
が再度表示されます)。
2は、その後、選択したユーザーは、4人の学生が在籍している場合(つまり、そのinputdlg()
が情報を収集するために4回表示されますlistdlg()
で選択した学生の数としてinputdlg()
(図2参照)のように何回も表示されます各生徒のために)。ここでは2つの重要な制約があります:最初に、inputdlg()
にforループを使用する必要があります。次に、Gradebookと呼ばれるCELL ARRAYに入力されたすべての情報を保存する必要があります。
3それぞれの生徒の平均成績を計算し、平均と最高の成績が最も高い生徒の名前を表示するmsgbox()
を使用してください。 (図3の例を参照)。最初にこのmsgbox()
のokをクリックするまで手順4を開始しないように注意してください。 (図4参照)を使用して、プログラムを再度使用するかどうかをユーザーに確認します。彼らが「はい」と答えた場合、プログラムが終了すると、プログラムが終了し、前のステップのmsgbox()
が再び表示されます。
平均を計算して生徒の名前で表示するにはどうすればよいですか?
ありがとうございます! :)
これは私が得たものである:
clc
clear
ns = {'One','Two','Three','Four','Five'};
[selection ok] = listdlg('liststring',ns,'selectionmode','single');
while ok == 0
msgbox('Please make a selection')
[selection ok] = listdlg('liststring',ns,'selectionmode','single');
end
gradebook = {1,selection};
avematrix = [2,selection];
for d = 1:selection
sinfo = {'Enter student name','Numerical grade for 1st exam (out of 100):',...
'Numerical grade for 2nd exam (out of 100):','Numerical grade for 3rd exam (out of 100):'};
info = inputdlg(sinfo);
gradebook(1,d) = {info};
name = info {1}
a=str2double(info{2});
b=str2double(info{3});
c=str2double(info{4});
average = ((a+b+c)/3);
avematrix(2,d) = average;
g = mean(info)
end
、する必要がありますmsgbox内の生徒の名前との最大平均。 – user1279248