C++程序设计综合实践教程MFC开发报告

编辑:阿文时间:2020-06-17 08:55:03
C++程序设计综合实践教程MFC开发报告,大作业开发报告,第七组长黄步新,专题分析与任务划分,这是一个非常实用的软件,他还具有查询和检索功能,功能模块分析林臻宇,如若新建成功。

大作业开发报告

标题:学生信息管理系统开发报告(mfc)

班级:11计算机4班

第七组长:黄步新

组员:徐洲立、王森、林臻裕、陈伟丽

日期:2017年6月15日

1、 专题分析与任务划分

课题分析:本软件是为了方便学生成绩的管理和存储,也可以用来查询和调用学生成绩。这是一个非常实用的软件。

该软件功能齐全。可以分为建立文件、增加学生记录、新建学生信息文件、显示记录、文件存读取文件、删除文件、修改文件、查询文件、对记录进行排序,头文件和测试程序12个功能。同时,他还具有查询和检索功能,可以对指定的文件进行操作,也可以由多个文件组成一个文件。

这样就方便了对教师使用情况的监控,使教师的工作更加快捷高效。

任务划分:软件主要由6个源文件组成,分别是学生源文件。h和学生

cpp ,input_disp.cpp , delete_record.cpp , find_record.

cpp,save_ load.cpp,sort.cpp。

负责情况为:

黄步新:学生。啊,学生.cpp

陈伟利:输入法处理cpp

王森:删除记录.cpp,查找记录.cpp

林臻裕:救你负载.cpp

徐洲立:sort.cpp

2、 功能模块分析()林臻宇

1.“新建班级”按钮用来新建txt文件,以便储存数据。如若新建成功,将在“新建班级”按钮的上方编辑框显示。

2.按钮“打开班级”是用来打开已经建立的文件,并且显示文件内所储存的内容。

3.位于编辑框上方的是“列表控制框”,用来显示文件内所储存的数据信息,“列表控制框”内存有“学号”、“姓名”、“性别”、“班级”、“语文”、“数学”、“英语”、“总分”和“平均分”共9个条目。

4.位于“列表控制框”右侧的“学生信息”是用来输入所要添加修改储存的数据信息。按钮“添加数据”是将"学生信息"栏内所输入的信息添加的“列表控制框”内。

5.按钮“修改数据”是将学生信息栏内的信数据替换在“列表控制框”内选中的数据信息。按钮“删除数据”是将“列表控制框”内选中的数据删除。

6.按钮“保存”是在经过数据添加修改和删除好,将已经确定的数据信息保存入所打开的文件中。

7.“查询”框的作用是输入一定的信息,按照所输入的信息类型去查询选择按“学号”查询、按“姓名”、或者按“学号”和“姓名”查询。查询的三种方式之一。

将数据输入后,点击按钮“确定”进行查询。“排序”框内有按钮“按总分降序”和按钮“按总分升序”。按钮“按总分降序”的作用是将“列表控制框”内的多条数据按照“总分”条目的数据依次减小排列。

按钮“按总分升序”则与按钮“按总分降序”的相反,是将“列表控制框”内的多条数据按照“总分”条目的数据依次增大。

8.位于右下角的按钮“退出”是终止一切操作,关闭对话框,并不会保存数据。

3、 实现技术(陈伟力)

功能模块及其实现所涉及的技术:

功能模块控件1:信息提示框(编辑框);

实现方法:1.更改编辑框属性中的“stytle”选项卡,选择属性为“read-only”。

也就是说,编辑框的内容是只读的,只能用于显示文本。将id更改为idc“编辑”消息

2。使用ddx(会话数据交换)技术访问控件。先对编辑框右键,“建立类向导”,在member variables中选中相应的id号进行add variable(添加变量),并弹出的窗口中输入变量名“m_strmessage”,选择变量类别为“value”,变量类型为“cstring”完成后退出。

3**中可以用“messagebox(“”);”来显示相应的内容。

功能模块控制2:新类(按钮);

实现方法:1.右键属性更改按钮id号为“idc_button_new”caption(标题)为“新建班级”。

