1、技术介绍
MFC是微软基础类库的简称,是微软公司实现的一个C++类库,主要封装了大部分的WINDOWS API函数,并且包含一个应用程序框架,以减少应用程序开发人员工作量。VC++是微软公司开发的C/C++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说VC呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DEVC++其中一个编译器内核就是GCC。 MFC除了是一个类库以外,还是一个框架,你应该试过,在VC++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了MFC内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西。

2、功能需求
随着信息化时代的到来,使用软件技术进行数据管理已经成为了一项十分普及的数据管理方式。而学校作为一个十分巨大的组织群体,对于学生的成绩管理也是一项十分巨大的工作。因此各大高校就急需一款能够帮助学校进行学生成绩管理的软件程序。
一款好的学生成绩管理系统应该拥有管理端和学生端两个部分,其中管理端可以对学生的信息进行管理,包括添加学生成绩信息、修改学生成绩信息、删除学生成绩信息、导出学生成绩、条件查询学生成绩等功能;而学生端则只可以进行学生成绩的查看与查询操作。
管理端:
添加学生成绩:可以进行学生语文、数学、英语、物理、化学、生物、体育八门学科成绩的添加。
修改学生成绩:在班级模块点击指定的学生数据,点击“修改”按钮可以对所选中的学生成绩进行修改操作。
删除学生成绩:选中学生成绩信息后,点击“删除”按钮可以对所选中的学生成绩信息进行删除操作。
导出学生成绩:点击“导出”可以对系统中已有的学生成绩信息进行导出操作,导出的格式为Excel格式,文件名由用户自行 定义。
条件查询:条件查询分为两种,一种是通过学生的学号对学生的成绩信息进行查询操作,另一种是根据学科以及分数区间对学生的成绩进行查询操作。

3、代码实现
创建数据链接实现代码如下:
void CAccessConn::OnInitAccessConn()
{
CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(“ADODB.Connection”);
m_pConnection->ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db11.mdb”;

m_pConnection->Open("","","",adModeUnknown);
1
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
登录校验实现代码如下:
void CDlgDR::OnOK()
{
// TODO: Add extra validation here
UpdateData();
CString str;
CAccessConn m_Conn;
m_Conn.OnInitAccessConn();
_RecordsetPtr m_Set;
_bstr_t vSQL;
if(m_bSelet)
vSQL=“select * from managemessage”;
else
vSQL=“select * from studentmassage”;
m_Set=m_Conn.GetRecordSet(vSQL);
while(!m_Set->adoEOF)
{
if(str=((LPCTSTR)(_bstr_t)m_Set->GetCollect(“IDUers”)),strm_HaoMa)
{
str=((LPCTSTR)(_bstr_t)m_Set->GetCollect(“密码”));
if(strm_MiMa)
{
MessageBox(“成功登入!”);
//m_Set->Close();
//m_Set.Release();
m_Conn.CutConn();

CDialog::OnOK();
return ;

}
}
m_Set->MoveNext();
1
2
3
4
5
6
}
static n=0;
n++;
MessageBox(“帐号或密码错误!”);

if(n>=3)
{
//m_Set->Close();
//m_Set.Release();
m_Conn.CutConn();
SendMessage(WM_CLOSE,0,0);
}
//CDialog::OnOK();
}
4、项目展示

 下载地址:http://webcodeschool.hrxxkj.com/webindex

  

基于MFC的学生成绩管理系统的设计与实现的更多相关文章

  1. Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

    一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...

  2. Java课程设计——学生成绩管理系统(201521123003 董美凤)

    Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...

  3. 基于C语言文件操作的学生成绩管理系统

    原理 在一个班级学生成绩管理系统中,希望处理每个学生的学习情况信息,其中包括学生的学号.姓名.各科名称和成绩等并能使管理人员通过界面完成对学生信息的录入及对学生信息的录入及对数据的查找.浏览.插入.排 ...

  4. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  5. Java项目:学生成绩管理系统(一)

    学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...

  6. 【学生成绩管理系统】 大二c语言作业

    几年前写的了,只能在命令行窗口运行,虽然比较挫,还是有一定参考价值... #include <cstdio> #include <conio.h> #include <i ...

  7. [项目记录] 用c语言完成的一个学生成绩管理系统

    一.要求: 学生成绩管理系统 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程实现如下菜单驱动的学生成绩管理系统. 从文件读入每个学生个人信 ...

  8. 基于UML的高校教务管理系统的设计与实现

    一.基本信息 标题:基于UML的高校教务管理系统的设计与实现 时间:2018 出版源:南昌航空大学 领域分类:教育信息化:教务管理系统:UML:SSH:Oracle 二.研究背景 问题定义:高校教务管 ...

  9. 第一次写C语言小程序,可以初步理解学生成绩管理系统的概念

    1 成绩管理系统概述 1.1  管理信息系统的概念  管理信息系统(Management Information Systems,简称MIS),是一个不断发展的新型学科,MIS的定义随着科技的进步也在 ...

随机推荐

  1. 心路历程(一)-自学java两个月心得

    这是我的第一条博文,在敲这些文字的时候我已经是一名大四的"老者".说自己"老者"确实如此,因为以前每当这个时候大一新学妹有上架了,哈哈,每当这个时候我们就想了很 ...

  2. 深入解析 H.265 编码模式,带你了解Apple全面推进H.265的原因

    今天我们聊聊视频编码.视频文件亘古以来存在一个矛盾:高清画质和视频体积的冲突,相同编码标准下,视频更高清,视频体积更大.因此,应用更先进的视频编码标准,降低视频体积,可以大幅降低网站的流量消耗. 目前 ...

  3. [我的理解]Javascript的原型与原型链

    一.原型与原型链的定义 原型:为其他对象提供共享属性的对象 注:当构造器创建一个对象,为了解决对象的属性引用,该对象会隐式引用构造器的"prototype"属性.程序通过const ...

  4. RBAC用户特别授权的思考

    场景: 标准的RBAC,授权只应该赋予角色,再把角色指派给用户,当需要对特定用户授予权限时,就只能新建一个角色指派给这个用户.这就意味着每对一个新用户做特别授权都要创建一个特别角色. 今天脑洞大开,想 ...

  5. 浅谈Web开发中的定时任务

    曾经做过Windows server下的定时任务的业务,最近又做了一些Linux下使用Crontab做的定时任务的业务,觉得有必要进行一次小结,于是有了如下这篇文章. Windows Server下 ...

  6. Lucene 04 - 学习使用Lucene的Field(字段)

    目录 1 Field的特性 2 常用的Field类型 3 常用的Field种类使用 3.1 准备环境 3.2 需求分析 3.3 修改代码 3.4 重新建立索引 1 Field的特性 Document( ...

  7. 如何判断DataSet里有多少个DataTable

    dataset.table.count sda.fill(ds,"table"); //这里是在ds里新建了一个表,叫table,注意是新建,多次执行会报错,实际使用时,可以用co ...

  8. 在数据采集器中用TensorFlow进行实时机器学习

    最新DataOps平台的真正价值,只有在业务用户和应用程序能够从各种数据源来访问原始数据和聚合数据,并且及时地产生数据驱动的认识时,才能够实现.利用机器学习(Machine Learning),分析师 ...

  9. C#使用Http的Post方式请求webservice

    webservice是以前比较流行的跨系统.跨语言.跨平台的数据交互技术.最近工作中调用Java作为服务端开放的webser,我是通过VS205生成webservice工具类的方式进行接口调用的.用这 ...

  10. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(1)- Boot简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的BootROM功能简介. 截止目前为止i.MX RT系列已公布的芯片有三款i.MXRT105x, i. ...