网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > VC与C++类别 > 正文

基于VC学生成绩分析统计系统的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/14

网学网为广大网友收集整理了,基于VC学生成绩分析统计系统的设计,希望对大家有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

根据分析阶段得出的结论,结合本系统对有关数据的存储的需要,更加方便实现该管理系统的所有功能,现将本管理系统设计成如下几个数据库表,部分表的字段名、类型、宽度设计如下:

学生信息表结构如下:

字段名称

类型

说明

学号

文本

主键

姓名

文本

 

年龄

数字

 

性别

数字

 

身高

数字

 

电话

文本

 

家庭地址

文本

 

学生成绩表结构如下:

字段名称

类型

说明

学号

文本

主键

语文成绩

数字

 

数学成绩

数字

 

英语成绩

数字

 

物理成绩

数字

 

化学成绩

数字

 

政治成绩

数字

 

历史成绩

数字

 

地理成绩

数字

 

生物成绩

数字

 

体育成绩

数字

 

其他表详细见数据库。

3.3 算法分析

// 显示学生成绩

void CGradeManageView::ShowGrade()

{

    m_list.DeleteAllItems();

    int index = 0;

    for (int i = m_listGrade.GetCount() - 1; i >= 0 ; i--)

    {

       StudentGrade &grade = m_listGrade.GetAt(i);

       m_list.InsertItem(index, grade.id);

       m_list.SetItemText(index, 1, grade.name);

       CString str;

       for (int j = 0; j < 10; j++)

       {

           str.Format("%d", grade.grade[j]);

           m_list.SetItemText(index, 2 + j, str);

       }

       str.Format("%d", grade.sumGrade);

       m_list.SetItemText(index, 12, str);

       str.Format("%.2f", grade.averGrade);

       m_list.SetItemText(index, 13, str);

    }

}

 

// 排序

void CGradeManageView::OrderGrade(int type)

{

    if (type == 0)

    {

       QueryGrade();

    }

    else

    {

       for (int i = 0; i < m_listGrade.GetSize(); i++)

       {

           int max = i;

           for (int j = i + 1; j < m_listGrade.GetSize(); j++)

           {

              StudentGrade &maxGrade = m_listGrade.GetAt(max);

              StudentGrade &jGrade = m_listGrade.GetAt(j);

              if (maxGrade.averGrade < jGrade.averGrade)

                  max = j;

           }

 

           StudentGrade &maxGrade = m_listGrade.GetAt(max);

           StudentGrade &iGrade = m_listGrade.GetAt(i);

           StudentGrade grade = maxGrade;

           maxGrade = iGrade;

           iGrade = grade;

       }

    }

}

 

// 刷新成绩

void CGradeManageView::OnBnClickedButtonRequery()

{

    QueryGrade();

    ShowGrade();

}

 

// 排序

void CGradeManageView::OnBnClickedButtonOrder()

{

    UpdateData(true);

    OrderGrade(m_nOrderType);

    ShowGrade();

}

 

// 成绩统计

void CGradeManageView::OnBnClickedButtonStat()

{

    double zf = 0;

    int bjg = 0;

    int yx = 0;

    for (int i = 0; i < m_listGrade.GetSize(); i++)

    {

       StudentGrade &grade = m_listGrade.GetAt(i);

       zf += grade.averGrade;

       for (int j = 0; j < 10; j++)

       {

           if (grade.grade[j] < 60)

              bjg++;

           else if (grade.grade[j] > 80)

              yx++;

       }

    }

 

    double average = zf / m_listGrade.GetSize();

    double bjgl = (double)bjg / (m_listGrade.GetSize() * 10) * 100;

    double yxl = (double)yx / (m_listGrade.GetSize() * 10) * 100;

 

    m_strResult.Format("平均分:%.2f\r\n不及格人数(人次):%d\r\n不及格率:%.2f", average, bjg, bjgl);

    m_strResult += "%\r\n";

    CString str;

    str.Format("优秀人数(人次):%d\r\n优秀率:%.2f", yx, yxl);

    m_strResult += str;

    m_strResult += "%";

 

    UpdateData(false);

}

 

// 分布情况

void CGradeManageView::OnBnClickedButtonDistributing()

{

    int n40 = 0, n50 = 0, n60 = 0, n70 = 0, n80 = 0, n90 = 0;

    for (int i = 0; i < m_listGrade.GetSize(); i++)

    {

       StudentGrade &grade = m_listGrade.GetAt(i);

       if (grade.averGrade < 40)

           n40++;

       else if (grade.averGrade < 50)

           n50++;

       else if (grade.averGrade < 60)

           n60++;

       else if (grade.averGrade < 70)

           n70++;

       else if (grade.averGrade < 80)

           n80++;

       else

           n90++;

    }

    m_strResult.Format("平均分分布:\r\n<40%d\r\n40~50%d\r\n50~60%d\r\n70~80%d\r\n80~90%d\r\n>90%d",

       n40, n50, n60, n70, n80, n90);

    UpdateData(false);

}

本系统所占用的内存空间主要是被界面占用。由于系统的数据全部在数据库中存储,内存的占用比较少。大型的系统实现时把界面和系统的主要函数分离,只有在用到某个功能时才去调用它,从而大大减少了系统所占用的内存空间。我们在开发我们的系统时,由于考虑到系统附加功能不是太多,为了方便没有像大型系统那样把界面和主要函数分开,所以在这一方面占用的内存大一点。

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 上一篇资讯: 基于VC的网络寻呼软件
  • 原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 |
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师