数据结构实验报告:学生成绩统计管理.doc

数据结构实验报告:学生成绩统计管理.doc

ID:56801855

大小:367.50 KB

页数:9页

时间:2020-07-12

数据结构实验报告:学生成绩统计管理.doc_第1页
数据结构实验报告:学生成绩统计管理.doc_第2页
数据结构实验报告:学生成绩统计管理.doc_第3页
数据结构实验报告:学生成绩统计管理.doc_第4页
数据结构实验报告:学生成绩统计管理.doc_第5页
资源描述:

《数据结构实验报告:学生成绩统计管理.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验六.学生成绩统计管理问题描述用VC++可视化开发平台实现一个本班成绩管理与统计程序,要求界面友好,简洁大方,方便使用。程序的功能要求如下:(1)支持对话框形式的学生信息与课程成绩的录入、修改和删除;(2)计算本班每一位同学的学分成绩GPA(gradepointaverage)并排名,以此作为奖学金评定的参考依据;(3)对某一门课程,按照优(90-100)/良(80-89)/中(70-79)/及格(60-69)/不及格(60分以下)五档进行划分,统计在每一档的学生人数和百分比例,并显示统计结果。(4)支持以文本格式导出学生的成绩记录,支持从文件中导入学生成绩记录;

2、(5)其他成绩管理与统计所需的功能,可按自己的预想进行扩展。演示时的模拟数据不少于15人。实验理论本实验几乎考察了VC++开发的全部基本内容,其中,主要涵盖以下三大块的相关知识点:1.资源菜单资源及其应用,工具栏2.对话框对话框的创建,对话框的数据交换和检验3.控件静态文本和编辑框控件,按钮控件,列表框控件,滚动条控件等另外,实验还涉及了C++的主要知识点,如“类与对象”、“派生与继承”、“I/O流”以及C++语言基础知识。功能实现和相关程序及截图鉴于VC++的消息驱动机制以及本实验的相对复杂性,使得不便以一个相对结构化的方式来说明具体实现内容,下面将以分块的形式对

3、本系统的主要功能进行阐释。1.界面设计如图所示,界面包括a.左上方的三个菜单通过添加tab控件来实现,分别实现各个班级,年级成绩的管理和相关参数的设定功能b.左侧的“增加记录”等功能按钮单击时会弹出相应的对话框,内含静态文本和编辑框控件c.三个数据显示框包括单科成绩分类统计,任课教师,学生成绩三块(列表框控件),数据更新时会进行相应的显示,另外,还含有3个滚动条控件2.对话框形式的学生信息与课程成绩的录入、修改和删除下面以信息录入为例对该部分功能做详细介绍a.添加一个对话框模板资源。修改对话框模板的ID为IDD_ADDDIALOG,Caption为“增加记录”,并添

4、加7个静态文本控件和7个编辑框控件,如图所示,“学号”和“姓名”两个编辑框设置为string类型,其余设置为float类型。b.在对话框上右击,选择“添加类”,这时会弹出“类向导对话框”。将类名改为“CADDDIALOG”,基类选择“CDialog”,然后单击“完成”按钮。c.在对话框上右击,选择“添加变量”,这时会弹出“添加成员变量对话框”,如右图所示,添加变量m_strName,然后单击“完成”按钮。类似的,依次添加剩下的六个变量m_strxue,m_fmathsm_fphysicalm_fchemistrym_fenglishm_fpoliticd.在类IDD

5、_BADIALOG头文件中将类的声明包括进来:#include”ADDDIALOG.h”添加两个成员变量,分别存放“总成绩“和“平均成绩(GPA)”e.添加消息处理函数,当有记录增加时,进行相应的处理voidCBaDialog::OnAdd(){//TODO:AddyourcontrolnotificationhandlercodehereSelec=TRUE;CAddialogdlg;if(dlg.DoModal()==IDOK){if(this->Select()=="一班"){if(dlg.m_nxue>=200){AfxMessageBox("一班学号在1—

6、200之间");return;}}else{if(dlg.m_nxue<200

7、

8、dlg.m_nxue>=400){AfxMessageBox("二班学号在200—400之间");return;}}m_Set.AddNew();m_nRecordCount+=1;m_Set.m_column1=dlg.m_nxue;m_Set.m_column2=dlg.m_strName;m_Set.m_column3=dlg.m_fmaths;m_Set.m_column4=dlg.m_fphysical;m_Set.m_column5=dlg.m_fchemistry;m_S

9、et.m_column6=dlg.m_fenglish;m_Set.m_column7=dlg.m_fpolitic;m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;m_Set.m_column9=(float)(m_Set.m_column8/5);this->Equal();m_Set.Update();//Update()一定放在Equal()后m_Set.Requery();this->Xuan();}}类似的,可实现信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。