1、g) 学号是一个9位整数构成的字符串, 学号的编码规则:入学年份+在读年级+在读班级+班内编号;入学年份用4位整数构成字符串,如2003年入学则表示为:”2003”;在读年级用1位整数构成字符串,如正在1年级读书则表示为:”1”;在读班级用2位整数构成字符串,如正在1班读书则表示为:”01”;班内编号用2位整数构成字符串,如在班内编号为23号则表示为:”23”开发环境要求:软件环境:windows98/windowsXP/windows2000,Visual C+硬件环境:计算机(Pen4CPU, 256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照软件工程技术文档编写要求进行。要
2、求流程图绘制规范,模块功能描述清晰,数据字典齐全。程序流程图如下:程序设计学生成绩管理系统能有效地管理每个学生的各科成绩,还可以管理学生的基本信息以及课程信息。该系统能简便地实行相关记录的查询,添加,修改,删除操作。接下来,我详细介绍一下学生成绩表中记录的查询,添加,修改,删除功能,以及实现这些功能的相关代码。学生基本信息表,课程信息表的功能和功能实现代码与此表类似。实验讨论C+程序设计设计性实验收获与总结1、实验总结a)、实验完成了题目的要求。b)、编写代码基本上能够满足编程规范的要求,代码的变量命名,以及注释的书写,基本能按照要求进行。b)、将数据结构中的知识复习到,并且学会创新,在代码的
3、编写中,学习了编程规范,学习了结构化编程。运行软件主界面:添加模块:修改模块:修改王浩的信息删除梁磊峰的成绩:导出模块:参考程序:/ DlgRealBJ.cpp : implementation file/#include stdafx.hstudent.hDlgRealBJ.h/#include CScore.hAccessConn.hTianJiaDlg.hexcel.hcomdef.hDlgXLS.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CDlgRe
4、alBJ dialogBOOL m_bAsc=TRUE;int m_nCol=0;CDlgRealBJ:CDlgRealBJ(CWnd* pParent /*=NULL*/) : CDialog(CDlgRealBJ:IDD, pParent) /AFX_DATA_INIT(CDlgRealBJ) m_strCombo = _T(); /AFX_DATA_INIT m_bPanduan=TRUE; /m_bAsc=TRUE; /m_nCol=0;void CDlgRealBJ:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(p
5、DX); /AFX_DATA_MAP(CDlgRealBJ) DDX_Control(pDX, IDC_BUTTON_XIUGAI, m_BtnXiugai); DDX_Control(pDX, IDC_BUTTON_TIANJIA, m_BtnTianjia); DDX_Control(pDX, IDC_BUTTON_MANAGE, m_BtnManage); DDX_Control(pDX, IDC_BUTTON_OUT, m_BtnOut); DDX_Control(pDX, IDC_BUTTON_DELETE, m_BtnDelete); DDX_Control(pDX, IDC_LI
6、ST_CLASS, m_ListClass); DDX_Control(pDX, IDC_COMBO_CLASS, m_ComBoClass); DDX_CBString(pDX, IDC_COMBO_CLASS, m_strCombo); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CDlgRealBJ, CDialog) /AFX_MSG_MAP(CDlgRealBJ) ON_CBN_SELCHANGE(IDC_COMBO_CLASS, OnSelchangeComboClass) ON_BN_CLICKED(IDC_BUTTON_TIANJIA, OnButtonTia
7、njia) ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete) ON_BN_CLICKED(IDC_BUTTON_XIUGAI, OnButtonXiugai) ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST_CLASS, OnColumnclickListClass) ON_NOTIFY(NM_RCLICK, IDC_LIST_CLASS, OnRclickListClass) ON_BN_CLICKED(IDC_BUTTON_OUT, OnButtonOut) /AFX_MSG_MAPEND_MESSAGE_MAP()/
8、 CDlgRealBJ message handlersOnOK() / TODO: Add extra validation here return ; /CDialog:OnOK();BOOL CDlgRealBJ:OnInitDialog() OnInitDialog(); Add extra initialization here CreatDlgList(); m_strCombo=一班; UpdateData(FALSE); /UpdateData(); ShowClassData(); return TRUE; / return TRUE unless you set the f
9、ocus to a control / EXCEPTION: OCX Property Pages should return FALSEShowClassData() CScore m_Score; CAccessConn m_Conn; _RecordsetPtr m_Set; _bstr_t vSQL; /if(!m_Conn.m_pConnection-State) /MessageBox(hi m_Conn.OnInitAccessConn(); switch(m_ComBoClass.GetCurSel() case 0: vSQL=select * from student wh
10、ere 班级=一班 m_strCombo= break; case 1:二班二班 case 2:三班三班 if(m_ListClass.GetItemCount()0) m_ListClass.DeleteAllItems(); m_Conn.GetRecordSet(vSQL); if(m_Conn.m_pRecordset-adoEOF) m_Conn.CutConn(); return ; m_Set=m_Conn.GetRecordSet(vSQL); m_Set-MoveFirst(); while(!m_Set- m_Score.m_strNO=(LPCSTR)(_bstr_t)m
11、_Set-GetCollect(学号 m_Score.m_strName=(LPCSTR)(_bstr_t)m_Set-姓名 m_Score.m_strClass=(LPCSTR)(_bstr_t)m_Set-班级 m_Score.m_strSex=(LPCSTR)(_bstr_t)m_Set-性别 m_Score.m_fChinese=m_Set-语文 m_Score.m_fMaths=m_Set-数学 m_Score.m_fEnglish=m_Set-英语 m_Score.m_fPhysics=m_Set-物理 m_Score.m_fChemistry=m_Set-化学 m_Score.m
12、_fBiology=m_Set-生物 m_Score.m_fSports=m_Set-体育 ChangeStr(m_Score); m_Set-MoveNext(); /m_Score.m_strName=(_bstr_t)m_Set- m_Conn.CutConn(); CreatDlgList() CString str13=, 总分平均分; int nIndex=0; m_ListClass.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_SUBITEMIMAGES); for(;nIndexModifyStyl
13、e(0,CCS_NORESIZE,0);*/ /*m_ListClass.InsertItem(0,你好 m_ListClass.SetItemText(0,1,不好/DEL void CDlgRealBJ:OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct) /DEL /DEL / TODO: Add your message handler code here and/or call default/DEL if(nIDCtl=IDC_LIST_CLASS)/DEL lpMeasureItemStruct-it
14、emHeight=1000;/DEL CDialog:OnMeasureItem(nIDCtl, lpMeasureItemStruct);/DEL ChangeStr()/DEL CScore scr;/DEL CString str;/DEL /m_ListClass.GetItemCount();/DEL str.Format(,scr.m_strNO);/DEL ChangeStr(CScore m_scr) CScore scr=m_scr; CString str; int n=m_ListClass.GetItemCount(); int i=0; if(scr.m_strCla
15、ss!=m_strCombo) return ; m_ListClass.InsertItem(n,scr.m_strNO); m_ListClass.SetItemText(n,+i,scr.m_strName); m_ListClass.SetItemText(n,+i,scr.m_strClass); m_ListClass.SetItemText(n,+i,scr.m_strSex); str.Format(%4.1f,scr.m_fChinese); m_ListClass.SetItemText(n,+i,str);,scr.m_fMaths);,scr.m_fEnglish);,
16、scr.m_fPhysics);,scr.m_fChemistry);,scr.m_fBiology);,scr.m_fSports);,scr.fScore();,scr.fAverage(); m_ListClass.SetItemData(n,n);OnSelchangeComboClass() Add your control notification handler code hereOnButtonTianjia() CTianJiaDlg dlg(this); dlg.DoModal(); /CScore score; /*if(IDOK=dlg.DoModal() if(dlg
17、.m_bWrite) /MessageBox(hello dlg.DestroyWindow(); OnButtonTianjia(); else MessageBox( /score.m_strNO=dlg.m_strNO;/DEL CScore CDlgRealBJ:ReScore()/DEL CTianJiaDlg dlg;/DEL CScore score;/DEL if(dlg.DoModal()!=IDOK) return score;/DEL OnButtonDelete() /int nIndex=-1; /nIndex=m_ListClass.GetNextItem(nInd
18、ex, LVNI_SELECTED); POSITION pos=m_ListClass.GetFirstSelectedItemPosition(); if(pos=NULL) MessageBox(请选择你要删除的一行 int nIndex=m_ListClass.GetNextSelectedItem(pos); str=m_ListClass.GetItemText(nIndex,0); if(MessageBox(你确定要删除+str+这行数据吗?删除功能,MB_OKCANCEL)!=IDOK) _bstr_t vSQL=delete from student where 学号=/
19、m_Set=m_Conn.GetRecordSet(); try m_Set=m_Conn.GetRecordSet(select * from student m_Conn.ExecuteSQL(vSQL);Update(); catch(_com_error e)失败成功删除“”OnButtonXiugai() m_bPanduan=FALSE; int nIndex=-1; nIndex=m_ListClass.GetNextItem(nIndex, LVNI_SELECTED); if(nIndex=-1)请选择你要修改的一行OnColumnclickListClass(NMHDR* pNMHDR, LRESULT* pResult) NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;/* CString str13= 平均 static bIs=0; int nIndex= pNMListView-iSubItem; if(bIs) vSQL=+m_strCombo+ order by +strnIndex+ ASC DESC CAccessConn m_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1