mfc实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计实践
设
计
报
告
1.课题概述
1.1课题目标和主要内容
●主要内容
这个实验我主要是应用VS C++ 2010实现学生信息管理系统的设计,主要实现学生管理系统中选择学院和专业,学生个人信息管理,班级管理,成绩和选课等功能。是一个基于对话框的应用程序。
●实验目的:
a.了解windows编程的基础知识,掌握MFC应用程序的基本知识;
b.基本掌握面向对象程序设计的基本思路和方法;
c.掌握利用visual C++开发应用程序的一般步骤和方法;
1.2系统的主要功能
2. 系统设计
2.1 系统总体框架
2.2 系统详细设计
A.学生基本信息:
1.添加人员信息:
编写CStudentDlg::OnAdd()函数,该函数完成对学生基本信息的添加,因为每个学生都有唯一的学号,所以在添加人员信息的时候,会先判断学号是否已经存在,若是重复,则需要重新输入学号,再完成学生信息的添加,点击确定后,才能完成对管理系统的修改。
2.编辑学生信息
编写CStudentDlg::OnEdit()函数,对已有的学生信息进行编辑和修改,选中需要修改的信息,在对应栏中写入正确的信息,然后点击编辑,点击确定,完成编辑
3.删除学生信息
编写CStudentDlg::OnDelete()函数,对现有的学生信息进行删除,选中需要删除的信息,点击删除,然后确定,完成删除。
B.班级信息
有CAllInfor::GetAveGrade()函数和CClassSort::InsertSort()函数来完成班级显示信
息里的排名,在课程成绩中获得成绩求得总成绩,然后求得平均,进行排名
C.课程成绩
1.添加课程及成绩
编写CGradeDlg::OnAdd()函数,输入对应的学号,课程名字,上课时间以及成绩,完成添加。
2.查询某个学号的所有成绩
编写CGradeDlg::OnSearch()函数,输入学号,首先判断学号是否存在,若不存在,弹出对话框提醒学号不存在,重新输入,正确后在界面显示相应信息。
3.编辑课程成绩
编写CGradeDlg::OnEdit()函数,对已有的课程成绩进行编辑和修改,需要选中之后,在相应栏中做出修改,点击编辑,完成新的编辑,点击确定,完成最后编辑。
4.删除课程及其成绩
编写CGradeDlg::OnDelete2()函数,选中需要删除的课程及其成绩,然后删除,最后点击确定完成最后删除操作。
2.3 关键算法分析
算法1:void CStudentDlg::OnBnClickedAdd()
void CStudentDlg::OnBnClickedAdd()
{
// TODO: 在¨²此ä?添¬¨ª加¨®控?件t通ª¡§知a处ä|理¤¨ª程¨¬序¨°代䨲码?
UpdateData(TRUE);
list
bool judge = true;
for ( p = m_AllInformation.begin();p != m_AllInformation.end();++p)
{
if (p->m_Stu.m_School_Id == m_SchoolId)
{
judge = false;
}
}
if (judge)
{
CStudent Stu(m_Name,m_Sex,m_Class,m_SchoolId,m_College);
CAllInfor obj(Stu);
m_AllInformation.push_back(obj);
for (int i = 0;;i++)
{
if (m_List.GetItemText(i,0)=="")
{
int nRow = m_List.InsertItem(i,m_Name); //插?入¨?行D
m_List.SetItemText(nRow, 1,m_Sex); //设¦¨¨置?数ºy据Y
m_List.SetItemText(nRow, 2,m_Class); //设¦¨¨置?数ºy据Y
m_List.SetItemText(nRow, 3,m_SchoolId); //设¦¨¨置?数ºy据Y
m_List.SetItemText(nRow, 4,m_College); //设¦¨¨置?数ºy据Y
break;
}
}
}
else
{
MessageBox("学¡ì号?重?复¡ä,ê?请?重?新?输º?入¨?!ê?");
}
m_SchoolId ="";
m_Sex = "";
m_Name = "";
m_College = "";
m_Class = "";
UpdateData(FALSE);
}
void CStudentDlg::OnBnClickedDelele()
{
// TODO: 在¨²此ä?添¬¨ª加¨®控?件t通ª¡§知a处ä|理¤¨ª程¨¬序¨°代䨲码?
CString sname = m_List.GetItemText(m_SelectRow,0);
list
for (p = m_AllInformation.begin();p != m_AllInformation.end();++p)
{
if (p->m_Stu.m_Name == sname)
{
m_AllInformation.erase(p);
break;
}
}
m_List.DeleteItem(m_SelectRow);
m_SchoolId ="";
m_Sex = "";
m_Name = "";
m_College = "";
m_Class = "";
UpdateData(FALSE);
}
[1] 算法功能
选择相应的学院和专业后实现相应的添加功能,实现学生个人信息的添加与管理 [2] 算法基本思想