学生成绩管理系统

合集下载

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统学生成绩管理系统是现代教育管理中一种重要的工具,它通过科技手段实现对学生学业情况的全面监测和评估。

学生成绩管理系统能够及时记录学生成绩,对学生学习情况进行分析和反馈,为学校和家长提供有关学生学业发展的重要信息。

本文将从学生成绩管理系统的定义、功能和优势三个方面进行探讨,以期了解学生成绩管理系统对教育管理的积极影响。

学生成绩管理系统是一种基于互联网的教学管理工具,它通过网络互联和数据存储技术,对学生的学习情况进行有效管理和分析。

学生成绩管理系统的核心功能包括学生成绩记录、统计、分析和反馈。

学生成绩记录是指将学生的考试成绩、作业成绩等数据录入系统中进行保存和管理,以便于学校和教师随时查阅。

学生成绩统计是指根据学生成绩数据进行统计和分析,得出班级、年级、学校甚至全市、全国范围内学生学习情况的综合指标。

学生成绩分析是指通过对学生成绩数据进行深入分析,探究学生学习特点、强项和薄弱点,为教学设计和评估提供依据。

学生成绩反馈是指将学生成绩情况及时反馈给学生、家长和教师,帮助他们了解学生的学业发展状况,并及时进行调整和指导。

学生成绩管理系统的功能非常丰富,可以满足各个教育管理环节的需求。

首先,学生成绩管理系统可以有效提高教务管理效率。

传统的成绩管理方式往往需要耗费大量人力物力进行成绩记录和统计工作,而学生成绩管理系统能够自动完成这些任务,大大减轻了教务人员的工作负担。

其次,学生成绩管理系统可以为教学设计和评估提供科学依据。

通过对学生成绩数据进行深入分析和比较,教师可以了解学生的学习水平和特点,为针对性教学提供支持。

再次,学生成绩管理系统可以促进学生、家长和教师之间的沟通和合作。

通过及时的成绩反馈和学业信息共享,学生和家长可以了解学生在学校的学业状况,及时与教师进行沟通和交流,共同关注学生的学习发展。

最后,学生成绩管理系统还可以提供学生综合素质评价的参考依据。

学生成绩管理系统不仅仅可以记录和统计学生的考试成绩,还可以记录学生的课堂表现、作业完成情况、课外活动等能力表现,为学生的个性化发展提供指导。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于管理学生的学习成绩的系统。

下面是该系统的数据流程图:1. 学生信息录入流程:- 学生信息管理员将学生的基本信息录入系统中,包括学生的姓名、学号、班级等。

- 系统生成一个惟一的学生ID,并将学生ID与学生的基本信息关联起来。

- 学生信息管理员将学生的课程信息录入系统中,包括课程名称、课程代码等。

- 系统生成一个惟一的课程ID,并将课程ID与课程信息关联起来。

2. 成绩录入流程:- 教师登录系统后,选择要录入成绩的课程。

- 系统显示该课程下的所有学生列表。

- 教师选择要录入成绩的学生,并输入学生的成绩。

- 系统将成绩与学生ID和课程ID关联起来,并存储在数据库中。

3. 成绩查询流程:- 学生登录系统后,选择要查询成绩的课程。

- 系统显示该课程下的该学生的成绩。

4. 成绩统计流程:- 教师登录系统后,选择要统计成绩的课程。

- 系统显示该课程下的所有学生列表及其成绩。

- 教师可以选择按照成绩排序,计算平均成绩等。

二、数据字典下面是学生成绩管理系统的数据字典,包括实体和属性的定义:1. 学生(Student)实体:- 学生ID(StudentID):惟一标识学生的ID。

- 姓名(Name):学生的姓名。

- 学号(StudentNumber):学生的学号。

- 班级(Class):学生所在的班级。

2. 课程(Course)实体:- 课程ID(CourseID):惟一标识课程的ID。

- 课程名称(CourseName):课程的名称。

- 课程代码(CourseCode):课程的代码。

