【1.2 C案例】请君与我用C语言写一个千行的学生管理系统

前情回顾


  1. 自定义preconf.h头文件。作用:被核心头文件所包含,从而调用相关已定义的数据
  2. 定义BooleanStatus两种返回值类型,本质上是int类型
  3. 定义SqListElemType了两个结构体,实则属于独立结构的Struct嵌套
  4. 定义并初始化SysConfig结构体

一、本次目标


根据学生管理系统的功能特性与线性表的ADT描述,确定并编写相关的基本操作,便于后续的文件调用。

【1.2 C案例】请君与我用C语言写一个千行的学生管理系统GitHub:https://github.com/ITchujian/StudentManagementSystem_2022_C

注:为方便分享本次开发的经验,我将把分析过程以及代码书写过程,以文字、图片形式合计放于开发记录中,但是一些非常基础的行为动作我将不会讲解或者阐述。
当前位置:【1.2 C案例】请君与我用C语言写一个千行的学生管理系统
可跳转:

二、开发记录


步骤1

ADT——Abstract Data Type,意为抽象数据类型,我的理解:

描述数据结构的数学模型,以及该模型所能做出的操作

请注意,我们所使用的是线性表的顺序存储结构,而非链式结构,这一点已经在1.1文章的代码中有所体现。
因此,对于学生管理系统的线性表ADT如下:

  • 数据对象:D={学生1,学生2,……,学生n},n>=0
  • 数据关系:R={相邻学生之间存在先后关系}
  • 基本操作表:
序号 函数名 操作结果
1 InitList 初始化,构造空的线性表
2 DestroyList 销毁线性表
3 ClearList 清空线性表
4 ListEmpty 判断空的线性表
5 ListLength 返回线性表长度
6 GetElem 获取线性表的数据元素
7 LocateElem 返回满足一定条件的数据元素的位序
8 SearchElem 通过数据项搜索线性表
9 ListInsert 向线性表插入元素
10 ListDelete 向线性表删除元素
11 ListTraverse 遍历线性表的数据元素,执行同类型操作
12 SwapElem 交换两个数据元素的位置
13 ListSort 排序整个线性表

以上表格中,绝大部分的操作我们都将可能用到,拭目以待吧。

步骤2

创建kernel_list.h(代表这是一个与表相关的核心文件,后续的其他文件都需要调用该头文件中的操作)
【1.2 C案例】请君与我用C语言写一个千行的学生管理系统
此时VS2022已经给我们的头文件顶行加上了如下代码:

#pragma once

看来微软官方的IDE也比较推荐我们使用这种

上一篇:前端基础知识点


下一篇:Vue中computed和watch的区别