C++程序设计课程设计说明书学生成绩管理信息系统设计与开发_第1页
C++程序设计课程设计说明书学生成绩管理信息系统设计与开发_第2页
C++程序设计课程设计说明书学生成绩管理信息系统设计与开发_第3页
C++程序设计课程设计说明书学生成绩管理信息系统设计与开发_第4页
C++程序设计课程设计说明书学生成绩管理信息系统设计与开发_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c+程序设计课程设计说明书题目:学生成绩管理信息系统设计与开发 学生姓名: 学 号: 200812010228 院 (系): 理 学 院 专 业: 数学与应用数学 指导教师: 2010 年 6 月 15 日陕 西 科 技 大 学c+程序设计课程设计任务书理学院 数学与应用数学 专业 数学082班级 姓名: 学号: 200812010228题目: 学生成绩管理信息系统设计与开发 课程设计从 2010 年 5 月 10日起到 2010 年 7月 2 日1、课程设计的内容和要求(包括原始数据、技术要求、工作要求等):1)、设计内容: 制作学生成绩管理系统,实现数据录入、数据删除、数据浏览以及数据查询

2、等功能。2)、课程设计的要求:包括系统设计要求,开发环境要求,技术文档要求三部分。系统设计要求:a) 学生成绩管理系统中不同使用单位(用户)的学生人数事先无法确定b) 该学生成绩管理系统要求有学生成绩录入,查询,修改,删除,保存文件c) 系统使用文字菜单,用户通过选择菜单项的编号,实现系统对子模块的调用也可用windows界面下的菜单栏、弹出式菜单、下拉菜单。d) 每个班级每门课程的成绩可以从学生的成绩总表提取出子表并存储成一个文本文件,以便在windows的notebook或者microsoft word下打印,规定该文本文件名由班级号和课程名拼音字符串构成输入班级号和课程名字符串后自动生成

3、文件名如班,语文,则文件名为:c1yuwen.txt e) 每个学生学习的课程有语文,英语,数学,物理,化学,生物f) 学生的成绩总表结构约定为(学号,姓名,课程名,平时成绩,期末成绩,总评成绩)总评成绩由程序自动计算,总评成绩平时成绩30期末成绩70g) 学号是一个9位整数构成的字符串, 学号的编码规则:入学年份+在读年级+在读班级+班内编号;入学年份用4位整数构成字符串,如2003年入学则表示为:”2003”;在读年级用1位整数构成字符串,如正在1年级读书则表示为:”1”;在读班级用2位整数构成字符串,如正在1班读书则表示为:”01”;班内编号用2位整数构成字符串,如在班内编号为23号则表

4、示为:”23”开发环境要求:软件环境:windows98/windowsxp/windows2000,visual c+硬件环境:计算机(pen4cpu, 256mram,60g以上硬盘,输入输出设备)技术文档要求:按照软件工程技术文档编写要求进行。要求流程图绘制规范,模块功能描述清晰,数据字典齐全。程序流程图如下:程序设计学生成绩管理系统能有效地管理每个学生的各科成绩,还可以管理学生的基本信息以及课程信息。该系统能简便地实行相关记录的查询,添加,修改,删除操作。接下来,我详细介绍一下学生成绩表中记录的查询,添加,修改,删除功能,以及实现这些功能的相关代码。学生基本信息表,课程信息表的功能和功

5、能实现代码与此表类似。实验讨论c+程序设计设计性实验收获与总结1、实验总结a)、实验完成了题目的要求。b)、编写代码基本上能够满足编程规范的要求,代码的变量命名,以及注释的书写,基本能按照要求进行。b)、将数据结构中的知识复习到,并且学会创新,在代码的编写中,学习了编程规范,学习了结构化编程。运行软件主界面:添加模块:修改模块:修改王浩的信息删除梁磊峰的成绩:导出模块:参考程序:/ dlgrealbj.cpp : implementation file/#include stdafx.h#include student.h#include dlgrealbj.h/#include cscore

