首先将excel中的数据采用[num txt
raw]=xlsread(xxxx.xls)语句读出,(xxxx为excel文件名),然后最重要的是判断某个字符或数字是否存在excel中,即上面xlsread获得的num,txt,raw。下面讲解搜索算法的实现过程,如果要获取完整的代码,可以参考去前期写的博客《基于GUI的学生成绩管理系统》
(1)对于数字的搜索,matlab程序及解释如下(基于GUI)
number=str2num(get(handles.number,'string'));
if ~isempty(number)
%判断用户有没有输入个人信息
panduan=any(handles.xuehao==number);
%用于查找handles.xuehao里有没有用户输入的姓名===查找excel中个有没有这个人
if
~isequal(panduan,0)
%判断得到的值是否为0,=0,不存在,!=0,存在,执行下一步
[posx
posy]=find(handles.xuehao==number);%定位学号所处的坐标
set(handles.kecheng,'string',handles.kemu_zh);
set(handles.xingming_s,'string',handles.xingming{posx,1});
set(handles.result,'string',num2str(handles.chengji(posx,:)));
else
errordlg('对不起,没有该学生的成绩记录!', '错误提示');
end
else
errordlg('请输入学生学号!',
'错误提示');
end
(1)对于字符的搜索,matlab程序及解释如下(基于GUI)
course=get(handles.course,'string');
if ~isempty(course) %判断用户有没有输入个人信息
panduan=strcmp(handles.kemu,course);
%用于查找handles.xingming里有没有用户输入的姓名===查找excel中个有没有这个人
[hang
lie]=size(panduan);
%获取比较后的值,并取出其size,用以判断姓名对应处的坐标
A=zeros(hang,lie);
%判断存不存在用户姓名,承接panduan=strcmp(handles.xingming_s,name);
if
~isequal(panduan,A)
%判断panduan=strcmp(handles.xingming_s,name);得到的值是否为0,=0,不存在,!=0,存在,执行下一步
[posx
posy]=find(panduan==1);%定位用户名所处的坐标
set(handles.kecheng,'string',course);
set(handles.xingming_s,'string',handles.xingming);
set(handles.result,'string',num2str(handles.chengji(:,posy)));
else
errordlg('对不起,没有该项课程!',
'错误提示');
end
else
errordlg('请输入课程!',
'错误提示');
end
加载中,请稍候......