zoukankan      html  css  js  c++  java
  • 基于MFC的学生成绩管理系统的设计与实现

    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
    

      

  • 相关阅读:
    Java注释中的@deprecated与源代码中的@Deprecated
    android KE or NE分析
    Android手机中UID、PID作用及区别
    mtk刷机错误汇总
    区分Integer.getInteger和Integer.valueOf、Integer.parseInt() 的使用方法
    :>/dev/null 2>&1 的作用
    android 小技巧
    转:Eclipse自动补全功能轻松设置
    android开发常用地址
    转:大数据 2016 landscape
  • 原文地址:https://www.cnblogs.com/zhuangshounaZSN/p/9815596.html
Copyright © 2011-2022 走看看