mfc实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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::iterator p;

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::iterator p;

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] 算法基本思想

相关文档
最新文档