版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实习报告——学生信息管理系统学生姓名:**学号:1107112*专业班级:计算机1101指导教师:朱**李**2012年7月29摘要学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础。以计算机为基础的信息管理已成为当代学校管理学生的必要手段。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机不仅可以节省许多资源,大大的提高人们的工作效率,而且可以使敏感文档更加安全。为了适应现代社会人们高度强烈的时间观念,学生信息管理系统软件将会为教学办公室带来极大的方便。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。而通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。目录前言··········································································································································································11.1学生信息管理系统设计目标····································································11.1学生信息管理系统设计要求····································································11.2学生信息管理系统设计总体分析············································································2第2章学生信息管理系统设计的整体分析与设计······························································42.1学生信息管理系统设计总设计图······································································42.2学生信息管理系统设计模块设计图········································································52.2.1添加功能设计······································································52.2.2·数据读入功能(包括排序及删除功能)设计···················································62.2.3查询功能设计·······································································6学生信息管理系统设计主要模块源程序代码·······························································63.1添加功能主要源代码····························································3.1.1添加学生学生基本信息主要源代码·····································73.1.2添加学生成绩信息主要源代码············································73.2从文件中读入数据主要源代码················································73.3删除功能主要源代码·············································73.4查询功能主要源代码······························································83.4.1按学生学号查询学生基本信息主要源代码3.4.2按宿舍号查询该宿舍所有学生基本信息主要源代码3.4.3学生成绩信息查询主要源代码3.5排序功能主要源代码第4章学生信息管理系统设计测试数据及结果分析 4.1第5章总结·············································································195.1所作的工作·······································································195.2存在的问题及今后的工作·················································20参考文献··············································································································第1章前言1.1学生信息管理系统设计目标以学生信息管理系统为例,通过对简单应用软件系统的设计,编制、调试,实现简单的增加、删除、排序等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。初步掌握基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。1.2学生信息管理系统设计要求使用下面的数据,用VC设计一个简单的学籍管理系统,实现出最基本的功能。学生基本信息存储在文件(A.TXT)中,A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成学生成绩基本信息存储在文件(B.TXT)中基本功能要求:增加功能:设计界面,在系统中能分别录入学生信息和成绩信息,并分别存储到A.txt和B.txt文件中。数据读入功能:对B.TXT进行数据读入,包括每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。综合成绩、学分由程序根据条件自动运算。实得学分的计算:采用等级学分制。查询功能:分为学生基本情况查询和成绩查询两种A:学生基本情况查询:输入一个学号,查出此生的基本信息并显示输出;或者输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。成绩查询:输入一个学号时,查询出此生的所有课程情况。删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。扩展功能:排序功能:实现选择按综合成绩或实得学分升序或降序排序并显示数据。导出功能:把系统中的学生信息、成绩信息全部或根据用户条件进行部分导出,导出到Word或Excel中。1.3学生信息管理系统设计总体分析设计一个基于MFC对话框的C++应用程序开发,因此要创建一个主对话框,和一些必要的子对话框。在主对话框中添加列表控件用来显示学生的基本信息,并且列表控件有较强的数据处理函数。因此选择列表控件。对于学生信息的录入,查询,排序,删除与修改都用按钮控件,并为每个按钮添加消息响应函数用来处理学生的信息操作。对于录入功能,可以为它设置一个子对话框来填写学生基本信息。接下来就是要把学生的基本信息能够保存下来,因此要用到文件的操作。综上所述,必须先掌握按钮控件,列表控件,新对话框的构建,编辑控件和消息的响应与处理原理!
第2章学生信息管理系统的整体设计2.1学生信息管理系统设计总设计图添加功能数据读入功能学生信息管理系统添加功能数据读入功能学生信息管理系统排序功能查询功能排序功能查询功能删除功能删除功能2.2学生信息管理系统设计模块设计图2.2.1添加功能设计输入学生成绩信息添加学生成绩信息调用OnAddStu()函数添加功能添加学生基本信息输入学生基本信息调用OnAddStu()函数保存到A.TXT中并返回上一级输入学生基本信息添加学生基本信息输入学生成绩信息添加学生成绩信息调用OnAddStu()函数添加功能添加学生基本信息输入学生基本信息调用OnAddStu()函数保存到A.TXT中并返回上一级输入学生基本信息添加学生基本信息添加功能添加功能调用OnAddGrade()函数调用OnAddGrade()函数保存到B.TXT中并返回上一级保存到B.TXT中并返回上一级保存到A.TXT中并返回上一级保存到A.TXT中并返回上一级2.2.2数据读入功能(包括排序及删除功能)设计初始化列表控件GraList初始化列表控件GraList 调用OnDaoruButton()函数调用OnDaoruButton()函数从B.TXT中导入数据到列表控件中调用删除函数OnShanchuButton()调用删除函数OnShanchuButton()将鼠标选中的一行的数据删除调用排序函数paixu()将列表控件中数据排序保存到B.TXT中并返回上一级保存到B.TXT中并返回上一级保存到B.TXT中并返回上一级保存到B.TXT中并返回上一级2.2.3查询功能设计查询功能查询功能学生基本情况查询学生成绩查询学生基本情况查询学生成绩查询初始化列表控件调用导入函数初始化列表控件调用导入函数导入学生基本信息初始化列表控件调用导入函数导入学生基本信息输入学号输入学号输入宿舍号输入宿舍号调用OnScoreSearch()函数输出该学生的所有成绩信息调用OnScoreSearch()函数输出该学生的所有成绩信息输入学号调用OnDormroonSearch()函数输出该宿舍所有有记录的学生的基本信息调用OnDormroonSearch()函数输出该宿舍所有有记录的学生的基本信息调用OnStuIdSearch()函数调用OnStuIdSearch()函数输出该学生的基本信息学生信息管理系统主要源程序代码3.1添加功能主要源代码3.1.1添加学生基本信息主要源代码3.1.2添加学生成绩信息主要源代码3.2从文件中读入数据主要源代码***************************************************voidCDaoruDlg::Onshanchubutton(){ //TODO:Addyourcontrolnotificationhandlercodehere if(!m_chengjibiao.GetItemCount()) { // MessageBox("没有记录可以删除","Error",MB_ICONERROR|MB_OKCANCEL); return; } intindex=0; index=this->m_chengjibiao.GetNextItem(-1,LVNI_SELECTED); if(index==-1) { this->MessageBox("未选择要删除学生的学号!"); return; } index=0; index=m_chengjibiao.GetNextItem(0,LVNI_SELECTED); if(-1==index) { if(MessageBox("没有记录可以删除!","Error",MB_ICONERROR|MB_OKCANCEL)) {m_chengjibiao.DeleteItem(0); } } else {if(IDOK==MessageBox("确定删除?","Information",MB_OKCANCEL)) { m_chengjibiao.DeleteItem(index); } } CStringstr; CStringstr2; fstreamoutfile("b.txt",ios::out); intCount=m_chengjibiao.GetItemCount(); for(inti=Count-1;i>=0;i--) { for(intj=0;j<9;j++) { str=m_chengjibiao.GetItemText(i,j)+""; outfile<<str; } outfile<<"\n"; } outfile.close();}***************************************************3.3删除功能主要源代码3.4查询功能主要源代码3.4.1按学生学号查询学生基本信息主要源代码***************************************************voidCStusearchDlg::Onstuidsearch(){ //TODO:Addyourcontrolnotificationhandlercodeher UpdateData(TRUE); if(m_stu_id_search.IsEmpty()) { AfxMessageBox("请填写完整信息"); return; } Studentstudent; if(!m_stu_id_search.IsEmpty()) { CStdioFileFile; CStringm_FilePath="A.txt"; File.Open(m_FilePath,CFile::modeReadWrite); CStringFileData; intcout=1; while(File.ReadString(FileData)) { if(cout!=1) { CStringstrdo=FileData; vector<CString>*vect=newvector<CString>(); intnend=0; intnbegin=0; while(nend!=-1) { nend=strdo.Find("",nbegin); if(nend==-1) vect->push_back(strdo.Mid(nbegin,strdo.GetLength()-nbegin)); else vect->push_back(strdo.Mid(nbegin,nend-nbegin)); nbegin=nend+1; } vector<CString>::iteratoriter=vect->begin(); CStringnumb=*(iter+0); if(strcmp(numb,m_stu_id_search)==0) { student.num=*(iter+0); =*(iter+1); student.sex=*(iter+2); student.dorm=*(iter+3); student.phone=*(iter+4); } } cout++; } } if(student.num==""){ AfxMessageBox("未找到此学生!"); return;}m_stusearch.DeleteAllItems();m_stusearch.InsertItem(0,student.num);m_stusearch.SetItemText(0,1,);m_stusearch.SetItemText(0,2,student.sex);m_stusearch.SetItemText(0,3,student.dorm);m_stusearch.SetItemText(0,4,student.phone);}***************************************************3.4.2按宿舍号查询该宿舍所有学生的基本信息主要源代码***************************************************voidCStusearchDlg::Ondormnumsearch(){ UpdateData(TRUE); if(m_dorm_num_search.IsEmpty()) { AfxMessageBox("请填写完整信息"); return; } Studentstudent; CStringm_FilePath="A.txt"; CStdioFileFile; File.Open(m_FilePath,CFile::modeReadWrite); CStringFileData; intcout=1; while(File.ReadString(FileData)) { if(cout!=1) { CStringstrdo=FileData; vector<CString>*vect=newvector<CString>(); intnend=0; intnbegin=0; while(nend!=-1) { nend=strdo.Find("",nbegin); if(nend==-1) vect->push_back(strdo.Mid(nbegin,strdo.GetLength()-nbegin)); else vect->push_back(strdo.Mid(nbegin,nend-nbegin)); nbegin=nend+1; } vector<CString>::iteratoriter=vect->begin(); CStringSnox=*(iter+3); Snox=Snox.Right(Snox.GetLength()-5); if(strcmp(Snox,m_dorm_num_search)==0) { student.num=*(iter+0); =*(iter+1); student.sex=*(iter+2); student.dorm=*(iter+3); student.phone=*(iter+4); vectstu->push_back(student); } } cout++; } m_stusearch.DeleteAllItems(); onshow();}voidCStusearchDlg::onshow(){ Studentstudent; vector<Student>::iteratoriter=vectstu->begin(); for(;iter<vectstu->end();iter++) { student=*iter; if(strcmp(student.num,"")==0) { AfxMessageBox("未找到此宿舍!"); return; }//AfxMessageBox(student.dorm) m_stusearch.InsertItem(0,student.num); m_stusearch.SetItemText(0,1,); m_stusearch.SetItemText(0,2,student.sex); m_stusearch.SetItemText(0,3,student.dorm); m_stusearch.SetItemText(0,4,student.phone); }}***************************************************3.4.3学生成绩信息查询主要源代码***************************************************voidCGradesearchDlg::OnSearchScore(){ UpdateData(TRUE); Coursecourse; if(m_stu_ID.IsEmpty()) { AfxMessageBox("请填写完整信息!"); return; } if(!m_stu_ID.IsEmpty()) { CStringm_FilePath="B.txt"; CStdioFileFile; File.Open(m_FilePath,CFile::modeReadWrite); CStringFileData; intc=1; while(File.ReadString(FileData)) { if(c!=1) { CStringstrdo=FileData; vector<CString>*vect=newvector<CString>(); inta=0;intb=0; while(a!=-1) { a=strdo.Find("",b); if(a==-1) vect->push_back(strdo.Mid(b,strdo.GetLength()-b)); else vect->push_back(strdo.Mid(b,a-b)); b=a+1; } vector<CString>::iteratoriter=vect->begin(); CStringnumbe=*(iter+0); //AfxMessageBox(numbe); if(strcmp(numbe,m_stu_ID)==0) { course.Sno=*(iter+0); course.Cno=*(iter+1); course.Cname=*(iter+2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某建筑公司施工现场安全管理规范
- 2026年新媒体运维管理考核试题题库及答案
- 药品经营从业人员准则
- 2026年广州市天河区网格员招聘笔试备考试题及答案解析
- 第16课 有趣的符号一标点符号的输入教学设计-2025-2026学年小学信息技术(信息科技)第一册粤教版(李师贤主编)
- 人教部编版八年级下册第三单元 中国特色社会主义道路第7课 伟大的历史转折教案
- 第十一课 我不是故意的教学设计小学心理健康一年级鄂科版
- 实体完整性教学设计中职专业课-MySQL数据库-计算机类-电子与信息大类
- 青岛版科学四年级下册第三单元《太阳、地球、月球》教学设计
- 第8课时 篮球传切配合 教学设计 -八年级体育与健康
- 急诊科建设与管理指南(2025年版)
- 2026年抖音电商运营爆款选品数据化决策调研
- 正畸科护理感染控制
- 鸽子的课件教学课件
- 糖尿病足中药泡脚方课件
- (新教材)2026年人教版一年级下册数学 欢乐购物街 第1课时 认识人民币 课件
- 2025广东广州市白云区人民政府松洲街道办事处招聘项目工作人员6人备考题库(第二次)及答案详解(历年真题)
- 脑室外引流液压监测管理规范解读(2025版)课件
- 毕业论文的数据统计表
- 基于磁致伸缩超声导波的无损检测系统:原理、构建与应用
- 2025~2026学年江苏省连云港市苏教版二年级上学期期中测试数学试题【含解析】
评论
0/150
提交评论