实验一、学籍管理系统设计
实验目的:
1、掌握VC++或DEV C++集成开发环境; 2、熟悉面向对象编程方法; 实验内容:
设计界面友好、操作简便的学生学籍管理系统软件。综合运用顺序表、单链表、栈、队列、字符串、多维数组等多种线性数据结构架构系统,分析并选择合理的操作算法,掌握面向对象的编程技术。 实验设备: N台计算机
实验所需软件:Visual C++6.0或DEV C++,Windows Professional操作系统 实验步骤:
1. 问题描述
学籍管理问题中的数据元素具有如下形式:
学生的自然情况包括学号、姓名、性别、出生日期、政治面貌和家庭住址等数据项。。 2.功能要求
对学籍登记表要求完成如下功能:
⑴ 插入:将某学生的基本信息插入到登记表中; ⑵ 删除:将满足条件的基本信息删除; ⑶ 修改:对基本信息的数据项进行修改; ⑷ 查询:查找满足条件的学生;
⑸ 输出:将登记表中的全部(或满足条件)基本信息输出。 3.实现要点
对学籍登记表采用顺序或链式存储结构,在建立表时,由登记表的书写形式转化顺序表
或链式表存储结构,还要把学生的书面形式转化为具体的类。 4.类定义
以顺序表为例,建立SeqList顺序表,其类定义如下: template < class T > class SeqList
1 / 18
{ public:
SeqList() {length=0;} //无参构造函数 SeqList(T a[ ], int n); //有参构造函数 ~SeqList( ) { } //析构函数为空 int Length( ) {return length;} //求顺序表的长度 T Get(int i); //取顺序表的第i个元素
void Insert(int i, T x); //在顺序表中第i个位置插入值为x的元素 T Delete(int i); //删除顺序表的第i个元素
void PrintList( ); //遍历顺序表,按序号依次输出各元素 void PrintStudent(T x); //有参输出函数 private:
T data[MaxSize]; //存放数据元素的数组 int length; //顺序表的长度 };
在SeqList类中,提供了如下成员函数 (1) 函数声明 SeqList(T a[ ], int n);
完成的功能 构造长度为n,元素为数组a[ ]中元素的顺序表 (2) 函数声明 int Length( ) {return length;}
完成的功能 求顺序表长度
(3) 函数声明 T Get(int i)
完成的功能 依次查找,读取表中第i个元素 (4) 函数声明 void Insert(int i, T x);
完成的功能 在顺序表中第i个位置插入值为x的元素 (5) 函数声明 T Delete(int i);
完成的功能 查找并删除顺序表的第i个元素
(6) 函数声明 void PrintList( )
完成的功能 遍历顺序表,按序号依次输出各元素 (7) 函数声明 void PrintStudent(T x) 完成的功能 输出元素x
2 / 18
开始程序执行,显示以下功能选择界面:
或者:
按要求输入选择,并按提示输入,以下以插入和查询为例。首先插入学生张三的信息:
3 / 18
同样输入李四的信息,并查询,结果如下:
可选方案:
PersonData 示例运行界面如下图所示。该示例是一个基于对话框的MFC 应用程序。运行时先提示程序用户选择个人信息数据文件,比如PersonData 工程目录下的test.txt。打开数据文件后就进入如图所示界面。在这个界面里左侧的列表框可以添加、删除和选择个人信息的条
4 / 18
目。当选择定某个人名时,在右侧的“个人信息”栏中显示个人信息的具体内容。如果要修改某个条目的个人信息,则可以直接编辑对话框右侧的具体内容,然后单击“更新” 按钮即可。
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 设置了下列几个控件变量,用于显示和修改用 户个人信息,代码如下:(用点击右键类向导邦定变量,代码会自动生成) public:
CListBox m_PersonList; //左侧“选择人名”列表框
【注意:变量类型为“control”,其余几个都为“value”,变量定义是可限定max范围】
5 / 18