资源简介
用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
- 下一篇:求图像边缘像素最短距离
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论