- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目一:高校学籍管理问题设计方案
项目一:高校学籍管理问题程序设计
(选自 王红梅编著《数据结构》第二章)
第一部分:项目分析
问题描述
学籍管理问题中的数据元素具有如下形式:
学生的自然情况包括学号、姓名、性别、出生日期、政治面貌和家庭住址等数据项。
2.功能要求
对学籍登记表要求完成如下功能:
⑴ 插入:将某学生的基本信息插入到登记表中;
⑵ 删除:将满足条件的基本信息删除;
⑶ 修改:对基本信息的数据项进行修改;
⑷ 查询:查找满足条件的学生;
⑸ 输出:将登记表中的全部(或满足条件)基本信息输出。
3.实现要点
对学籍登记表采用顺序的存储结构,在建立表时,由登记表的书写形式转化顺序表存储结构,还要把学生的书面形式转化为具体的类。
4.类定义
为顺序表建立SeqList,其类定义如下:
template class T
class SeqList
{
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
第二部分:程序代码
//文件1:StudentSeqList.h
//---------------------------------------------------------------------------
#ifndef StudentSeqListH
#define StudentSeqListH
#include string
using namespace std; //名字空间
//---------------------------------------------------------------------------
const int MaxSize=100; //100只是示例性的数据,可以根据实际问题具体定义
struct Student
{
string num; //学号
string name; //姓名
string sex; //性别
string born; //出生日期
string p; //政治面貌
string addr; //住址
};
template class T
class SeqList
{
public:
SeqList() {length=0;} //无参构造函数
SeqList(T a[ ], int n); //有参构造函数
~SeqList( ) { } //析构函数为空
int Length( ) {return length;} //求顺序表的
文档评论(0)