- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安邮电大学
MATLAB及其EDA仿真
《基于GUI的学生成绩管理系统》设计报告
院(系)名称
学生姓名
专业名称
电子工程学院
周小朋(14)
集成电路设计与集成系统
电路1303班
一.设计题目概述
建立基于图形用户界面GUI的学牛.成绩管理系统,该系统能够实现学生成绩 信息的增加、删除、查询、统计等功能。
二.设计方案 1、 设计流程
学生成绩管理系统
菜单模块 显示模块 绘图模块
成绩学号
成绩
学号
姓名
统 计
删除
查询
显 示
科目选择
2、 功能模块化
分模块进行设计,具体模块如下:
显示成绩:显示student, xls中的学生信息;
成绩查询:查询对应姓名的学生信息;
删除信息:删除对应姓名的学生信息;
添加信息:添加新的学生信息;
统计:显示对砬选择科0的成绩统计图。
三.设计内容
3.1各功能界面设计所用组件:
pushbutton组件:5个,分别用于显示信息、查询信息、删除信息、
添加信息、统计信息;
“edit”组件:4个,用于显示标题:姓名,学号,成绩 “listbox”组件:4个,显示学生姓名、学号、成绩信息; “axes”组件:1个,显示成绩统计图;
popupmenu: 1个,用于选择进行成绩统计的科0。
设计界面如下图所示:
name ID English Math
S示 査诨 f!除 添加 统计
select v
3.2、各功能模块的实现
、显示模块
读取excel文件工作表。对pushbuttonl控件采用回调函数,用set 函数分别将文件的路径和学生的姓名显示在editl和listboxl中,学号显 示在.edit2和listbox2中,英语成绩显示在edit3和listbox3中,数学 成绩显?在edit4和listbox4。用xlsread函数读取excel表格中的数据 函数代码:
function pushbuttonl_Callback(hObject, eventdata, handles)
[a,name]=xlsread(1 student.xls1); handles.工D=a(:, 1);
handles.English=a(:, 2); handles.Math=a(:, 3); handles-name=name(2:end, 1); guidata(hObject,handles);
set(handles.listboxl, ’ string ’,handles.name);
set(handles.Iistbox2, 1 string 1,num2str(handles.ID));
set (handles.listbox3, ?string 丨,num2str(handles.English));
set(handles.Iistbox4, 1 string 1,num2str(handles.Math)); guidata(hObject,handles);
运行结果:
E
査询
添tc
统计
Select
2)、查询模块
对pushbutton2控件采用回调函数,利用prompt品示一个提示输入姓 名的对话框。对excel表中姓名与输入的姓名进行对比
函数代码:
function pushbutton2_Callback(hObject, eventdata, handles) prompt={1 input name
function pushbutton2_Callback(hObject, eventdata, handles) prompt={1 input name 1}; title=1 find 1;
name=inputdlg(prompt,title); i=strcmp(handles.name,name); [i,j]=find(i==l);
set (handles.listboxl, 1 string set (handles.Iistbox2, 1 string set (handles.Iistbox3, 1 string set (handles.Iistbox4, 1 string guidata(hObject,handles); 运行结果:
,handles.name(i,1));
,num2str(handles.ID (i,1)));
,num2str(handles.English(i,1))); ,num2str(handles.Math(i,1)));
NameIDEnglishytzyl6066input namezyl| A175660.80.60.40.2
Name
ID
English
yt
zyl
60
66
input name
zyl
| A
1
75
66
0.8
0.6
0.
文档评论(0)