基于MATLAB的学生成绩管理系统
初学MATLAB,望指正。
所实现的功能有:
成绩录入,录入学生姓名与语文数学两门课程成绩并求和最终备注显示不同等级。可调节参数以及代码使程序录入多名学生或多门课程也可以进行求平均数这类初等基本运算。
代码实现主要方式:
(1)for循环
(2)元胞数组与矩阵数组的相互转换
(3)结构体
代码如下:
%基于matlab的学生成绩管理程序
clear all;
for i=1:20;
a{i}=179+i; %把180分-199分的学生成绩赋值给a
b{i}=159+i; %把160分-179分的学生成绩赋值给b
c{i}=139+i; %把140分-159分的学生成绩赋值给c
d{i}=119+i; %把120分-139分的学生成绩赋值给d
end;
Name={‘小红’,‘小成’,‘小黄’,‘小绿’,‘小蓝’,‘小紫’}; %学生姓名
Mark1={68,81,53,97,100,0}; %元胞数组
Mark11=cell2mat(Mark1); %元胞数组转换成矩阵
Mark2={89,85,55,67,100,0};
Mark22=cell2mat(Mark2)
Mark3=Mark11+Mark22; %矩阵相加
Mark3=mat2cell(Mark3,1,ones(1,6)); %矩阵转换成元胞数组
PostScript=cell(1,6);
S=struct(‘Name’,Name,‘chinese’,Mark1,‘math’,Mark2,‘sum’,Mark3 ,‘PostScript’,PostScript);
for i=1:6
switch S(i).sum
case 200
S(i).PostScript=‘满分’; %当200分时备注显示满分
case 0
S(i).PostScript=‘缺考’; %当0分时备注显示缺考
case a
S(i).PostScript=‘优秀’; %当满足a情况时备注显示优秀
case b
S(i).PostScript=‘较好’; %当满足b情况时备注显示较好
case c
S(i).PostScript=‘良好’; %当满足c情况时备注显示良好
otherwise
S(i).PostScript=‘一般’; %其他情况时备注显示一般
end
end
disp([‘学生姓名’,‘语文成绩’,‘数学成绩’,‘总分’,‘备注’]);
disp(’’)%声明显示
for i=1:6; disp([S(i).Name,blanks(8),num2str(S(i).chinese),blanks(8),num2str(S(i).math),blanks(8),num2str(S(i).sum),blanks(8),S(i).PostScript]);
%按循环依次显示姓名 语文成绩 数学成绩 总分 备注
end;
结果显示: