《数据结构与C++》实验指导书Word文档格式.docx
- 文档编号:14701566
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:21
- 大小:503.88KB
《数据结构与C++》实验指导书Word文档格式.docx
《《数据结构与C++》实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《《数据结构与C++》实验指导书Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
对基本信息的数据项进行修改;
⑷查询:
查找满足条件的学生;
⑸输出:
将登记表中的全部(或满足条件)基本信息输出。
3.实现要点
对学籍登记表采用顺序或链式存储结构,在建立表时,由登记表的书写形式转化顺序表或链式表存储结构,还要把学生的书面形式转化为具体的类。
4.类定义
以顺序表为例,建立SeqList顺序表,其类定义如下:
template<
classT>
classSeqList
{
public:
SeqList(){length=0;
}//无参构造函数
SeqList(Ta[],intn);
//有参构造函数
~SeqList(){}//析构函数为空
intLength(){returnlength;
}//求顺序表的长度
TGet(inti);
//取顺序表的第i个元素
voidInsert(inti,Tx);
//在顺序表中第i个位置插入值为x的元素
TDelete(inti);
//删除顺序表的第i个元素
voidPrintList();
//遍历顺序表,按序号依次输出各元素
voidPrintStudent(Tx);
//有参输出函数
private:
Tdata[MaxSize];
//存放数据元素的数组
intlength;
//顺序表的长度
};
在SeqList类中,提供了如下成员函数
(1)函数声明SeqList(Ta[],intn);
完成的功能构造长度为n,元素为数组a[]中元素的顺序表
(2)函数声明intLength(){returnlength;
}
完成的功能求顺序表长度
(3)函数声明TGet(inti)
完成的功能依次查找,读取表中第i个元素
(4)函数声明voidInsert(inti,Tx);
完成的功能在顺序表中第i个位置插入值为x的元素
(5)函数声明TDelete(inti);
完成的功能查找并删除顺序表的第i个元素
(6)函数声明voidPrintList()
完成的功能遍历顺序表,按序号依次输出各元素
(7)函数声明voidPrintStudent(Tx)
完成的功能输出元素x
开始程序执行,显示以下功能选择界面:
或者:
按要求输入选择,并按提示输入,以下以插入与查询为例。
首先插入学生张三的信息:
同样输入李四的信息,并查询,结果如下:
可选方案:
PersonData示例运行界面如下图所示。
该示例就是一个基于对话框的MFC应用程序。
运行时先提示程序用户选择个人信息数据文件,比如PersonData工程目录下的test、txt。
打开数据文件后就进入如图所示界面。
在这个界面里左侧的列表框可以添加、删除与选择个人信息的条目。
当选择定某个人名时,在右侧的“个人信息”栏中显示个人信息的具体内容。
如果要修改某个条目的个人信息,则可以直接编辑对话框右侧的具体内容,然后单击“更新”
按钮即可。
PersonData演示了如何用CFile类对文件进行随机读写。
在程序代码中可以瞧到CFile类的各种成员函数的使用范例。
实验步骤(参考):
一.创建一个对话框;
二.添加相应控件,
『注意』:
1)组合框,先要点向下箭头,然后拖大列表区域面积;
再在属性中“data”中可输入“男”+“ctrl+enter”+“女”;
样式就选择“下移dropdown”。
2)所有编辑框列表框与控件的ID
IDC_PERSONLIST;
IDC_NAME;
IDC_BIRTH;
IDC_SEX;
IDC_TITLE;
IDC_OFFICE;
IDC_OFFICEPHONE;
IDC_HOME;
IDC_HOMEPHONE;
IDC_MOBILPHONE;
IDC_EMAIL;
IDC_ADD;
IDC_DEL;
IDC_UPDATE;
IDC_CANCEL;
3)点击任何控件,按F1键,可出现帮助文档;
三.为控件绑定变量
PersonData的主对话框类CPersonDataDlg设置了下列几个控件变量,用于显示与修改用
户个人信息,代码如下:
(用点击右键类向导邦定变量,代码会自动生成)
CListBoxm_PersonList;
//左侧“选择人名”列表框
【注意:
变量类型为“control”,其余几个都为“value”,变量定义就是可限定max范围】
CStringm_szBirth;
//“出生日期”输入框
CStringm_szEMail;
//“E-mail”输入框
CStringm_szHome;
//“家庭地址”输入框
CStringm_szHomePhone;
//“家庭电话”输入框
CStringm_szMobilePhone;
//“手机”输入框
CStringm_szName;
//“姓名”输入框
CStringm_szOffice;
//“办公室”输入框
CStringm_szOfficePhone;
//“办公电话”输入框
CStringm_szSex;
//“性别”下拉列表框
四.在CPersonDataDlg、h头文件中添加结构体PersonInfo
typedefstructPERSONINFO
charszName[51];
//姓名
charszBirth[31];
//出生日期
intnSex;
//性别,0为男,1为女
charszTitle[51];
//职务
charszOffice[201];
//办公室
charszOfficePhone[31];
//办公电话
charszHome[201];
//家庭住址
charszHomePhone[31];
//家庭电话
charszMobilePhone[31];
//手机
charszEMail[101];
//E-mail地址
}PersonInfo;
五.在CPersonDataDlg、h头文件中添加与文件操作相关的成员变量与成员函数
Public:
C;
voidLoadPersonInfo(constPersonInfo&
pi);
voidUpdatePersonIndex);
六.在CPersonDataDlg、h头文件中添加控件响应函数(双击控件可自动生成空函数)
afx_msgvoidOnAdd();
afx_msgvoidOnDel();
afx_msgvoidOnSelchangePersonlist();
『双击列表框,生成列表项更新函数』
afx_msgvoidOnCancel();
afx_msgvoidOnUpdate();
七.在CPersonDataDlg、cpp文件中分别添加文件相关成员函数
//=============================================================
//函数名:
LoadPersonInfo
//功能描述:
根据PersonInfo结构更新界面的控件变量
//输入参数:
pi(输入的PersonInfo个人信息结构)
//返回值:
无
//附加说明:
//==============================================================
voidCPersonDataDlg:
:
LoadPersonInfo(constPersonInfo&
pi)
//更新界面
m_szName=pi、szName;
if(pi、nSex==0)
m_szSex="
男"
;
else
女"
m_szBirth=pi、szBirth;
m_szTitle=pi、szTitle;
m_szOffice=pi、szOffice;
m_szOfficePhone=pi、szOfficePhone;
m_szHome=pi、szHome;
m_szHomePhone=pi、szHomePhone;
m_szMobilePhone=pi、szMobilePhone;
m_szEMail=pi、szEMail;
UpdateData(FALSE);
Update功能描述:
向文件中更新个人信息
PersonIndex(要更新的个人信息的条目序号)
UpdatePersonIndex)
//定位要修改的个人信息在文件中的位置
m_((LONG)PersonIndex*sizeof(PersonInfo),C);
//更新个人信息数据
UpdateData();
PersonInfopi;
strcpy(pi、szName,m_szName);
if(m_szSex=="
)
pi、nSex=0;
pi、nSex=1;
strcpy(pi、szBirth,m_szBirth);
strcpy(pi、szTitle,m_szTitle);
strcpy(pi、szOffice,m_szOffice);
strcpy(pi、szOfficePhone,m_szOfficePhone);
strcpy(pi、szHome,m_szHome);
strcpy(pi、szHomePhone,m_szHomePhone);
strcpy(pi、szMobilePhone,m_szMobilePhone);
strcpy(pi、szEMail,m_szEMail);
m_(&
pi,sizeof(PersonInfo));
m_();
八.在CPersonDataDlg、cpp文件中分别添加各控件响应成员函数
OnAdd
处理单击“添加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与C+ 数据结构 实验 指导书