版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要:学籍管理信息系统是高校管理的重要组成部分,为老师、同学提供存档、查询等手段。根据教学安排,我们有两周的时间进行学籍管理信息系统课程设计,我们小组团结一心,分工明确,积极讨论,终于在组员的努力下及老师的指导帮助下,我们顺利完成了本次课程设计,系统包括学生资料设置,成绩设置,成绩、排名查询,修改资料关键字: 系统 查询 课程设计 论文 管理目录第一章 绪论-(1)1.1 课程设计背景11.2 课程设计目的11.3 课程设计思路1第二章 系统总体规划-(2)2.1 前期准备22.2系统功能2第三章 系统分析设计-(3)3.1 建立mfc主界面及代码设计33.2 学生资料设置及代码设计103.3
2、学生成绩设置及代码设计193.4查询功能及代码设计283.5修改密码功能及代码设计303.6删除功能及代码设计343.7修改功能及代码设计36第四章 界面设计与实现-(37)4.1 学生信息管理系统374.2 学生资料设置374.3 成绩设置384.4 学生资料显示384.5 成绩显示394.6 修改密码39总结-(40)工作安排-(43)参考文献-(44)第一章 绪论1.1 课程设计背景经过一个学期对c+程序设计的学习,学习到了基本的理论知识,了解到了c+语言程序设计的思想,现在把这些知识运用到实际中来。学籍管理信息系统是高校管理的重要组成部分,它能够为用户提供充足的信息和快捷的查询手段。使
3、用计算机对学生资料、成绩信息进行管理,能够极大的提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。因此我们有必要开发学籍管理信息系统。1.2 课程设计目的 全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握c+面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。了解当前常用的软件开发工具(visual c+),要求熟练掌握基于mfc的程序设计,培养解决实际问题的能力。1.3 课程设计思路实现学生基本情况的录入、修改、删除等基
4、本操作;能实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行统计;能具有成绩统计、排名等功能;可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。第二章 系统总体规划2.1 前期准备学习c+6.0课本理论知识,查找、搜集相关资料,讨论出具体思路、方法,在整个过程中周老师给了我们必不可少的许多指导,使我们能够顺利地完成前期各项工作。2.2系统功能基于系统需求分析,该系统具有以下基本功能:用户管理:管理系统操作人员,设置操作人员账号、密码、用户资料等。用户资料:学生通过登录,可以查询到自己的资料、成绩、排名,同时可以修
5、改密码。成绩管理:管理员根据学生成绩保存到系统中,同时可计算出综合排名、平均分等信息。基础数据管理:维护学生资料,主要包括院系、专业设置,联系方式、学号等个人信息设置等。管理员登陆注册用户资料登录系统设置成绩功能图查询成绩排名平均分查询用户资料修改密码学生登录第三章 系统分析设计3.1 建立mfc主界面及代码设计#include stdafx.h /头文件#include 学生信息管理系统.h#include 学生信息管理系统dlg.h#include xueshengziliao2.h#include xueshengziliao1.h#include stu.h#include fstre
6、am.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endifclass caboutdlg : public cdialog /定义类caboutdlg及数据和方法public:caboutdlg();enum idd = idd_aboutbox ;protected:virtual void dodataexchange(cdataexchange* pdx); protected:declare_message_map();caboutdlg:caboutdlg()
7、: cdialog(caboutdlg:idd)void caboutdlg:dodataexchange(cdataexchange* pdx) cdialog:dodataexchange(pdx);begin_message_map(caboutdlg, cdialog)end_message_map()cmydlg:cmydlg(cwnd* pparent ) /构造函数: cdialog(cmydlg:idd, pparent)m_xuehao2 = 0.0f; m_mima = 0.0f;m_hicon = afxgetapp()-loadicon(idr_mainframe);v
8、oid cmydlg:dodataexchange(cdataexchange* pdx) cdialog:dodataexchange(pdx);ddx_text(pdx, idc_edit1, m_xuehao2);ddx_text(pdx, idc_edit2, m_mima);begin_message_map(cmydlg, cdialog) /窗口链接函数的实现on_wm_syscommand()on_wm_paint()on_wm_querydragicon()on_bn_clicked(idc_guanliyuandenglu, onguanliyuandenglu)on_bn
9、_clicked(idc_xueshengdenglu, onxueshengdenglu)on_bn_clicked(idc_guanbi, onguanbi)end_message_map()bool cmydlg:oninitdialog() /布尔函数的实现cdialog:oninitdialog(); assert(idm_aboutbox & 0xfff0) = idm_aboutbox);assert(idm_aboutbox appendmenu(mf_separator);psysmenu-appendmenu(mf_string, idm_aboutbox, strabou
10、tmenu);seticon(m_hicon, true);seticon(m_hicon, false);return true; void cmydlg:onsyscommand(uint nid, lparam lparam) if (nid & 0xfff0) = idm_aboutbox)caboutdlg dlgabout;dlgabout.domodal();elsecdialog:onsyscommand(nid, lparam);void cmydlg:onpaint() /添加背景图片if (isiconic()cpaintdc dc(this); sendmessage(
11、wm_iconerasebkgnd, (wparam) dc.getsafehdc(), 0);int cxicon = getsystemmetrics(sm_cxicon);int cyicon = getsystemmetrics(sm_cyicon);crect rect;getclientrect(&rect);int x = (rect.width() - cxicon + 1) / 2;int y = (rect.height() - cyicon + 1) / 2;dc.drawicon(x, y, m_hicon); else /cdialog:onpaint(); /要禁止
12、这个调用 cpaintdc dc(this); crect rect; getclientrect(&rect); cdc dcmem; dcmem.createcompatibledc(&dc); cbitmap bmpbackground; bmpbackground.loadbitmap(idb_bitmap1); bitmap bitmap; bmpbackground.getbitmap(&bitmap); cbitmap *pbmpold=dcmem.selectobject(&bmpbackground); dc.stretchblt(0,0,rect.width(),rect.
13、height(),&dcmem,0,0, bitmap.bmwidth,bitmap.bmheight,srccopy); hcursor cmydlg:onquerydragicon() /最小化窗口return (hcursor) m_hicon;void cmydlg:onguanliyuandenglu() /管理员登录this-updatedata(true);if(m_mima=123&m_xuehao2=321) xueshengziliao2 a; this-oncancel(); /跳出此窗口时关闭此窗口 a.domodal(); /跳转到另一窗口else this-mess
14、agebox(管理员的学号或密码输入错误!);void cmydlg:onxueshengdenglu() /学生登录 struct stu stu;bool num=false;bool code=false;int find=0; this-updatedata(true);ifstreamii(data.txt); /读取数据 while(ii.eof()=0)ii.read(char *)&stu,sizeof(stu);if(stu.xuehao=m_xuehao2) find=1;break; ii.close(); if(find=0)this-messagebox(该学号尚未注
15、册!);else num=true;if(stu.mima=m_mima)code=true;elsethis-messagebox(密码错误!); if(num=true&code=true) xueshengziliao1 aa;this-updatedata(true); aa.m_dianhua1=stu.dianhua; /更新关联变量 aa.m_dizhi1=stu.dizhi; aa.m_mima1=stu.mima; aa.m_nianbanji1=stu.nianbanji; aa.m_xingbie1=stu.xingbie; aa.m_xingming1=stu.xing
16、ming; aa.m_xuehao1=stu.xuehao; aa.m_xueyuan1=stu.xueyuan; aa.m_zhuanye1=stu.zhuanye;aa.m_jiguan1=stu.jiguan;this-updatedata(false);this-oncancel(); aa.domodal(); /跳转窗口voidcmydlg:onguanbi() /关闭此窗口this-onok();3.2 学生资料设置及代码设计#include stdafx.h#include 学生信息管理系统.h#include 学生信息管理系统dlg.h#include xueshengzil
17、iao2.h#include chengji2.h#include fstream.h#include stu.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endifxueshengziliao2:xueshengziliao2(cwnd* pparent /*=null*/): cdialog(xueshengziliao2:idd, pparent)m_zhuanye2 = _t();m_xueyuan2 = _t();m_xuehao2 = 0.0f;m_xingmi
18、ng2 = _t();m_xingbie2 = _t();m_nianbanji2 = _t();m_mima2 = 0.0f;m_jiguan2 = _t();m_dizhi2 = _t();m_dianhua2 = 0.0f;void xueshengziliao2:dodataexchange(cdataexchange* pdx)cdialog:dodataexchange(pdx);ddx_text(pdx, idd_zhuanye2, m_zhuanye2);ddx_text(pdx, idd_xueyuan2, m_xueyuan2);ddx_text(pdx, idd_xueh
19、ao2, m_xuehao2);ddx_text(pdx, idd_xingming2, m_xingming2);ddx_text(pdx, idd_xingbie2, m_xingbie2);ddx_text(pdx, idd_nianbanji2, m_nianbanji2);ddx_text(pdx, idd_mima2, m_mima2);ddx_text(pdx, idd_jiguan2, m_jiguan2);ddx_text(pdx, idd_dizhi2, m_dizhi2);ddx_text(pdx, idd_dianhua2, m_dianhua2);begin_mess
20、age_map(xueshengziliao2, cdialog)on_bn_clicked(idc_chaxun2, onchaxun2)on_bn_clicked(idc_fanhui2, onfanhui2)on_bn_clicked(idc_guanbi2, onguanbi2)on_bn_clicked(idc_queren2, onqueren2)on_bn_clicked(idc_shanchu2, onshanchu2)on_bn_clicked(idc_shezhichengji2, onshezhichengji2)on_bn_clicked(idc_xiugai2, on
21、xiugai2)end_message_map()void xueshengziliao2:onfanhui2() /关闭此窗口并返回this-oncancel();cmydlg a;a.domodal();void xueshengziliao2:onguanbi2() /关闭此窗口this-onok();void xueshengziliao2:onchaxun2() /查询用户资料int findflag=0; this-updatedata(true);struct stu stu; ifstream is(data.txt);while(is.eof()=0)is.read(char
22、 *)&stu,sizeof(stu);if(m_xuehao2=stu.xuehao) findflag=1;break; is.close(); if(findflag=1) m_xingming2=stu.xingming; m_mima2=stu.mima; m_xuehao2=stu.xuehao; m_dianhua2=stu.dianhua; m_dizhi2=stu.dizhi; m_nianbanji2=stu.nianbanji; m_xingbie2=stu.xingbie; m_xueyuan2=stu.xueyuan; m_zhuanye2=stu.zhuanye;
23、m_jiguan2=stu.jiguan; else this-messagebox(此学号用户不存在!); m_xingming2=; m_mima2=0; m_xuehao2=0; m_dianhua2=0; m_dizhi2=; m_nianbanji2=; m_xingbie2=; m_xueyuan2=; m_zhuanye2=; m_jiguan2=; this-updatedata(false);void xueshengziliao2:onxiugai2() /修改用户资料unsigned long position = null;int findflag=0; this-up
24、datedata(true);struct stu stu;ifstream is(data.txt);while(is.eof()=0)position = is.tellg();is.read(char *)&stu,sizeof(stu); if(stu.xuehao=m_xuehao2) findflag=1;break;is.close();if(findflag=0) this-messagebox(此学号用户不存在!); return; ofstream os(data.txt, ios:ate);os.seekp(position);strcpy(stu.xingming,m_
25、xingming2); stu.mima=m_mima2; stu.xuehao=m_xuehao2; stu.dianhua=m_dianhua2; strcpy(stu.dizhi,m_dizhi2); strcpy(stu.nianbanji,m_nianbanji2); strcpy(stu.xingbie,m_xingbie2); strcpy(stu.xueyuan,m_xueyuan2); strcpy(stu.zhuanye,m_zhuanye2); strcpy(stu.jiguan,m_jiguan2);os.write(char *)&stu,sizeof(stu);os
26、.close(); this-messagebox(修改成功);void xueshengziliao2:onqueren2() /用户注册stu stu,stu1; this-updatedata(true); strcpy(stu.xingming,m_xingming2); stu.mima=m_mima2; stu.xuehao=m_xuehao2; stu.dianhua=m_dianhua2; strcpy(stu.dizhi,m_dizhi2); strcpy(stu.nianbanji,m_nianbanji2); strcpy(stu.xingbie,m_xingbie2);
27、 strcpy(stu.xueyuan,m_xueyuan2); strcpy(stu.zhuanye,m_zhuanye2); strcpy(stu.jiguan,m_jiguan2); ifstream is(data.txt); int i=0; while(is.eof()=0)is.read(char *)&stu1,sizeof(stu1);if(stu1.xuehao=m_xuehao2) i=1; this-messagebox(此学号用户已登记!);break; is.close(); if(i=0) ofstream os(data.txt,ios:app); os.wri
28、te(char *)&stu,sizeof(stu); os.close(); messagebox(此学号用户注册成功!); void xueshengziliao2:onshanchu2() /删除用户资料unsigned long position = null;struct stu stu;int findflag=0; this-updatedata(true); ifstream is(data.txt);while(is.eof()=0)position = is.tellg();is.read(char *)&stu,sizeof(stu); if(stu.xuehao=m_x
29、uehao2) findflag=1;break;is.close();if(findflag=0) this-messagebox(此学号用户不存在,删除失败!); return; ofstream os(data.txt, ios:ate);os.seekp(position); strcpy(stu.xingming,); stu.mima=0; stu.xuehao=0; stu.dianhua=0; strcpy(stu.dizhi,); strcpy(stu.nianbanji,); strcpy(stu.xingbie,); strcpy(stu.xueyuan,); strcp
30、y(stu.zhuanye,); strcpy(stu.jiguan,);os.write(char *)&stu,sizeof(stu);os.close(); m_xingming2=; m_mima2=0; m_xuehao2=0; m_dianhua2=0; m_dizhi2=; m_nianbanji2=; m_xingbie2=; m_xueyuan2=; m_zhuanye2=; m_jiguan2=; this-messagebox(删除成功);this-updatedata(false);void xueshengziliao2:onshezhichengji2() /判断学
31、生资料存在与否和跳到学生资料窗口chengji2 a;a.domodal();3.3 学生成绩设置及代码设计/ chengji2.cpp : implementation file#include stdafx.h#include 学生信息管理系统.h#include chengji2.h#include fstream.h#include fen.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endifchengji2:chengji2(cwnd* pparent ): c
32、dialog(chengji2:idd, pparent)m_c1 = 0.0f;m_changweifen1 = 0.0f;m_makesiyuanli1 = 0.0f;m_pingjunfen1 = 0.0f;m_shufen1 = 0.0f;m_tiyu1 = 0.0f;m_wuli1 = 0.0f;m_wulishiyan1 = 0.0f;m_yingyu1 = 0.0f;m_zongfen1 = 0.0f;m_paiming1 = 0.0f;m_xuehao1 = 0.0f;void chengji2:dodataexchange(cdataexchange* pdx)cdialog
33、:dodataexchange(pdx);ddx_text(pdx, idd_c1, m_c1);ddx_text(pdx, idd_changweifen1, m_changweifen1);ddx_text(pdx, idd_makesiyuanli1, m_makesiyuanli1);ddx_text(pdx, idd_pingjunfen1, m_pingjunfen1);ddx_text(pdx, idd_shufen1, m_shufen1);ddx_text(pdx, idd_tiyu1, m_tiyu1);ddx_text(pdx, idd_wuli1, m_wuli1);d
34、dx_text(pdx, idd_wulishiyan1, m_wulishiyan1);ddx_text(pdx, idd_yingyu1, m_yingyu1);ddx_text(pdx, idd_zongfen1, m_zongfen1);ddx_text(pdx, idc_paiming11, m_paiming1);ddx_text(pdx, idc_xuehao21, m_xuehao1);begin_message_map(chengji2, cdialog)on_bn_clicked(idc_queren2, onqueren2)on_bn_clicked(idc_fanhui
35、2, onfanhui2)on_bn_clicked(idc_guanbi2, onguanbi2)on_bn_clicked(idc_shanchu2, onshanchu2)on_bn_clicked(idc_xiugai2, onxiugai2)on_bn_clicked(idc_chaxun2, onchaxun2)end_message_map()void chengji2:onqueren2() /登记小学生成绩fen fen,fen1; this-updatedata(true); fen.c=m_c1; fen.changweifen=m_changweifen1; fen.m
36、akesiyuanli=m_makesiyuanli1; fen.shufen=m_shufen1; fen.tiyu=m_tiyu1; fen.wuli=m_wuli1; fen.wulishiyan=m_wulishiyan1; fen.yingyu=m_yingyu1; fen.xuehao=m_xuehao1;fen.sum=m_c1+m_changweifen1+m_makesiyuanli1+m_shufen1+m_tiyu1+m_wuli1+m_wulishiyan1+m_yingyu1; ifstream is(data1.txt); int i=0; while(is.eof
37、()=0)is.read(char *)&fen1,sizeof(fen1); if(fen1.xuehao=m_xuehao1) i=1; this-messagebox(此学号用户成绩已登记!);break; is.close(); if(i=0) ofstream os(data1.txt,ios:app); os.write(char *)&fen,sizeof(fen); os.close(); messagebox(成绩登记成功!); void chengji2:onfanhui2() /关闭窗口this-onok();void chengji2:onguanbi2() this-
38、onok();void chengji2:onshanchu2() /删除成绩数据unsigned long position = null;int findflag=0; this-updatedata(true);struct fen fen; ifstream is(data1.txt);while(is.eof()=0)position = is.tellg();is.read(char *)&fen,sizeof(fen); if(fen.xuehao=m_xuehao1) findflag=1;break;is.close();if(findflag=0) this-message
39、box(此学号用户不存在,删除失败!); return; ofstream os(data1.txt, ios:ate);os.seekp(position);fen.c=0; fen.changweifen=0; fen.makesiyuanli=0; fen.shufen=0; fen.tiyu=0; fen.wuli=0; fen.wulishiyan=0; fen.yingyu=0; fen.xuehao=0; fen.sum=0;os.write(char *)&fen,sizeof(fen);os.close(); m_c1=0; m_changweifen1=0; m_makes
40、iyuanli1=0; m_shufen1=0; m_tiyu1=0; m_wuli1=0; m_wulishiyan1=0; m_yingyu1=0; m_xuehao1=0; m_zongfen1=0; m_pingjunfen1=0; m_paiming1=0; this-updatedata(false); this-messagebox(删除成功);void chengji2:onxiugai2() /修改用户数据unsigned long position = null;int findflag=0; this-updatedata(true);struct fen fen; if
41、stream is(data1.txt);while(is.eof()=0)position = is.tellg();is.read(char *)&fen,sizeof(fen); if(fen.xuehao=m_xuehao1) findflag=1;break; is.close();if(findflag=0) this-messagebox(此学号用户不存在!); return; ofstream os(data1.txt, ios:ate);os.seekp(position);fen.c=m_c1; fen.changweifen=m_changweifen1; fen.mak
42、esiyuanli=m_makesiyuanli1; fen.shufen=m_shufen1; fen.tiyu=m_tiyu1; fen.wuli=m_wuli1; fen.wulishiyan=m_wulishiyan1; fen.yingyu=m_yingyu1; fen.xuehao=m_xuehao1;fen.sum=m_c1+m_changweifen1+m_makesiyuanli1+m_shufen1+m_tiyu1+m_wuli1+m_wulishiyan1+m_yingyu1;os.write(char *)&fen,sizeof(fen);os.close(); this-messagebox(修改成功);void chengji2:onchaxun2() /实现查询功能int findflag=0; this-updatedata(true);struct fen fen; ifstream is(data1.txt);while(is.eof()=0)is.read(char *)&fen,sizeof(fen); if(fen.xuehao=m_xuehao1) findflag=1;break; is.close(); if(findflag=1) /this-messa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版道路建设项目投资合作协议3篇
- 2025版智能锁具五金配件销售合同范本3篇
- 二零二五版水陆联运货物运输赔偿协议书3篇
- 二零二五年度家庭清洁与护理服务合同标准范本3篇
- 二零二五年度个人专利权质押连带担保协议样本4篇
- 二零二五年度海洋生物资源开发与保护合作协议4篇
- 安全专项整治工作汇报
- 二零二五年度全国销售业务合同范本(电子版)
- 二零二五年度个人房屋建设合同附件清单合同模板
- 二零二五版水井施工安全教育与培训合同3篇
- 体检科运营可行性报告
- 青光眼术后护理课件
- 设立工程公司组建方案
- 设立项目管理公司组建方案
- 《物理因子治疗技术》期末考试复习题库(含答案)
- 退款协议书范本(通用版)docx
- 薪酬战略与实践
- 焊锡膏技术培训教材
- 江苏省泰州市姜堰区2023年七年级下学期数学期末复习试卷【含答案】
- 答案之书(解答之书)-电子版精选答案
- 中国古代文学史 马工程课件(上)01总绪论
评论
0/150
提交评论