6、.h#include accessconn.h#include tianjiadlg.h#include excel.h#include comdef.h#include dlgxls.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endif/ cdlgrealbj dialogbool m_basc=true;int m_ncol=0;cdlgrealbj:cdlgrealbj(cwnd* pparent /*=null*/): cdialog(cdlgrealbj:idd

7、, pparent)/afx_data_init(cdlgrealbj)m_strcombo = _t();/afx_data_initm_bpanduan=true;/m_basc=true;/m_ncol=0;void cdlgrealbj:dodataexchange(cdataexchange* pdx)cdialog:dodataexchange(pdx);/afx_data_map(cdlgrealbj)ddx_control(pdx, idc_button_xiugai, m_btnxiugai);ddx_control(pdx, idc_button_tianjia, m_bt

8、ntianjia);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_list_class, m_listclass);ddx_control(pdx, idc_combo_class, m_comboclass);ddx_cbstring(pdx, idc_combo_class, m_strcombo);/afx_dat

9、a_mapbegin_message_map(cdlgrealbj, cdialog)/afx_msg_map(cdlgrealbj)on_cbn_selchange(idc_combo_class, onselchangecomboclass)on_bn_clicked(idc_button_tianjia, onbuttontianjia)on_bn_clicked(idc_button_delete, onbuttondelete)on_bn_clicked(idc_button_xiugai, onbuttonxiugai)on_notify(lvn_columnclick, idc_

10、list_class, oncolumnclicklistclass)on_notify(nm_rclick, idc_list_class, onrclicklistclass)on_bn_clicked(idc_button_out, onbuttonout)/afx_msg_mapend_message_map()/ cdlgrealbj message handlersvoid cdlgrealbj:onok() / todo: add extra validation herereturn ;/cdialog:onok();bool cdlgrealbj:oninitdialog()

11、 cdialog:oninitdialog();/ todo: add extra initialization herecreatdlglist();m_strcombo=一班;updatedata(false);/updatedata();showclassdata();return true; / return true unless you set the focus to a control / exception: ocx property pages should return falsevoid cdlgrealbj:showclassdata()cscore m_score;

12、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 where 班级=一班;m_strcombo=一班;break;case 1:vsql=select * from student where 班级=二班;m_strcombo=二班;break;case 2:vsql

13、=select * from student where 班级=三班;m_strcombo=三班;break;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-adoeof)m_score.m_strno=(lpcstr)(_bstr_t)

14、m_set-getcollect(学号);m_score.m_strname=(lpcstr)(_bstr_t)m_set-getcollect(姓名);m_score.m_strclass=(lpcstr)(_bstr_t)m_set-getcollect(班级);m_score.m_strsex=(lpcstr)(_bstr_t)m_set-getcollect(性别);m_score.m_fchinese=m_set-getcollect(语文);m_score.m_fmaths=m_set-getcollect(数学);m_score.m_fenglish=m_set-getcolle

