基于MFC的学生成绩管理系统

登录 :

 

主界面:

增加功能实现: 

void StudentDlg::OnButton1() 
{
   
    // TODO: Add your control notification handler code here
    // 思路:(通过将字符串转为数字后进行运算再显示)
    PropertyDlg dlg;
    dlg.DoModal();

    float x=atol(dlg.sChi);
    float y=atol(dlg.sMath);
    float z=atol(dlg.sEng);
    CString sAll,sAve;
    sAll.Format(_T("%.2f"),x+y+z);
    sAve.Format(_T("%.2f"),(x+y+z)/3);
     
    int nCount=m_List.GetItemCount();
    m_List.InsertItem(nCount,dlg.sNumber);
    m_List.SetItemText(nCount,1,dlg.sName1);
    m_List.SetItemText(nCount,2,dlg.sChi);
    m_List.SetItemText(nCount,3,dlg.sMath);
    m_List.SetItemText(nCount,4,dlg.sEng);
    m_List.SetItemText(nCount,5,dlg.sAve);
    m_List.SetItemText(nCount,6,dlg.sAll);

}

 保存/打开 功能实现

void StudentDlg::OnButton4() 
{
    // TODO: Add your control notification handler code here
 CFileDialog fDlg(FALSE,".dat","saveData",OFN_OVERWRITEPROMPT, "数据文件(*.txt)|*.txt|所有文件(*.*)|*.*||", NULL);
 if (fDlg.DoModal()==IDOK)
 {
  CStdioFile file(fDlg.GetPathName(), CFile::modeWrite | CFile::modeCreate);
  CString cs;
  for (int i = 0; i < m_List.GetItemCount(); i++)//GetItemCount:list控件获取行数
  {
   cs = m_List.GetItemText(i, 0) + ";";//获取列表中行的数据 ";"分隔符
   cs += m_List.GetItemText(i, 1) + ":";
   cs += m_List.GetItemText(i, 2) + "!";
   cs += m_List.GetItemText(i, 3) + "@";
   cs += m_List.GetItemText(i, 4) + "#";
   cs += m_List.GetItemText(i, 5) + "$";
   cs += m_List.GetItemText(i, 6) + "%\n";//将列表中的每行值拼接在一起"\n"换行
   MessageBox(cs);
   file.WriteString(cs);
  }
  file.Close();
 }
}

void StudentDlg::OnButton5() 
{
    // TODO: Add your control notification handler code here
        EndDialog(TRUE);    
}

void StudentDlg::OnButton6() 
{
    // TODO: Add your control notification handler code here
     CFileDialog fDlg(FALSE,".dat","saveData",OFN_OVERWRITEPROMPT, "数据文件(*.txt)|*.txt|所有文件(*.*)|*.*||", NULL);
 if (fDlg.DoModal()==IDOK)
 {
  CStdioFile file(fDlg.GetPathName(), CFile::modeRead);
  CString cs;
  int k=0;
  while (file.ReadString(cs)) 
  //Meesage " 1 ; 2 : 3 ! 4 @ 5 # 6 $ 7 %"
  {    
      int x1=cs.Find(";");
      int x2=cs.Find(":");
      int m=x1+1;
      int n=x2-x1-1;
      int x3=cs.Find("!");
      int o=x2+1;
      int p=x3-x2-1;
      int x4=cs.Find("@");
      int j=x3+1;
      int l=x4-x3-1;
      int x5=cs.Find("#");
      int a=x4+1;
      int b=x5-x4-1;
      int x6=cs.Find("$");
      int c=x5+1;
      int d=x6-x5-1;
      int x7=cs.Find("%");
      int e=x6+1;
      int f=x7-x6-1;
   m_List.InsertItem(k,cs.Left(x1));
   m_List.SetItemText(k,1,cs.Mid(m,n));
   m_List.SetItemText(k,2,cs.Mid(o,p));
   m_List.SetItemText(k,3,cs.Mid(j,l));
   m_List.SetItemText(k,4,cs.Mid(a,b));
   m_List.SetItemText(k,5,cs.Mid(c,d));
   m_List.SetItemText(k,6,cs.Mid(e,f));

  }
  file.Close();
 }
}

以上程序有参考B站JiUI极视觉up主 捐款管理系统 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值