3. 成绩(Grade)实体:- 学生ID(StudentID):学生的ID。

- 课程ID(CourseID):课程的ID。

- 成绩(Score):学生在该课程中的成绩。

4. 用户(User)实体:- 用户ID(UserID):惟一标识用户的ID。

- 用户名(Username):用户的用户名。

学生成绩管理系统设计报告

学生成绩管理系统设计报告

附录一应用程序综合设计汇报——题目: 学生成绩管理系统2023年1月1.需求分析学生成绩管理系统是学生管理系统旳重要构成部分, 对学生旳德、智、体全面评估有很大旳作用, 因此学生成绩管理系统应当可认为顾客提供以便旳查询平台和数据存储功能。

老式是使用人工旳方式对学生旳信息进行存储, 对于个人旳学生成绩来说, 数据旳整顿和分析就显得很麻烦, 不利于查找、更新和维护。

因此, 顾客但愿制作一种学生成绩管理系统, 来提高老师旳工作效率, 同步予以老师便利。

根据与顾客旳交流, 一般对学生成绩管理系统有如下几点旳规定:A.可认为顾客提供以便旳数据查询功能, 满足复杂、多样旳数据查询需求。

一般我们所需要旳数据都不是可以从原始数据库中直接读取旳, 往往需要一定旳加工, 这样才能使老式复杂旳人工操作变得简朴又精确。

B、成绩管理要可以提供学校考试安排旳管理, 学生考试成绩旳管理, 以及学生单科和总成绩旳记录和分析等功能。

这些是一种学生成绩管理系统最重要旳功能构成, 包括数据旳集成、整合和分析。

上述是顾客对系统需求和功能需求旳两点规定, 我根据顾客对功能旳需求, 将整个学生成绩管理系统提成两个大旳模块, 即基本信息设置模块和成绩管理模块(如图1)。

为了能使本系统可以基本独立, 通过度析, 我又添加了学生基本信息添加功能和班级基本信息添加功能, 这样系统就可以实现本系统旳全面界面化。

2.概要设计根据需求分析, 成绩管理系统重要是实现对考试和学生成绩旳管理功能, 我设计旳整个学生成绩管理系统分为两个大旳模块, 分别为基本信息设置模块和成绩管理模块, 这两个模块包括了成绩管理系统旳所有数据存储和功能需求, 为了愈加清晰了分解学生成绩管理系统, 每个大模块又由几种子功能模块构成, 完毕顾客旳需求。

两个大模块旳子模块详细划分如图2所示:基本信息设置是成绩管理系统中某些基本数据旳添加和修改, 为了可以实现本学生成绩管理系统旳独立性, 我在基本信息设置模块中添加了学生和班级信息添加模块, 以便顾客能直接添加新增旳数据, 而不需要通过程序员来完毕。

学生成绩信息管理系统

学生成绩信息管理系统

学绩信息管理系统学绩信息管理系统文档1. 系统简介1.1 目的和背景1.2 功能概述2. 用户需求分析2.1 学生用户需求- 查看个人成绩记录及排名情况。

- 提交作业、报告等课程相关文件。

- 查询选修课程信息并进行选课操作。

2.2 教师用户需求- 录入学绩,并计算平均分与班级排名。

- 发布作业、考试安排以及其他通知事项给学生。

3.系统设计与架构3.1数据库设计-设计数据库表结构,包括:学生表、教师表、科目表等。

3-2功能模块划分-划定各个子模块职责范围,如登录认证模块, 成绩录入/查询模块, 文件模块等。

4.详细功能描述4-1登陆注册–实现不同角色(管理员/老师/學生)登錄註冊功能,包含用戶驗證與權限控制部分。

4-2成績查詢–允许學生根据条件查询个人成绩,并显示排名情况。

4-3成績录入–允许教师输入学绩,系统自动计算平均分与班级排名,并提供相应的错误提示功能。

4-4 文件- 学生可以提交作业、报告等文件;老师可发布课程资料给学生。

