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
请输入作为排序的课程成绩(15)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;
                    end
                end
                if flag==0
                    以上是关于MATLAB 设计一个学生管理系统(简易结构体版)的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB 设计一个学生管理系统(简易结构体版)

Golang项目之结构体版学生管理系统

ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 hihocoder #1586 : Minimum-区间查询最值求区间两数最小乘积+单点更新-线段树(结构体版)

Java设计开发一个简单的学生管理系统!

Python程序设计之 —— 简易学生信息管理系统

数据结构版学生管理系统