学生信息管理 课设报告Word文档下载推荐.docx
- 文档编号:19463130
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:19
- 大小:227.01KB
学生信息管理 课设报告Word文档下载推荐.docx
《学生信息管理 课设报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生信息管理 课设报告Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
5.2过程分析19
5.3经验教训及其分析20
0引言
(介绍你所做任务的背景和意义,别人看到了这部分,有兴趣读下去是这部分写的成功的标志。
)
现在的管理机构都比较好,都基于一套比较完整好的管理软件,比较实用。
一个好信息管理系统可以有效的管理成员的一切。
如今,比较人多的公司或组织都需要一个信息管理系统来有效的管理成员信息。
现在任何机构都要有信息管理系统来为成员评选,奖励了。
领导可掌握成员的业绩,优异等。
由于本学期对windows编程和MFC编程的总结与应用,为了自己也能搞个实用性小程序,且熟练掌握编程的方法,体现一下编程能力,编写一个学生信息管理的程序,一个简单的学生信息的管理的展示。
也很好的体会一下信息管理系统的特点,好处。
1工作计划
1.1主要工作阶段划分
(用表格或图表的形式列出你们小组各个阶段的时间进度大致安排)
星期1
查询整理资料阶段
星期2--4
设计框架并功能实现阶段
星期5
测试阶段
星期6,7
写报告阶段
1.2工作任务分工
阶段名称
任务名称
任务描述
负责人
查询,整理资料阶段
搜寻资料
在网上和图书馆查询和搜索相关资料,大致分析概况,大致设计框架
马孝孝
设计框架,实现功能
考虑所用到的数据的如何存取,函数及其作用,做较为细致的分析,创建程序框架及窗口,设置控件功能实现
测试
运行调试,完善残缺的功能和部分
写报告阶段
调试完善
整理程序并指出得与失,详细叙述
2需求分析
2.1概述
(简要介绍所做任务的内容,内容应该介绍的具体、明确、可跟踪可检查)
这是一个简单的学生信息的管理的程序,定义了一个Student结构体,学生信息内容放在结构体中。
信息包含姓名,班级,性别,物理,英语,高数成绩。
信息数据先放在结构体数组中,在从数组中把数据写入文本。
当列表框中无数据时,只有添加按钮可用,其他按钮不可用。
该程序有添加按钮,可以添加学生信息,当点击添加,会弹出一系列的三个对话框进行信息添加。
对信息的删除,在列表框选中成员时,点击删除,会删除该成员的一切信息。
还可以修改信息,当在列表框选中成员时,会显示该成员的详细信息,在个信息框改写数据,再点击修改,会修改该成员的信息。
该程序基于对话框的,数据在文本中存取。
重点在与对话框的各种使用和列表框的使用。
2.2用户分析
(如果你是软件的一个用户,你会对软件有什么要求;
如果你的软件涉及的用户有多个层次,他们会有什么要求。
请站在用户的角度展开对你软件的需求陈述。
1)要求有稳定的性能,可实现添加,删除,修改的功能;
2)拥有较好且简洁,清晰明了的界面,很方便人操作!
3)可以随意的浏览成员的信息且信息比较全面。
2.3约束条件
(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束;
另外站在用户的角度,他们对你有什么约束要求,请从这两个角度进行陈述。
作为开发人员,由于对时间不够,设置的界面和功能比较简单,且对MFC的了解的不够,不能开发出功能全面的信息管理系统;
在用户的角度,希望有功能完善且界面漂亮,信息更加完善,但时间不够,只能完成实现基本的功能和,可视的界面。
2.4功能需求
(你的软件有什么功能,给出必要的陈述)
1.显示功能。
在列表框中显示已有的学生,当选中列表框中的一个学生时,学生详细信息区会显示详细的学生信息。
2.添加功能。
需要添加成员时,点击添加,弹出3个对话框进行信息的写入,当没写入数据时,提示写入信息。
3.修改功能。
在列表框中选中学生成员时,在信息框中写入数据,点击修改,进行修改。
4.删除功能。
在列表框中选中学生成员时,点击删除进行删除。
5.退出功能。
退出程序。
2.5用户界面需求
(用户往往对界面有他们的需求认可,请站在用户的角度提出相应的需求,并用示意图结合文字的方式进行表达)
添加信息
删除信息
在列表框中中显示已有的学生的姓名,当选中列表框的一个学生时,在详细区域会显示该学生详细的信息;
当点击添加时,弹出进入添加的窗口,下一步进行添加信息;
点击删除,会删除一个信息等。
3设计与实现
3.1概述
(请简要介绍你的设计思想,给人以总体印象,使人产生兴趣读下去……)
注意:
3.2、3.3两部分的内容是整个文档的核心部分,应该分小节重点进行介绍。
特别是所抽象出的类、函数的设计以及理由
基于MFC,应用对话框构成相应的界面,用文本来存取数据。
控件相应的功能-----录入学生的信息;
在列表框显示出详细个人姓;
详细区域显示详细信息;
当出现个人详细信息时,在信息框中可以修改信息;
删除信息的控件功能;
在就当运行结束时,退出程序。
3.2详细设计
3.1.1类的抽象及设计
(要注意和需求的呼应,即所有需求功能都应体现在功能设计当中。
当然,你的设计更应体现对需求的一种抽象。
该程序的数据存取在文本中,有MFC中的Cfile的对象file和成员函数来进行。
在头文件TXLDlg.h添加一个Student结构体,用来做记录与编辑框之间数据交换的中间变量。
在添加信息时,插入3个属性页,对应着添加了CProp1,CProp2,CProp3三个类。
为了使用和显示属性页显示,添加了CSheet,属性表单类。
3.1.2表结构设计(涉及到数据库的题目需要完成该部分内容)
3.3主要程序文件
(这部分应该介绍你们的主要类、程序文件以及主要功能的对应关系,介绍类中的主要属性和方法,总之,如果你让小组以外的人看了文件可以进行维护就是写这部分的主要目标要求)
1.为了在组合框增加性别的信息,响应消息WM_INTDIALOG,在Cprop1中函数:
OnInitDialog()增加代码。
在对话框显示之前,将对组合框进行初始化。
在组合框增加性别信息,调用GetDlgItem()获取组合框的指针,由于返回的Cwd类型,进行类型转换CComboBox型,在调用SetCurSel(),获得当前的索引,对组合框进行初始化。
2.为了属性页有上下步等按钮,在三个属性页中设置属性表单按钮,分别在Cprop1,Cprop2,Cprop3类中增加虚函数OnSetActive()响应。
在OnSetActive()调用属性表单的成员函数SetWizardButtons(),为了调用SetWizardButtons(),必须先获取属性表单的指针,由于属性表单是属性页的父窗口,所以调用GetParent()获取属性表单的指针。
由于获取指针是Cwd类型,进行强制转换成CPropertySheet型。
通过SetWizardButtons()中的参数,对不同的属性页prop1,prop2,prop3设置不同的按钮。
在属性页1,下一步按钮,上一步不可用;
在属性页2,设置上下步按钮;
在属性页3设置,完成和上一步按钮。
3.要求在选择响应的页面时,点击下一步按钮的响应,在Cprop1,Cprop2,Cprop3类中添加虚函数OnWizardNext()。
当点击下一步时,UpdateData()被调用,将控件显示的数据传给成员变量。
在不同属性页用if语句判段,该页变量的信息是否为空。
当写入为空,会弹出请“写入相应得信息”,最后返回一个值-1.,这里为了避免进入下一个页面OnWizardNext()的返回值-1。
OnWizardNext()在选择页面时点击下一步作出判断。
4.添加学生信息,在OnAdd()中响应。
当需要添加信息时,点击添加按钮,会弹出”欢迎进入填加信息!
”。
在OnAdd()中构造一个属性表单的对象sheet,在调用它的成员函数SetWizardMode(),建立一个向导,用if判断对象sheet调用DoModal()显示一个模态的属性表单与ID_WIZFINISH等。
如果相等,对变量进行赋值。
在不同的属性页有不同的变量,由于信息的字符类型,调用strcpy()进行三个属性页的变量赋值。
用列表框的变量m_list.调用他的成员函数.AddString(),将学生的姓名添加加入列表框。
为了把数据保存在文本中创建一个Cfile类的对象file并进行初始化文件名和打开方式,调用file的成员函数SeekToEnd()把文件的指针放在文件的结尾处,在调用file的函数write()将数据存入文本。
再调用close()关闭文件。
添加信息时,调用GetDlgItem获取按钮的指针,在调用EnableWindow()使得按钮不可用。
所以在添加信息时,修改和删除按钮不可用。
5.当在列表框中选中成员时,在学生详细信息那块会显示详细内容,要调用OnSelchangeList1()。
要显示内容,必须从文件中读取。
CFile类创建对象file并初始化文件名和读写的方式打开,CFilefile("
student.txt"
CFile:
:
modeReadWrite);
)。
再定义一个变量sel存放获取的索引,用列表框的变量m_list调用成员函数GetCurSel()获取当前的索引。
用file.调用Seek(()函数从文件的开始查找,移动文件的指针,根据索引找到以后,用file的函数Read()从文本中读取数据。
在调用file的函数close()关闭文件。
定义一个student结构体变量pi,把读取的数据赋给pi,,并调用UpdateData(FALSE)函数,以把变量赋以控件,在显示详细信息
6.修改时用OnUpdate()函数。
要修改必在显示内容,才能修改,先必须从文件中读取。
用file.调用Seek(()函数从文件的开始查找,移动文件的指针,根据索引找到以后,读取数据在详细区显示出。
定义一个student结构体变量pi,在调用UpdateData()函数,从控件读取数据,调用strcpy(),将结构体的内容付给控件变量。
在用列表框的变量m_list调用成员函数DeleteString删除列表框当前的字符,在调用m_list调用成员函数InsertString()在列表框中插入新的字符,在调用m_list调用成员函数SetCurSel();
设置当前索引值。
在file调用.Write()将信息保存在文件中,再调用close()关闭文件。
7.删除个人信息,OnDel()函数。
当要删除时弹出”是否要删除”的消息。
用if语句判断是否进行删除。
当要删除时,先定义一个变量sel存放获取的索引,用列表框的变量m_list调用成员函数GetCurSel()。
获取当前在列表框中成员的索引,也就是选中的学生姓名的索引。
CFile类创建对象file并初始化文件名和读写的方式打开,用for循环i的初始为获取的索引值sel,调用m_list函数GetCount()获取列表的个数,进行循环用i<
m_list.GetCount()-1判断。
在for中定义一个结构体变量pi,并用file调用成员函数Seek()移动指针,寻找当前索引,Read()读取当前文件中的内容,write()将数据写入文件。
当找到后读取,file调用他的成员函数Flush(),清除该学生所有的数据,在调用SetLength()设置文件长度文件减一。
列表框变量m_list.调用DeleteString()删除列表框当前学生的姓名。
再将所有的变量设为空,详细区域,初始化为空。
用if语句判断m_list.GetCount()是否为0,也就是列表框是否有数据。
如果列表框中无数据时,调用GetDlgItem()获取按钮的指针,在调用EnableWindow()使按钮可用。
设置修改和删除按钮可用。
8.退出函数,OnOK(),调用系统退出函数,退出学会信息系统
3.4开发环境以及部署环境要求
开发环境VC++6.0
3.5主要源码
与3.3—3.4节相呼应,列出实现关键功能的源码。
不需要列出整段函数的代码,仅把实现主要功能的代码列出来
voidCTXLDlg:
OnAdd()//添加
{
//TODO:
Addyourcontrolnotificationhandlercodehere
MessageBox("
欢迎进入填加信息!
"
);
CSheetsheet("
添加个人信息"
sheet.SetWizardMode();
//创建向导
if(ID_WIZFINISH==sheet.DoModal())//DOMODAL建立属性表单
{
Studentpi;
strcpy(pi.szName,sheet.m_prop1.m_strname);
//第一个属性页给变量赋值
pi.nSex=sheet.m_prop1.m_nSex;
strcpy(pi.sznumber,sheet.m_prop2.m_strnumber);
//第二个属性页给变量赋值
strcpy(pi.szenglish,sheet.m_prop2.m_strenglish);
strcpy(pi.szmath,sheet.m_prop3.m_strmath);
//第三个属性页给变量赋值
strcpy(pi.szwuli,sheet.m_prop3.m_strwuli);
m_list.AddString(pi.szName);
//再列表框中填加学生姓名
CFilefile("
modeCreate|CFile:
modeNoTruncate|CFile:
file.SeekToEnd();
//移动文件指针
file.Write(&
pi,sizeof(Student));
//写入文件
GetDlgItem(IDC_UPDATE)->
EnableWindow();
//设置修改控件不可用
GetDlgItem(IDC_DEL)->
//设置删除控件不可用
file.Close();
}
}
OnSelchangeList1()
CFilefile("
intsel=m_list.GetCurSel();
//获得当前列表项的索引
file.Seek((LONG)sel*sizeof(Student),CFile:
begin);
file.Read(&
//从文件读取数据
file.Close();
m_strname=pi.szName;
//变量赋值,在编辑框中显示数据
m_nSex=pi.nSex;
m_strnumber=pi.sznumber;
m_strenglish=pi.szenglish;
m_strmath=pi.szmath;
m_strwuli=pi.szwuli;
UpdateData(FALSE);
OnUpdate()//修改
//创建一个CFile类的对象,赋于以读写的方式打开文件
//获取当前列表框项的索引
UpdateData();
strcpy(pi.szName,m_strname);
//以下对变量进行赋值
pi.nSex=m_nSex;
strcpy(pi.sznumber,m_strnumber);
strcpy(pi.szenglish,m_strenglish);
的
strcpy(pi.szmath,m_strmath);
strcpy(pi.szwuli,m_strwuli);
m_list.DeleteString(sel);
//删除列表框当前的字符
m_list.InsertString(sel,m_strname);
//列表框中插入新的字符
m_list.SetCurSel(sel);
//设置当前索引值
file.Write(&
//将数据写入文件
OnDel()//删除
if(MessageBox("
确定删除?
"
提示"
MB_OKCANCEL)==IDCANCEL)//弹出消息框是否确定删除
return;
//从文件中读取
for(inti=sel;
i<
m_list.GetCount()-1;
i++)//搜索当前信息
Studentpi;
file.Seek((LONG)(i+1)*sizeof(Student),CFile:
file.Read(&
//从文件读取
file.Seek((LONG)i*sizeof(Student),CFile:
//从文件写入信息
file.Flush();
//清出当前的所有数据
file.SetLength((LONG)(m_list.GetCount()-1)*sizeof(Student));
//重新设置文件长度
//在列表框中删除该字符
m_strenglish=m_strname=m_strnumber=m_strmath=m_strwuli="
;
//变量赋值为空
m_nSex=0;
if(m_list.GetCount()==0)//判断当前列表框的数据个数
EnableWindow(FALSE);
}
OnOK()//退出函数
Addextravalidationhere
确定退出?
//弹出消息框,是否退出
CDialog:
OnOK();
4测试
4.1概述
(简要介绍小组进行的测试的主要项目)
1)从文本中是否正常读出
2)点击列表框时,个人你的详细信息是否能够显示。
3.检查功能按钮能否正常工作,功能是否实现;
4.2测试环境
(其所用机器硬件配置、软件配置等内容。
系统:
WindowsXP
处理器:
Intelcorei3
内存:
2.00GB
开发环境:
VC++6.0
4.3测试计划
(主要突出测试的前后逻辑设置)
1)点击列表框,选中一个学生,查看信息的输出情况。
2)检查添加功能
3)检查修改功能
4.4测试项目及结果
(主要测试内容介绍)
1.选中列表框的学生姓名,详细信息区显示
2.添加功能正常
3.修改功能正常
4.删除功能正常
5、工作总结
5.1工作成果
(简述项目中个人工作分配,重点说明本人所做的工作成果)
工作结果还可以,基于对话框,功能简单,有显示,修改,删除等;
为对话框添加3个属性页,在添加信息时,显示属性表单进行具体信息录入。
5.2过程分析
(介绍小组取得相应成果的成功经验和原因)
由于上课的听讲和孙鑫视频的观看,对MFC的编程有一定的掌握,再就是有一个比较好的范例可以参考一下,在编程中加深了MFC的各种控件的掌握。
如何在已有的资源中,新建一个资源(对话框,文档)。
如何创建一个属性表单让属性页在属性表单中显示。
以及各个框的类,按钮的类的定义和操作。
5.3经验教训及其分析
(介绍小组开发过程中的不足以及问题原因所在)
由于知识面不足,编写的程序的界面和功能比较简单。
还有对列表框和组合框的成员函数不太清楚,导致出现些程序运行错误。
有的插入资源,没能好好的给创建一个相应的类,出现连接时错误。
我觉得还是对MFC的各种资源了解得太少了,动手的次数太少,看的比较多,亲自作时老出现错误。
我发现MFC的成员函数太多又不知道那些比较长用,在借鉴别人时,老不对。
在就是,再能名的时候老粗错,不是大写错了,就是小写错了。
有时按自己思路很简单写,但运行自己还是不对,只是自己没很好的应用它已有的函数。
对MFC还是了解不够,有的理解错误,还有待解决。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生信息管理 课设报告 学生 信息管理 报告