5. 系统测试5.1 单元测试- 对每个模块进行单元测试以验证其正确性和稳定性。

6.部署与运行环境6-1硬件需求-列出服务器及客户端所需要的硬件配置要求。

6-2软件需求-列出操作系統, 数据库管理系统和其他必须安装在服务器上的软体需求。

7.附件8.法律名词及注释:- GDPR(General Data Protection Regulation):欧洲通用数据保护条例,是为了加强对于公民隐私权利和信息处理规范而制定的一项监管政策。

- COPPA (Children's Online Privacy Protection Act):儿童在线隐私保护法案,在美国旨在增强对13岁以下孩子们网络活动中收集到他们身份信息使用者责任意识方面做了规定。

- FERPA (Family Educational Rights and Privacy Act):家庭教育权利和隐私法案,是美国一项旨在保护学生个人信息的联邦法律。

uml学生成绩管理系统

uml学生成绩管理系统

UML学生成绩管理系统简介UML学生成绩管理系统是一个用于管理学生的学业成绩的系统。

该系统可以帮助学校或教育机构轻松管理学生的课程成绩和学术表现。

功能特点1.学生管理:系统可以存储学生的个人信息,包括姓名、年龄、性别和联系方式。

2.课程管理:系统可以管理学生的课程信息,包括课程名称、授课教师、学分和上课时间。

3.成绩管理:系统可以记录学生的考试成绩和平时表现,并生成成绩报告。

4.统计分析:系统可以根据学生的成绩数据进行统计分析,包括平均成绩、最高成绩和最低成绩等。

5.导出报告:系统可以将学生的成绩报告导出为Excel或PDF格式,方便学校和教师查看和分析学生成绩。

UML类图下面是UML类图表示了学生成绩管理系统的设计和关系。

```plantuml @startumlclass Student { - id: int - name: string - age: int - gender: string - contact: string + getID(): int + getName(): string + getAge(): int + getGender(): string + getContact(): string + setID(id: int): void + setName(name: string): void + setAge(age: int): void + setGender(gender: string): void +setContact(contact: string): void }class Course { - id: int - name: string - teacher: string - credit: int - schedule: string + getID(): int + getName(): string + getTeacher(): string + getCredit(): int + getSchedule(): string + setID(id: int): void + setName(name: string): void + setTeacher(teacher: string): void + setCredit(credit: int): void + setSchedule(schedule: string): void }class Grade { - student: Student - course: Course - score: int + getStudent(): Student + getCourse(): Course + getScore(): int + setStudent(student: Student): void + setCourse(course: Course): void + setScore(score: int): void }class GradeReport { - grades: List + addGrade(grade: Grade): void + removeGrade(grade: Grade): void + getAverageScore(): double + getMaxScore(): int + getMinScore(): int + generateReport(): void }Student。

数据库课程设计学生成绩管理系统

数据库课程设计学生成绩管理系统
安全性加强
可以进一步加强系统的 安全性设计,如增加用 户权限管理、数据备份 与恢复等功能,确保数 据的完整性和安全性。
THANKS
感谢观看
情况下的容错处理。
性能测试用例
设计针对不同用户数量和不同数据量 的测试用例,以验证系统的性能和稳
定性。
安全测试用例
设计针对系统安全性的测试用例,如 用户权限验证、数据加密传输等。
测试执行与结果分析
测试执行
按照测试计划和测试用例进行测试,记录测试结果和发现的问题 。
问题跟踪与修复
对发现的问题进行跟踪,确保问题得到及时修复,并重新进行测试 验证。
测试方法
采用黑盒测试和白盒测试相结合的方法,包括功能测试、 性能测试、安全测试等。
测试范围
包括系统的所有功能模块,如学生信息管理、课程管理、 成绩录入与查询、报表生成等。
测试资源
包括测试人员、测试环境、测试数据等。
测试用例设计
功能测试用例
针对系统的每个功能模块设计测试用 例,包括正常情况下的操作以及异常
系统功能实现
课程信息管理
实现课程基本信息的录入、修 改、查询和删除功能。
报表生成
根据需求生成各类报表,如学 生成绩单、课程统计表等。
学生信息管理
实现学生基本信息的录入、修 改、查询和删除功能。
成绩录入与查询
实现学生成绩的录入、修改、 查询和删除功能,支持批量导 入成绩数据。
权限管理
实现不同用户角色的权限管理 ,确保系统的安全性和稳定性 。
常见问题与解决方案
数据库连接问题
检查数据库连接配置是否正确,确保数据库服务 正常运行,并尝试重新启动数据库服务或修复连 接问题。
系统性能下降

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统学生成绩管理系统是一个用于管理、记录和分析学生学习成绩的工具。

它可以帮助学校、教师和家长更好地了解学生的学习情况,提供个性化的教学指导和辅导。

本文将介绍学生成绩管理系统的功能、优势以及在实际应用中的作用。

一、功能介绍1. 学生信息管理:学生成绩管理系统可以存储和管理学生的个人信息,包括姓名、班级、学号、家庭联系方式等。

教师和学校可以通过系统快速查找和更新学生信息。

2. 成绩录入与查询:学生的各科成绩可以通过系统进行录入和查询。

教师可以根据学科、班级或学生姓名进行成绩查询,及时了解学生的学习情况。

3. 成绩分析与报告:学生成绩管理系统可以根据学生的成绩数据生成详细的成绩分析报告。

通过分析学生在不同科目、不同时间段的表现,教师可以更好地评估学生的学习水平和进步空间,及时调整教学内容和方法。

4. 学习计划和目标设定:学生成绩管理系统可以帮助学校和教师制定学生个性化的学习计划和目标。

根据学生的历史成绩和评估结果,系统可以推荐适合学生的学习资源和教材,提供针对性的学习建议。

5. 家校互动平台:学生成绩管理系统还提供了家校互动的功能,家长可以通过系统查看学生的成绩和评语,与教师进行实时沟通。

教师可以向家长发布通知、作业、考试安排等信息,促进学校和家庭的紧密合作。

二、系统优势1. 提高工作效率:学生成绩管理系统可以自动化完成学生信息管理、成绩录入和查询等繁琐的工作,节省教师和学校的时间和精力。

2. 数据准确性:通过使用学生成绩管理系统,可以避免人为录入错误和纰漏,确保学生成绩数据的准确性和完整性。

3. 个性化分析:学生成绩管理系统提供了丰富的成绩分析功能,可以根据学生的特点和需求进行个性化评估和辅导,促进学生全面发展。

4. 促进教学改进:通过对学生成绩进行全面分析,教师可以及时发现学生的薄弱环节和问题,采取有针对性的教学改进措施,提高教学效果。

5. 加强家校联系:学生成绩管理系统提供了家校互动平台,方便教师和家长之间及时沟通,共同关注学生的学习情况和发展。

学生成绩管理系统分析

学生成绩管理系统分析

学生成绩管理系统分析学生成绩管理系统是一种用于帮助学校或教育机构管理学生成绩的计算机软件系统。

它能够实现学生成绩的录入、计算、分析和报告等功能,有效提升学校教务管理的效率,并为教师、学生及家长提供更好的数据支持,帮助他们更好地了解学生表现和发挥潜力。

本文将对学生成绩管理系统进行详细分析,包括系统的基本功能、优势和意义,以及如何实施和使用该系统。

一、学生成绩管理系统的基本功能学生成绩管理系统主要包含以下基本功能:1.学生成绩录入:教师可以使用该系统将学生的分数和成绩相关信息录入系统数据库中,确保数据的准确性和完整性。

2.学生成绩查询:学校教务管理人员、教师、学生及家长都可以通过该系统查看学生成绩,包括单科成绩、总评成绩、排名和学生课程表等。

3.成绩统计与分析:系统可以对学生成绩进行统计和分析,包括成绩分布、班级平均成绩、学科排名等,帮助学校更好地了解学生的学习情况。

4.成绩报告和成绩单生成:系统可以根据学生的成绩数据自动生成成绩报告和成绩单,并且可以通过电子邮件或系统内部消息的方式发送给学生或家长。

5.异常成绩监测和预警:系统可以根据设定的规则和学生成绩数据,实时监测学生的成绩情况,对于低于预期的成绩进行预警,及时进行干预和教育。

二、学生成绩管理系统的优势和意义学生成绩管理系统的实施和使用可以为学校、教师、学生及家长带来诸多优势和意义:1.提高工作效率:学生成绩管理系统自动化了学生成绩的录入、计算和统计等工作,减少了繁琐的手工操作,提高了工作效率。

2.减少人为错误:由于系统自动计算和存储学生成绩数据,减少了手动录入错误和数据丢失的可能性,确保了成绩数据的准确性。

3.提供数据支持:学生成绩管理系统可以生成各种报表和统计数据,为学校领导、教师和家长提供更好的数据支持,用于评估学生的学习情况和制定教学计划。

4.促进家校合作:学生家长可以通过系统查询和监测学生成绩,及时了解孩子的学习情况,并与教师共同讨论和制定适合孩子的学习计划,促进家校合作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计课程设计报告目录一、课程设计题目及内容二、程序中使用的数据及主要符号说明三、带有详细注释的自己编写的源程序四、程序运行时的效果图五、实验结果分析,实验收获和体会。

1、实验结果分析:2、实验收获和体会:一、实验内容实验1:(1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。

(2)、创建一个管理学生的类Management,包括实现学生的数据的增加、删除、修改、按课程成绩排序、保存学生数据到文件及加载文件中的数据等功能。

(3)、创建一个基于对话框的MFC应用程序,程序窗口的标题上有你姓名、学号和应用程序名称。

使用(1)和(2)中的类,实现对学生信息和成绩的输入和管理。

(4)、创建一个单文档的MFC应用程序,读取(3)中保存的文件中的学生成绩,分别用直方图和折线方式显示所有学生某课程的成绩分布图。

二、程序中使用的数据及主要符号说明unsigned int mID;//学号CString mName;//姓名unsigned int mAge;//年龄CString mAdd;//地址float mCpp;//c++成绩float mMath;//数学成绩CListBox m_list;//列表名afx_msg void OnClickedButtonAdd();//添加按钮afx_msg void OnClickedButtonDel();//删除按钮afx_msg void OnClickedButtonChange();//修改afx_msg void OnClickedButtonOk();//确定afx_msg void OnClickedButtonCancle();//取消afx_msg void OnSelchangeList1();//列表控件virtual BOOL OnInitDialog();//初始化对话框afx_msg void OnDestroy();//防止内存泄漏afx_msg void OnClickedButton6();int m_count;//记录人数int mSex;//性别三、带有详细注释的自己编写的源程序(1)、设计一个学生类Student//Student.h#pragma once#include<string>//using namespace std;#include<iostream>enum Sex { male, female };class Student{public:Student();//构造函数~Student();//析构函数unsigned int GetID()const{return m_num;}void SetID(unsigned int ID){ m_num = ID;};std::string GetName()const{return m_name;}void SetName(const std::string& name){ m_name = name;};Sex GetSex()const{return m_sex;}void SetSex(Sex sex){ m_sex = sex;};unsigned int GetAge()const{return m_age;}void SetAge(unsigned int age){ m_age = age;};std::string GetAdd()const{return m_add;}void SetAdd(std::string add){ m_add = add;};float GetCpp()const{return m_cpp;}void SetCpp(float cpp){ m_cpp = cpp;};float GetMath()const{return m_math;}void SetMath(float math){ m_math = math;};friend std::ostream&operator<<(std::ostream& os,const Student& st);friend std::istream&operator>>(std::istream& is, Student& st);private:unsigned int m_num;//学号std::string m_name;//姓名Sex m_sex;//性别unsigned int m_age;//年龄std::string m_add;//地址float m_cpp;//c++成绩float m_math;//数学成绩};//Student.cpp///////////////////////////////////////////////#include "pch.h"#include "Student.h"Student::Student()//初始化:m_num(0), m_name(""), m_sex(male), m_age(20), m_add(""), m_cpp(0.0f), m_math(0.0f){}Student::~Student(){}std::ostream&operator<<(std::ostream& os,const Student& st)//重载函数{os <<""<< st.m_num;os <<""<< st.m_name;os <<""<<(int)st.m_sex;os <<""<< st.m_age;os <<""<< st.m_add;os <<""<< st.m_cpp;os <<""<< st.m_math;return os;}std::istream&operator>>(std::istream& is, Student& st){is >> st.m_num;is >> st.m_name;int sex;is >> sex;st.m_sex = sex ==0? male : female;is >> st.m_age;is >> st.m_add;is >> st.m_cpp;is >> st.m_math;return is;}(2)、添加一个CStudentinfo类,包括实现学生的数据的增加、删除、修改、按课程成绩排序、保存学生数据到文件及加载文件中的数据等功能。

//Dlg.h#pragma once// CStudentinfo 对话框class CStudentinfo :public CDialogEx{private:unsigned int mID;//学号CString mName;//姓名unsigned int mAge;//年龄CString mAdd;//地址float mCpp;//c++float mMath;//数学CListBox m_list;//列表名称public:afx_msg void OnClickedButtonAdd();afx_msg void OnClickedButtonDel();afx_msg void OnClickedButtonChange();afx_msg void OnClickedButtonOk();afx_msg void OnClickedButtonCancle();public:afx_msg void OnSelchangeList1();virtual BOOL OnInitDialog();afx_msg void OnDestroy();afx_msg void OnClickedButton6();int m_count;人数private:int mSex;//性别};// CStudentinfo.cpp: 实现文件//#include "pch.h"#include "EX03.h"#include "afxdialogex.h"#include "Student.h"#include "CStudentinfo.h"#include <ctime>#include <fstream>// CStudentinfo 对话框IMPLEMENT_DYNAMIC(CStudentinfo, CDialogEx)//对话框初始化CStudentinfo::CStudentinfo(CWnd* pParent /*=nullptr*/) : CDialogEx(DIALOG_STUDENT, pParent), mID(0), mName(_T("")), mAge(0), mAdd(_T("")), mCpp(0), mMath(0), mSex(0), m_count(0){}// CStudentinfo 消息处理程序////////////////////////////////////////////////////////////////////添加void CStudentinfo::OnClickedButtonAdd(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);if(mID >0&&!mName.IsEmpty()){Student* pSt =new Student();// pSt = nullptr;pSt->SetID(mID);pSt->SetName(std::string(mName));pSt->SetSex(mSex ==0? male : female);pSt->SetAge(mAge);pSt->SetAdd(std::string(mAdd));pSt->SetMath(mMath);pSt->SetCpp(mCpp);CString temp;temp.Format(_T("%d-%s"), mID, mName);m_list.AddString(temp);m_list.SetItemDataPtr(m_list.GetCount()-1, pSt);mName ="";mAdd ="";mID =0;mAge =0;mMath =0;mCpp =0;UpdateData(false);}}//删除void CStudentinfo::OnClickedButtonDel(){// TODO: 在此添加控件通知处理程序代码int sel = m_list.GetCurSel();//获取当前对象if(sel == LB_ERR)return;auto pSt =(Student*)m_list.GetItemDataPtr(sel);delete pSt;m_list.DeleteString(sel);}//修改void CStudentinfo::OnClickedButtonChange(){// TODO: 在此添加控件通知处理程序代码int sel = m_list.GetCurSel();//获取当前对象if(sel == LB_ERR)return;auto pSt =(Student*)m_list.GetItemDataPtr(sel);UpdateData(TRUE);//更新数据pSt->SetID(mID);pSt->SetName(std::string(mName));pSt->SetSex(mSex ==0? male : female);pSt->SetAge(mAge);pSt->SetAdd(std::string(mAdd));pSt->SetCpp(mCpp);pSt->SetMath(mMath);CString temp;temp.Format(_T("%d-%s"), mID, mName);m_list.DeleteString(sel);m_list.InsertString(sel, temp);//m_list.AddString(temp);//m_list.SetItemDataPtr(m_list.GetCount() - 1, pSt);m_list.SetItemDataPtr(sel, pSt);mName ="";mAdd ="";UpdateData(false);}//确定,保存void CStudentinfo::OnClickedButtonOk(){// TODO: 在此添加控件通知处理程序代码TCHAR fileName[MAX_PATH];GetModuleFileName(nullptr, fileName, MAX_PATH);CString file = fileName;int pos = file.ReverseFind(_T('.'));file = file.Left(pos +1)+ _T("txt");std::ofstream ofile(file, std::ios::out);if(ofile){int n = m_list.GetCount();ofile << n << std::endl;for(int k =0; k < n;++k){auto pSt =(Student*)m_list.GetItemDataPtr(k);ofile <<(*pSt);}}ofile.close();CDialogEx::OnOK();}//取消void CStudentinfo::OnClickedButtonCancle(){// TODO: 在此添加控件通知处理程序代码CDialog::OnOK();}//列表事件void CStudentinfo::OnSelchangeList1(){// TODO: 在此添加控件通知处理程序代码int sel = m_list.GetCurSel();//获取当前对象if(sel == LB_ERR)return;auto pSt =(Student*)m_list.GetItemDataPtr(sel); //数据读取mID = pSt->GetID();mName = pSt->GetName().c_str();mSex = pSt->GetSex()== male ?0:1;mAge = pSt->GetAge();mAdd = pSt->GetAdd().c_str();mMath = pSt->GetMath();mCpp = pSt->GetCpp();UpdateData(false);}//添加额外初始化BOOL CStudentinfo::OnInitDialog(){CDialogEx::OnInitDialog();// TODO: 在此添加额外的初始化//读取信息TCHAR fileName[MAX_PATH];GetModuleFileName(nullptr, fileName, MAX_PATH);CString file = fileName;int pos = file.ReverseFind(_T('.'));file = file.Left(pos +1)+ _T("txt");std::ifstream ifile(file, std::ios::in);if(ifile){int n =0;ifile >> n;for(int k =0; k < n;++k){Student* pSt =new Student();ifile >>(*pSt);CString temp;temp.Format(_T("%d-%s"),pSt->GetID(), pSt->GetName().c_str());m_list.AddString(temp);m_list.SetItemDataPtr(m_list.GetCount()-1, pSt);}}return TRUE;// return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回 FALSE}//防止内存泄漏void CStudentinfo::OnDestroy(){int n = m_list.GetCount();for(int k =0; k < n;++k)delete(Student*)m_list.GetItemDataPtr(k);CDialogEx::OnDestroy();// TODO: 在此处添加消息处理程序代码}//随机生成void CStudentinfo::OnClickedButton6(){// TODO: 在此添加控件通知处理程序代码UpdateData(true);for(int k =0; k < m_count;++k){auto pSt =new Student();pSt->SetID(190620000+ rand()%10000);TCHAR name[9];for(int i =0; i <8;++i){name[i]=65+ rand()%26;}name[8]= _T('\0');pSt->SetName(std::string(name));pSt->SetSex(rand()%2==0? male : female);pSt->SetAge(17+ rand()%4);pSt->SetAdd(std::string(name));pSt->SetMath(40.0f+ rand()%51);pSt->SetCpp(40.0f+ rand()%54);CString temp;temp.Format(_T("%d: %s"), pSt->GetID(), pSt->GetName().c_str());m_list.AddString(temp);m_list.SetItemDataPtr(m_list.GetCount()-1, pSt);}}(3)、创建一个基于对话框的MFC应用程序(4)、创建一个单文档的MFC应用程序,读取(3)中保存的文件中的学生成绩,分别用直方图和折线方式显示所有学生某课程的成绩分布图。

相关文档
最新文档