15、ct(英语);m_score.m_fphysics=m_set-getcollect(物理);m_score.m_fchemistry=m_set-getcollect(化学);m_score.m_fbiology=m_set-getcollect(生物);m_score.m_fsports=m_set-getcollect(体育);changestr(m_score);m_set-movenext();/m_score.m_strname=(_bstr_t)m_set-getcollect(学号);/m_score.m_strname=(_bstr_t)m_set-getcollect(学号

16、);m_conn.cutconn();void cdlgrealbj:creatdlglist()cstring str13=学号,姓名,班级,性别,语文,数学,英语,物理,化学,生物,体育,总分,平均分;int nindex=0;m_listclass.setextendedstyle(lvs_ex_gridlines|lvs_ex_fullrowselect|lvs_ex_subitemimages);for(;nindexmodifystyle(0,ccs_noresize,0);*/*m_listclass.insertitem(0,你好);m_listclass.setitemtex

17、t(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-itemheight=1000;/del cdialog:onmeasureitem(nidctl, lpmeasureitemstruct);/d

18、el /del void cdlgrealbj:changestr()/del /del cscore scr;/del cstring str;/del /m_listclass.getitemcount();/del str.format(,scr.m_strno);/del /del void cdlgrealbj:changestr(cscore m_scr)cscore scr=m_scr;cstring str;int n=m_listclass.getitemcount();int i=0;if(scr.m_strclass!=m_strcombo) return ;m_list

19、class.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);str.format(%4.1f,scr.m_fmaths);m_listclass.setitemtext(n,+i,str);str.

20、format(%4.1f,scr.m_fenglish);m_listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.m_fphysics);m_listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.m_fchemistry);m_listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.m_fbiology);m_listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.m_fsports);m_

21、listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.fscore();m_listclass.setitemtext(n,+i,str);str.format(%4.1f,scr.faverage();m_listclass.setitemtext(n,+i,str);m_listclass.setitemdata(n,n);void cdlgrealbj:onselchangecomboclass() / todo: add your control notification handler code hereshowclassdata(

22、);/updatedata();void cdlgrealbj:onbuttontianjia() / todo: add your control notification handler code herem_bpanduan=true;ctianjiadlg dlg(this);dlg.domodal();/cscore score;/*if(idok=dlg.domodal()if(dlg.m_bwrite)/messagebox(hello);dlg.destroywindow();onbuttontianjia();elsemessagebox(hi);*/score.m_strn

23、o=dlg.m_strno;/del cscore cdlgrealbj:rescore()/del /del ctianjiadlg dlg;/del cscore score;/del if(dlg.domodal()!=idok) return score;/del /del void cdlgrealbj:onbuttondelete() / todo: add your control notification handler code herecstring str;caccessconn m_conn;/int nindex=-1;/nindex=m_listclass.getn

24、extitem(nindex, lvni_selected);position pos=m_listclass.getfirstselecteditemposition();if(pos=null)messagebox(请选择你要删除的一行);return ;int nindex=m_listclass.getnextselecteditem(pos);str=m_listclass.getitemtext(nindex,0);if(messagebox(你确定要删除+str+这行数据吗?,删除功能,mb_okcancel)!=idok)return ;_bstr_t vsql=delete

25、from student where 学号=+str+;_recordsetptr m_set;m_conn.oninitaccessconn();/m_set=m_conn.getrecordset();trym_set=m_conn.getrecordset(select * from student);m_conn.executesql(vsql);m_set-update();catch(_com_error e)messagebox(失败);return ;messagebox(成功删除“+str+”);m_conn.cutconn();showclassdata();void cd

26、lgrealbj:onbuttonxiugai() / todo: add your control notification handler code herem_bpanduan=false;int nindex=-1;nindex=m_listclass.getnextitem(nindex, lvni_selected);if(nindex=-1)messagebox(请选择你要修改的一行);return ;ctianjiadlg dlg(this);dlg.domodal();void cdlgrealbj:oncolumnclicklistclass(nmhdr* pnmhdr,

27、lresult* presult) nm_listview* pnmlistview = (nm_listview*)pnmhdr;/ todo: add your control notification handler code here/*cstring str13=学号,姓名,班级,性别,语文,数学,英语,物理,化学,生物,体育,总分,平均;static bis=0;cscore m_score;int nindex= pnmlistview-isubitem;_bstr_t vsql;if(bis)vsql=select * from student where 班级=+m_strc

28、ombo+ order by +strnindex+ asc;elsevsql=select * from student where 班级=+m_strcombo+ order by +strnindex+ desc;caccessconn m_conn;m_conn.oninitaccessconn();m_conn.getrecordset(vsql);if(m_conn.m_precordset-adoeof)m_conn.cutconn();return ;_recordsetptr m_set;m_set=m_conn.getrecordset(vsql);m_set-movefi

29、rst();if(m_listclass.getitemcount()0) m_listclass.deleteallitems();while(!m_set-adoeof)m_score.m_strno=(lpcstr)(_bstr_t)m_set-getcollect(学号);m_score.m_strname=(lpcstr)(_bstr_t)m_set-getcollect(姓名);m_score.m_strclass=(lpcstr)(_bstr_t)m_set-getcollect(班级);m_score.m_strsex=(lpcstr)(_bstr_t)m_set-getcol

30、lect(性别);m_score.m_fchinese=m_set-getcollect(语文);m_score.m_fmaths=m_set-getcollect(数学);m_score.m_fenglish=m_set-getcollect(英语);m_score.m_fphysics=m_set-getcollect(物理);m_score.m_fchemistry=m_set-getcollect(化学);m_score.m_fbiology=m_set-getcollect(生物);m_score.m_fsports=m_set-getcollect(体育);changestr(m_

31、score);m_set-movenext();m_conn.cutconn();bis=+bis%2;*/if(pnmlistview-isubitem=m_ncol)m_basc=!m_basc;elsem_basc=true;m_ncol=pnmlistview-isubitem;m_listclass.sortitems(comparefun,(dword)&m_listclass);*presult = 0;void cdlgrealbj:onrclicklistclass(nmhdr* pnmhdr, lresult* presult) / todo: add your contr

32、ol notification handler code herecmenu menu,*psubmenu;menu.loadmenu(idr_menu);psubmenu=menu.getsubmenu(0);cpoint point;getcursorpos(&point);int nindex=-1;nindex=m_listclass.getnextitem(nindex, lvni_selected);if(nindex=-1)return ;/*if(m_listclass.getitemcount()m_listclass.getitemcount() return ;*/psu

33、bmenu-trackpopupmenu(tpm_leftalign,point.x,point.y,this);/messagebox(hello);*presult = 0;int callback cdlgrealbj:comparefun(lparam lparam1,lparam lparam2,lparam lparamsort)clistctrl *plistctrl = (clistctrl*)lparamsort;int rvalue=0;int nitem1,nitem2;lvfindinfo findinfo;findinfo.flags=lvfi_param;findi

34、nfo.lparam=lparam1;nitem1=plistctrl-finditem(&findinfo,-1);findinfo.lparam=lparam2;nitem2=plistctrl-finditem(&findinfo,-1);if(nitem1 = -1)|(nitem2 = -1) return 0;cstring str1,str2;str1=plistctrl-getitemtext(nitem1,m_ncol);str2=plistctrl-getitemtext(nitem2,m_ncol);if(m_ncol=0)&(m_ncol num2) rvalue =

35、1;else rvalue = -1;elseif(num1 = num2) rvalue = 0;else if(num1 adoeof)excelapp.quit();rgmyrge.releasedispatch(); wsmysheet.releasedispatch(); wssmysheets.releasedispatch(); wbmybook.releasedispatch(); wbsmybooks.releasedispatch(); excelapp.releasedispatch(); m_conn.cutconn();return ;m_conn.m_precord

36、set-movefirst();rgmyrge.setitem(_variant_t(long)1),_variant_t(long)1),_variant_t(学号);/*rgmyrge.getitem(_variant_t(long)1),vtmissing);rgmyrge.setcolumnwidth(_variant_t(long)12);*/rgmyrge.setitem(_variant_t(long)1),_variant_t(long)2),_variant_t(姓名);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)3)

