资源简介
用MATLAB的m文件编写的一套学生信息管理系统,有一个不错的交互界面,可以轻松地输入、查询、修改、删除学生的各项信息。这个m文件只能在MATLAB中运行。
代码片段和文件信息
% Call var(xflagdim) with as many of those args as are present.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%本程序在基本文件操作的基础上实现了更强的错误处理功能,可以直接对%%%
%文本进行操作。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function std3()
%UNtitleD Summary of this function goes here
% Detailed explanation goes here
stu=struct(‘id‘{cell(12)}‘math‘{cell(12)}‘Eng‘{cell(12)}‘phy‘{cell(12)}‘ave‘{cell(12)}‘sum‘[]);
stustr=struct(‘id‘{cell(12)}‘math‘{cell(12)}‘Eng‘{cell(12)}‘phy‘{cell(12)}‘ave‘{cell(12)}‘sum‘{});
stupai=struct(‘id‘{cell(12)}‘math‘{cell(12)}‘Eng‘{cell(12)}‘phy‘{cell(12)}‘ave‘{cell(12)}‘sum‘[]);
while 1
fid = fopen(‘stud1.txt‘ ‘a+‘);
fclose(fid);
fid = fopen(‘stud1.txt‘‘r‘);
m5 = fscanf(fid‘%c‘);
numel(m5);
fclose(fid);
if numel(m5)==0
fid = fopen(‘stud1.txt‘ ‘w‘);
fprintf(fid ‘ 学号 数学( 等级 ) 英语( 等级 ) 物理( 等级 ) 平均分( 等级 ) 总分 姓名\n‘);
%新增的等级允许用7个字符格式
fclose(fid);
fid2 = fopen(‘stud1.txt‘ ‘r‘);
m5 = fscanf(fid2‘%c‘);
fclose(fid2);
end;
numel(m5);
length=numel(m5)-78;
row=ceil(length/102);
m6=char(linspace(4848row*102+78)); %测试点1
for n01=1:numel(m5)
m6(n01)=m5(n01);
end
clear m5;
% m6 %测试点
if row>0
for n0=1:row
%格式为10+5(9)+8(9)+8(9)+9(11)+8+15+1(回车)=102
mao11=(n0-1)*102+78+1; % 运用‘锚’链接的思想找到每个单元的起始锚点%学号
stu(n0).id{11}=uint32(str2double(m6(mao11:mao11+9)));
mao12=(n0-1)*102+78+87;%姓名
stu(n0).id{12}=m6(mao12:mao12+14);
mao21=mao11+10;%数学
mao22=mao21+5;
stu(n0).math{11}=uint32(str2double(m6(mao21:mao21+4)));
% stu(n0).math{12}=m6(mao22:mao22+6);
mao31=mao22+9;%英语
mao32=mao31+8;
stu(n0).Eng{11}=uint32(str2double(m6(mao31:mao31+7)));
% stu(n0).Eng{12}=m6(mao32:mao32+6);
mao41=mao32+9;%物理
% mao42=mao41+7;
stu(n0).phy{11}=uint32(str2double(m6(mao41:mao41+7)));
% stu(n0).phy{12}=m6(mao42:mao42+6);
% stu(n0) %程序测试点2
stu(n0)=jisuan(stun0);
mysav(stunumel(stu));%保存信息
% stu
end
% stu
% whos stu;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%以上实现了从文本中读取数据并进行格式转换,再放入结构体变量stu中
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% b=size(stu);
row1=row;
a=input(‘请选择:|1 查看信息 |2 新增信息 |3 修改信息 |4 删除信息 |0 退出 :‘);
if a==1
%查看信息
row2=row;
if row>0
c=numel(stu); %测试点3
a1=1;
while a1 ~=0
a1=input(‘查询 请选择:|0 返回 |1 按学号查询 |2 全部输出 |3 按总成绩排名输出|4 图表输出:‘);
% stu %程序测试点4
if numel(a1)==0
fprintf(‘输入错误!\n‘);
break;
end
if a1==4
draws(stu);
end
if a1==1
a12=input(‘输入学号:‘);
times=0;
fprintf(‘**************成绩查询结果--按学号查询***********************************************************************\n‘);
fprintf( ‘ 学号 数学( 等级 ) 英语( 等级
- 上一篇:一个简单的自适应控制matlab
- 下一篇:求图像边缘像素最短距离
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论