MATLAB学生成绩查询系统

学习学生成绩查询系统时,
1、我把fgetl函数中字母l写成了数字一,出错
2、 [str1 str2 str3 str4]=strread(str,’%s %s %s %s’,‘delimiter’,’ ');中,
’ '里面为空格,没有写出错
3、 chengji(counter-1,:,:)=[yuwen shuxue yingyu];开始写为
chengji(counter-1,:)=[yuwen shuxue yingyu];出错

gui设计
MATLAB学生成绩查询系统_第1张图片
找到文件初始化函数

function cheng_OpeningFcn(hObject, eventdata, handles, varargin)

在下面写

fin=fopen('chengji.txt','r');
 str=fgetl(fin);%读取文件中的行,并删除换行符
 
 %把Name  Chinese  Math  English分别放在str1 str2 str3 str4数组中
 [str1 str2 str3 str4]=strread(str,'%s %s %s %s','delimiter',' ');
 xingming(1)=str1;%定义一个xingming数组,第一个元素是name
 
 counter=2;
 
 while feof(fin)==0 %遇到文件尾
     str=fgetl(fin);%读下一行
     %以空格为分隔符'delimiter'
     [name yuwen shuxue yingyu]=strread(str,'%s %d %d %d','delimiter',' ');
     xingming(counter)=name;%把name放到 xingming(2)里 
     chengji(counter-1,:)=[yuwen shuxue yingyu];
     counter=counter+1;
 end
 set(handles.listbox1,'string',xingming)
 handles.chengji=chengji;%局部变量,chengji弄成句柄
 fclose(fin);

注:1、fopen - 打开文件或获得有关打开文件的信息

此 MATLAB 函数 打开文件 filename 以便以二进制读取形式进行访问,并返回等于或大于 3 的整数文件标识符。MATLAB 保留文件标识符 0、1
和 2 分别用于标准输入、标准输出(屏幕)和标准错误。

2、fgetl - 读取文件中的行,并删除换行符
3、feof-文件结束测试
4、 fclose-关闭文件

然后找到回调函数

function listbox1_Callback(hObject, eventdata, handles)

下面写

value=get(hObject,'value')-1;
set(handles.edit1,'string',num2str(handles.chengji(value,:)));


MATLAB学生成绩查询系统_第2张图片

你可能感兴趣的:(Matlab)