37、,_variant_t(班级);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)4),_variant_t(性别);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)5),_variant_t(语文);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)6),_variant_t(数学);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)7),_variant_t(英语);rgmyrge.

38、setitem(_variant_t(long)1),_variant_t(long)8),_variant_t(物理);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)9),_variant_t(化学);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)10),_variant_t(生物);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)11),_variant_t(体育);rgmyrge.setitem(_variant_t(lon

39、g)1),_variant_t(long)12),_variant_t(总分);rgmyrge.setitem(_variant_t(long)1),_variant_t(long)13),_variant_t(平均);for(int i=2,j=0;!m_conn.m_precordset-adoeof;i+,j=0)string=(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(学号);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); strin

40、g=(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(姓名);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string=(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(班级);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string=(lpcstr)(_bstr_t)m_conn.m_prec

41、ordset-getcollect(性别);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string.format(%s,(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(语文);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string.format(%s,(lpcstr)(_bstr_t)m_conn.m_precordset-getco

42、llect(数学);/messagebox(m_conn.m_precordset-getcollect(数学);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string.format(%s,(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(英语);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)+j),_variant_t(string); string.format(%s,(lpcstr)(_bstr_t)m_conn.m_precordset-getcollect(物理);rgmyrge.setitem(_variant_t(long)i),_variant_t(long)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论