MATLAB 设计一个学生管理系统(简易结构体版)
Posted Wang_rush
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 设计一个学生管理系统(简易结构体版)相关的知识,希望对你有一定的参考价值。
设计一个简单的学生成绩管理程序,包含如下功能:
1、可创建不少于100名学生成员;
2、每名成员的记录包括:学号、姓名、专业和5门课程的成绩;
3、能够实现添加、删除、修改学生成员;
4、能够实现添加、删除、修改学生成员的课程成绩;
5、分别计算每一门课程的平均成绩 ;
6、每一门课程单独排序,输出由高到低的课程、姓名、成绩信息。
运行结果
>> zuoye3
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):1
请输入学号:1
请输入名字:1
请输入专业:1
请输入课程1成绩:5
请输入课程2成绩:4
请输入课程3成绩:3
请输入课程4成绩:2
请输入课程5成绩:1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):1
请输入学号:2
请输入名字:2
请输入专业:2
请输入课程1成绩:2
请输入课程2成绩:1
请输入课程3成绩:3
请输入课程4成绩:4
请输入课程5成绩:5
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):1
请输入学号:1
该学生已存在,请重新输入学号:
请输入学号:3
请输入名字:1
请输入专业:1
请输入课程1成绩:1
请输入课程2成绩:2
请输入课程3成绩:3
请输入课程4成绩:5
请输入课程5成绩:4
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):1
请输入学号:5
请输入名字:3
请输入专业:3
请输入课程1成绩:3
请输入课程2成绩:4
请输入课程3成绩:3
请输入课程4成绩:2
请输入课程5成绩:1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):2
输入要删除学生的学号:2
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):6
id: 1
name: 1
zy: 1
kc1: 5
kc2: 4
kc3: 3
kc4: 2
kc5: 1
id: 3
name: 1
zy: 1
kc1: 1
kc2: 2
kc3: 3
kc4: 5
kc5: 4
id: 5
name: 3
zy: 3
kc1: 3
kc2: 4
kc3: 3
kc4: 2
kc5: 1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):3
请输入修改学生的学号:1
请输入修改后的学号:1
请输入修改后的名字:1
请输入修改后的专业:1
请输入修改后的课程1成绩:1
请输入修改后的课程2成绩:1
请输入修改后的课程3成绩:1
请输入修改后的课程4成绩:1
请输入修改后的课程5成绩:1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):6
id: 1
name: 1
zy: 1
kc1: 1
kc2: 1
kc3: 1
kc4: 1
kc5: 1
id: 3
name: 1
zy: 1
kc1: 1
kc2: 2
kc3: 3
kc4: 5
kc5: 4
id: 5
name: 3
zy: 3
kc1: 3
kc2: 4
kc3: 3
kc4: 2
kc5: 1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):4
课程1平均成绩:3
课程2平均成绩:4
课程3平均成绩:3
课程4平均成绩:2
课程5平均成绩:1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):5
请输入作为排序的课程成绩(1至5):2
按课程2降序输出
id: 5
name: 3
zy: 3
kc1: 3
kc2: 4
kc3: 3
kc4: 2
kc5: 1
id: 3
name: 1
zy: 1
kc1: 1
kc2: 2
kc3: 3
kc4: 5
kc5: 4
id: 1
name: 1
zy: 1
kc1: 1
kc2: 1
kc3: 1
kc4: 1
kc5: 1
----------------------------------------------------------
| 1:添加一个学生 |
| 2:删除一个学生 |
| 3:修改一个学生 |
| 4:查看平均成绩 |
| 5:成绩排序 |
| 6:打印 |
| 7:退出 |
-----------------------------------------------------------
请输入你要进行的操作(输入每行开头代表的操作数):7
>>
代码
clear all;
n=1;
while 1
fprintf('----------------------------------------------------------\\n');
fprintf('| 1:添加一个学生 |\\n');
fprintf('| 2:删除一个学生 |\\n');
fprintf('| 3:修改一个学生 |\\n');
fprintf('| 4:查看平均成绩 |\\n');
fprintf('| 5:成绩排序 |\\n');
fprintf('| 6:打印 |\\n');
fprintf('| 7:退出 |\\n');
fprintf('-----------------------------------------------------------\\n');
sr = input('\\n请输入你要进行的操作(输入每行开头代表的操作数):');
switch sr
case 1
while 1
flag=0;
student(n).id=input('请输入学号:');
for i=1:n-1
if student(i).id==student(n).id
flag=1;
end
end
if flag==1
fprintf('该学生已存在,请重新输入学号:\\n');
continue;
else
student(n).name=input('请输入名字:');
student(n).zy=input('请输入专业:');
student(n).kc1=input('请输入课程1成绩:');
student(n).kc2=input('请输入课程2成绩:');
student(n).kc3=input('请输入课程3成绩:');
student(n).kc4=input('请输入课程4成绩:');
student(n).kc5=input('请输入课程5成绩:');
n=n+1;
break;
end
end
case 2
while 1
flag=0;
sxh=input('输入要删除学生的学号:');
for i=1:n-1
if student(i).id==sxh
flag=1;
end
end
if flag==0
fprintf('该学生不存在,请重新输入:\\n');
continue;
else
if sxh==n-1
n=n-1;
break;
else
for i=sxh:n-2
student(i)=student(i+1);
end
n=n-1;
break;
end
end
end
case 3
while 1
flag=0;
xgxs=input('请输入修改学生的学号:');
for i=1:n-1
if student(i).id==xgxs
flag=i;
break;
以上是关于MATLAB 设计一个学生管理系统(简易结构体版)的主要内容,如果未能解决你的问题,请参考以下文章
ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 hihocoder #1586 : Minimum-区间查询最值求区间两数最小乘积+单点更新-线段树(结构体版)