2.右键按钮选择“建立类向导”,在message maps中的message下选择“bn_clicked”,然后点击add function 为按钮添加消息响应函数,将member function name改为“onbuttonnew”然后点ok。

3.在class view中的找到“onbuttonnew”,并添加相应的**。(2.3分两步,也可以直接双击按钮添加**)

四。函数:messagebox()函数:在消息提示框中显示相应信息。

domodal函数:显示模式对话框并将执行结果反馈给对话框。

getpathname() 功能:关闭对话框后,返回用户已经输入的文件全名——盘符、目录路径、文件名和文件拓展名。

函数:关闭对话框后,返回用户已输入粉末文件名。

功能:字符串连接。

updatedata功能:更新操作,带一个逻辑值;false和true。例:

更新数据(假)将程序中更改的值更新到控件;updatedata(true)将在控件中输入的值更新为变量。

5.变量声明:在class view中双击“cstudentscoredlg”类添加

private:/表示后面声明的变量是private。只能使用此类的成员函数。

int not saved;//当前信息是否已保存,0:已保存,1:未保存。

cstring m_ustrfilename;//记录包含绝对路径的文件名。

cstring m_ustrfileshortname记录不包含路径的文件名。

功能模块控制3:开放类(按钮);

实现方法:1. 右键属性更改按钮id号为“idc_button_open”caption(标题)为“打开班级”。

2.双击按钮,在弹出的对话框中将member function name改为“onbuttonopen”然后点ok。添加相应**。

三。函数:deleteallitems()函数:删除列表控件框中的所有数据。

自由函数:以二进制模式读取文件。

insertitem函数:读取记录后,将记录中的成员函数数据映射到列表控制框中的相应项。

setitemtext函数;在每行记录的第一列后插入内容。

gcvt函数:将浮点数据转换为字符串。

功能模块控制4:列表控制框

实现方法:1. 右键属性,把选项卡style中view(查看)设定为“report”,按行查看。

2.添加变量:先对列表控制框右键,“建立类向导”,选中相应的id号进行add variable(添加变量),并弹出的窗口中输入变量名“m_list”,选择变量类别为“control”,变量类型为“clistctrl”完成后退出。

3.初始列表控制框:在class view中找到studentscoredlg中的oninitdialog,并双击添加函数。

4.为实现修改数据,在列表控制框的“建立类向导”中选中“id_list1”,再在“message”一栏中选“nm_click”事件。然后点“add function”,在弹出的对话框中直接点ok,接受默认的消息响应函数名,然添加**。

四。涉及函数:setextendedstyle函数:设置报表的扩展样式。

insertcolummn() 功能:把个标题栏插入到表头中。

函数:获取指定窗口的数据。

函数:设置报表列的宽度。

getfirstselecteditemposition() 功能:在列表控制框中获得第一个选择项位置,并返回一个用于迭代或获取对象执政的position值;如果未选择任何项,则返回null。

函数:记录位置索引并保存在变量中。

getitemtext功能:将记录的信息一次读取出来,赋值给对应的编辑框。

功能模块控制5:静态文本框、编辑框、分组框

将静态文本框属性中的标题更改为相应的内容以显示说明。将群组框的的caption(标题)改为“学生信息”。

将编辑框的属性中的id分别进行修改,并将“总分”“平均分”对应的编辑框的属性改为“read-only”。

2.再对编辑框“建立类向导”添加相应的变量。

3.涉及函数:自定义函数:

createstudentinfo() 功能:读取列表控制框中指定一条记录的内容,并把他们组合为一个结构体。

strcpy(stu.number,chtemp) 功能:把字符数组chtemp中的内容复制到结构变量stu的学好number成员中。

atof函数:将数字字符串转换为浮点数。

功能模块控制6:添加数据(按钮)

实现方法:1. 右键属性更改按钮id号为“idc_button_add”caption(标题)为“添加数据”。

2。双击为其添加响应函数并在相应位置添加**。

三。涉及函数:isempty函数:判断文件是否存在。