MATLAB 学生成绩系统管理:结构体与类实现增删改查
MATLAB 学生成绩系统管理:结构体与类实现增删改查
本示例使用 MATLAB 结构体和类构建了一个简单的学生成绩系统,通过命令行窗口实现学生的添加、删除、修改和查询操作。
代码实现
%% 定义学生类
classdef Student
properties
name
id
grade
end
end
%% 初始化学生信息
students(1) = Student();
students(1).name = '张三';
students(1).id = 1;
students(1).grade = 85;
students(2) = Student();
students(2).name = '李四';
students(2).id = 2;
students(2).grade = 90;
%% 命令行窗口菜单
while true
disp('请选择要进行的操作:');
disp('1. 增加学生');
disp('2. 删除学生');
disp('3. 修改学生信息');
disp('4. 修改学生成绩');
disp('5. 查看学生信息');
disp('0. 退出程序');
choice = input('请输入操作编号:');
switch choice
case 1 % 增加学生
new_student = Student();
new_student.name = input('请输入学生姓名:', 's');
new_student.id = input('请输入学生学号:');
new_student.grade = input('请输入学生成绩:');
students(end+1) = new_student;
disp('学生信息添加成功!');
case 2 % 删除学生
id_to_delete = input('请输入要删除的学生学号:');
for i = 1:length(students)
if students(i).id == id_to_delete
students(i) = [];
disp('学生信息删除成功!');
break;
end
end
case 3 % 修改学生信息
id_to_modify = input('请输入要修改的学生学号:');
for i = 1:length(students)
if students(i).id == id_to_modify
students(i).name = input('请输入学生姓名:', 's');
students(i).grade = input('请输入学生成绩:');
disp('学生信息修改成功!');
break;
end
end
case 4 % 修改学生成绩
id_to_modify = input('请输入要修改成绩的学生学号:');
for i = 1:length(students)
if students(i).id == id_to_modify
students(i).grade = input('请输入新的学生成绩:');
disp('学生成绩修改成功!');
break;
end
end
case 5 % 查看学生信息
disp('学生姓名 学号 成绩');
for i = 1:length(students)
fprintf('%s %d %d
', students(i).name, students(i).id, students(i).grade);
end
case 0 % 退出程序
disp('程序已退出。');
return;
otherwise
disp('输入错误,请重新输入!');
end
end
代码解释
- 定义学生类:使用
classdef定义Student类,该类包含name、id和grade三个属性,分别存储学生的姓名、学号和成绩。 - 初始化学生信息:创建两个
Student对象,分别存储张三和李四的初始信息。 - 命令行窗口菜单:使用
while循环和switch语句实现命令行窗口菜单,提供以下操作选项:- 增加学生:创建新的
Student对象,并将其添加到students数组中。 - 删除学生:遍历
students数组,找到要删除的学生,并将其从数组中删除。 - 修改学生信息:遍历
students数组,找到要修改的学生,并修改其name和grade属性值。 - 修改学生成绩:遍历
students数组,找到要修改成绩的学生,并修改其grade属性值。 - 查看学生信息:遍历
students数组,并输出每个学生的信息。 - 退出程序:退出
while循环,结束程序运行。
- 增加学生:创建新的
总结
本示例代码演示了如何使用 MATLAB 结构体和类来构建一个简单的学生成绩系统,并通过命令行窗口实现学生的增删改查操作。该系统提供了一个基础框架,可以根据实际需求进行扩展和改进。
原文地址: https://www.cveoy.top/t/topic/nZ9Y 著作权归作者所有。请勿转载和采集!