• MFC学生成绩管理系统


    MFC学生成绩管理系统

    8、第八组

    课题名称:

    学生成绩管理系统的设计

    说明:

    成绩记录以下信息,班级,学号,姓名,课程名,成绩 (百分制)。可以用能表示学生成绩的结构体数组存储数据。

    要求

    1. 具备对成绩的管理功能(添加、删除、排序
    2. 具备对成绩的统计功能《最高分,最低分,平均分,及格率等)
    3. 具备按学号、姓名、或课程名查询成绩的功能。

    功能说明

    在编辑框内输入内容后按添加按钮可以把内容写入文本文件(不是二进制文件)里面,然后点击列表框里的某一行的时候可以在编辑框上显示内容让用户进行修改和删除,然后查询按钮点一下会弹出来一个对话框要求输入学号来进行查询后在编辑框上显示查询内容,否则就显示查询未果,单击列表框中的数学和语文时可以将列表中的内容按成绩进行排序,在添加这个按钮中要将数据写入文本文件中然后在程序初始化的时候将文本文件的内容显示到列表框中,最高分最低分以及平均分的话再加几个编辑框和按钮到时候能显示出来。

    程序界面

    功能演示

    演示.gif

    源码传送门

    传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

    部分源码

    //添加学生信息
    void CStudentScoresDlg::OnBnClickedButtonAdd() {
        ItemDlg dlg;
        if (dlg.DoModal() == IDOK) {
            if (m_list.addItem(dlg.m_student)) {
                m_list.save(m_filename);
                SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl));
            } else {
                AfxMessageBox(TEXT("添加失败!"));
            }
        }
    }
    
    //删除学生信息
    void CStudentScoresDlg::OnBnClickedButtonDel() {
        // TODO: Add your control notification handler code here
        CString id = mtd::listctrlSelect(m_listctrl, 0);
        if (!id.IsEmpty()) {
            if (m_list.delItem(id)) {
                m_list.save(m_filename);
                SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl));
                AfxMessageBox(TEXT("删除成功!"));
            } else {
                AfxMessageBox(TEXT("删除失败!"));
            }
        } else {
            AfxMessageBox(TEXT("请先选择某行数据再进行操作!"));
        }
    }
    
    //查找学生信息
    void CStudentScoresDlg::OnBnClickedButtonFind() {
        // TODO: Add your control notification handler code here
        FindDlg dlg;
        dlg.m_options.push_back(TEXT("学号"));
        dlg.m_options.push_back(TEXT("姓名"));
        dlg.m_options.push_back(TEXT("班级"));
        if (dlg.DoModal() == IDOK) {
            switch (dlg.m_select) {
            case 0:
                SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl, dlg.m_keyword, STUDENT_ID));
                break;
            case 1:
                SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl, dlg.m_keyword, STUDENT_NAME));
                break;
            case 2:
                SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl, dlg.m_keyword, STUDENT_GRADE));
                break;
            }
        }
    }
    
    //修改学生信息
    void CStudentScoresDlg::OnBnClickedButtonModify() {
        // TODO: Add your control notification handler code here
        CString id = mtd::listctrlSelect(m_listctrl, 0);
        if (!id.IsEmpty()) {
            Student* student = m_list.find(id);
            if (student) {
                ItemDlg dlg;
                dlg.m_student = *student;
                if (dlg.DoModal() == IDOK) {
                    *student = dlg.m_student;
                    m_list.save(m_filename);
                    SetDlgItemInt(IDC_EDIT_COUNT, m_list.fillListCtrl(m_listctrl));
                }
            } else {
                AfxMessageBox(TEXT("数据未找到!"));
            }
        } else {
            AfxMessageBox(TEXT("请先选择某行数据再进行操作!"));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
  • 相关阅读:
    Arcgis日常天坑问题(1)——将Revit模型转为slpk数据卡住不前
    如何拿取 macOS 系统中的图标文件
    淘宝商品sku信息抓取接口api
    C. Color the Picture(贪心/构造)
    Java的SPI机制
    设计模式-享元模式
    subline text3安装numpy,scipy,matplotlib,pandas,sklearn,ipynb
    不敢相信,只用500页笔记就趣谈了网络协议
    一文搞懂 OTP 双因素认证
    中国互联网大会天翼云展区大揭秘!
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/128188265