




免费预览已结束,剩余21页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实习报告学生信息管理系统学生姓名:*学 号:1107112*专业班级:计算机1101指导教师:朱* 李* 2012年7月29摘要学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础。以计算机为基础的信息管理已成为当代学校管理学生的必要手段。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机不仅可以节省许多资源,大大的提高人们的工作效率,而且可以使敏感文档更加安全。为了适应现代社会人们高度强烈的时间观念,学生信息管理系统软件将会为教学办公室带来极大的方便。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。而通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。目录第1章 前言11.1 学生信息管理系统设计目标11.1 学生信息管理系统设计要求11.2 学生信息管理系统设计总体分析2第2章 学生信息管理系统设计的整体分析与设计42.1 学生信息管理系统设计总设计图4 2.2 学生信息管理系统设计模块设计图52.2.1 添加功能设计52.2.2 数据读入功能(包括排序及删除功能)设计62.2.3查询功能设计 6第3章 学生信息管理系统设计主要模块源程序代码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中并返回上一级输入学生基本信息添加学生基本信息添加功能调用OnAddGrade()函数保存到B.TXT中并返回上一级保存到A.TXT中并返回上一级2.2.2数据读入功能(包括排序及删除功能)设计初始化列表控件GraList调用OnDaoruButton()函数从B.TXT中导入数据到列表控件中调用删除函数OnShanchuButton()将鼠标选中的一行的数据删除调用排序函数paixu()将列表控件中数据排序保存到B.TXT中并返回上一级保存到B.TXT中并返回上一级2.2.3查询功能设计查询功能学生基本情况查询学生成绩查询初始化列表控件调用导入函数导入学生基本信息初始化列表控件调用导入函数导入学生基本信息输入学号输入宿舍号调用OnScoreSearch()函数输出该学生的所有成绩信息输入学号调用OnDormroonSearch()函数输出该宿舍所有有记录的学生的基本信息调用OnStuIdSearch()函数输出该学生的基本信息第3章 学生信息管理系统主要源程序代码3.1 添加功能主要源代码3.1.1添加学生基本信息主要源代码3.1.2添加学生成绩信息主要源代码3.2从文件中读入数据主要源代码*void CDaoruDlg:Onshanchubutton() / TODO: Add your control notification handler code hereif(!m_chengjibiao.GetItemCount()/MessageBox(没有记录可以删除,Error,MB_ICONERROR|MB_OKCANCEL);return;int index=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);CString str;CString str2;fstream outfile(b.txt,ios:out);int Count=m_chengjibiao.GetItemCount(); for(int i=Count-1;i=0;i-) for(int j=0;j9;j+) str=m_chengjibiao.GetItemText(i,j)+ ; outfilestr; outfilen; outfile.close();*3.3删除功能主要源代码3.4查询功能主要源代码3.4.1按学生学号查询学生基本信息主要源代码*void CStusearchDlg:Onstuidsearch() / TODO: Add your control notification handler code herUpdateData(TRUE); if (m_stu_id_search.IsEmpty()AfxMessageBox(请填写完整信息);return ;Student student;if (!m_stu_id_search.IsEmpty() CStdioFile File;CString m_FilePath = A.txt;File.Open(m_FilePath,CFile:modeReadWrite);CString FileData;int cout=1;while(File.ReadString(FileData)if (cout!=1)CString strdo=FileData;vector *vect =new vector(); int nend=0; int nbegin=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:iterator iter=vect-begin();CString numb=*(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按宿舍号查询该宿舍所有学生的基本信息主要源代码*void CStusearchDlg:Ondormnumsearch() UpdateData(TRUE); if (m_dorm_num_search.IsEmpty()AfxMessageBox(请填写完整信息);return ;Student student;CString m_FilePath=A.txt;CStdioFile File;File.Open(m_FilePath,CFile:modeReadWrite); CString FileData;int cout=1;while(File.ReadString(FileData)if (cout!=1)CString strdo=FileData;vector *vect =new vector();int nend=0; int nbegin=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:iterator iter=vect-begin();CString Snox=*(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();void CStusearchDlg:onshow()Student student;vector:iterator iter=vectstu-begin();for (;iterend();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学生成绩信息查询主要源代码*void CGradesearchDlg:OnSearchScore() UpdateData(TRUE);Course course;if(m_stu_ID.IsEmpty()AfxMessageBox(请填写完整信息!);return;if (!m_stu_ID.IsEmpty()CString m_FilePath=B.txt;CStdioFile File;File.Open(m_FilePath,CFile:modeReadWrite); CString FileData;int c=1;while(File.ReadString(FileData)if (c!=1)CString strdo=FileData;vector *vect =new vector(); int a=0; int b=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:iterator iter=vect-begin();CString numbe=*(iter+0);/AfxMessageBox(numbe);if(strcmp(numbe,m_stu_ID)=0)course.Sno=*(iter+0);course.Cno=*(iter+1);course.Cname=*(iter+2);course.Cscore=*(iter+3);course.Cscore_nor=*(iter+4);course.Cscore_exp=*(iter+5);cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出行前安全培训课件
- 曲沃辅警考试题库2025(有答案)
- 2025年4月15日全民国家安全教育日知识竞赛题【附全部答案】
- 云南省文山壮族苗族自治州2024-2025学年八年级下学期期末历史试题(含答案)
- 2025婚礼服务合同书
- 出口食品备案课件
- 新高考政策效果评估-洞察及研究
- 2025年租赁住房管理协议与计划生育服务合同制度
- 2025年企业产权制度改革下的企业股权转让合同
- 2025担保法实施前合同法下的房屋抵押合同未登记的效力问题
- 2025年成人高考政治试题及答案
- 2025上海市食品药品包装材料测试所公开招聘笔试参考题库附答案解析
- Unit 1 What's he like Part B Read and write英语教学课件
- 湘少版(三起)(2024)三年级上册英语全册教案
- 小屁孩日记阅读课件
- 医务人员职业道德准则(2025年版)全文培训课件
- 2025年新生儿误吸(呛奶)应急预案演练脚本
- 2025年职业指导师中级专业能力试卷:就业指导实务操作技能
- 产业园区建设汇报
- 保健公司客户服务流程规定
- 2025 整形外科面部痤疮瘢痕修复外科查房课件
评论
0/150
提交评论