Linux操作系统设计实验报告.doc
《Linux操作系统设计实验报告.doc》由会员分享,可在线阅读,更多相关《Linux操作系统设计实验报告.doc(17页珍藏版)》请在沃文网上搜索。
1、 目录一、课程设计题目3二、 课程设计项目名称3三、 课程设计目的及意义3四、 课程设计题目功能分析3(一) 设计题目功能描述3(二) 数据结构设计4(三)数据存取5(四) 数据录入方法设计5五、算法分析与流程6(一)函数定义6(二)函数流程图6(三)部分函数实现代码10六、项目实现过程12(一) 在Linux操作系统下的源文件编写12(二) 在Linux操作系统下完成源文件的编译14(1) 使用make命令完成源程序的编译14(三) 在Linux操作系统下运行程序15七、项目测试结果15(一)查看桌面的生成文件15八、总结16(一)项目小结16(二)项目改进17(三) 体会17一、课程设计题
2、目在Linux操作系统下实现C语言版本的学生信息管理系统。要求:1. 实现管理系统的基本功能:数据录入,数据存取,数据浏览,数据查询等2. 所有和输入输出相关的函数全部写在gui.c文件中3. 所有管理功能函数写在smsfunc.c文件中4. 主函数写在main.c文件中5. 编写makefile对源文件进行编译和安装二、 课程设计项目名称简易学生信息管理系统三、 课程设计目的及意义1、熟悉和掌握Linux操作系统的常用命令2、学习在Linux操作系统上完成简单的C语言编程3、学习Makefile文件的功能和作用,并掌握Makefile文件的编写规则4、学习将多个C语言源文件通过Makefil
3、e文件建立联系,并使用Make命令完成对源文件的编译。5、通过这次课程设计,比较Linux操作系统与Windows操作系统的异同点四、 课程设计题目功能分析(一) 设计题目功能描述 1、输入学生的基本数据(包括学号、姓名、性别和5门课的成绩) 2、输出全部学生信息(按指定课程成绩降序排列,按平均成绩降序排列) 3、修改指定学生的信息 4、删除指定学生的信息 5、在指定的学生前或后再插入一个学生的信息 6、统计指定课程不及格的人数 7、将信息文件存入磁盘中 8、从磁盘中读入存储的信息(二) 数据结构设计 通过对系统所要实现的功能进行详细的分析后,本次设计采用线性的数据结构。具体来说,本次设计所采
4、用的数据结构就是线性表,其存储结构为链式存储结构。即用一组任意的存储单元存储线性表当中的数据元素,这组存储单元在内存中的物理状态并不是连续的。这些在逻辑上相连的元素在物理结构上并不是互相连续的。 这种链式存储结构称为链表。其特点是:存放数据的节点包括两个域,即数据域和指针域。数据域用于存放当前节点的数据信息,二指针域则用于存放后继节点在存储器中的地址信息。数据元素的节点结构如下:本次设计使用的链表结构为单向链表,其节点的基本数据结构及内容如下所示: 1、建立结构体节点信息如下:strut ST 建立名为ST的结构体其中包含有学的 char xh20; 基本信息学号(xh)、姓名(name)、性
5、 char name20; 别(sex)、五科成绩和平均分(grade), char sex3; 以及保存下一节点地址的指针*next。 float grade6; struct ST *next;struct *SI; *SI为指向结构体ST的的指针变量。 2、单向链表的建立 这里采用动态建立链表的方法,即每次在满足条件的前提下,向内存动态申请大小为一个节点数据类型大小的内存空间,并输入当前节点的相关信息。将新节点通过指针域与已建立的链表相连。由此建立包含N个节点信息的单向链表。 3、有关数据结构的基本操作 (1)单链表的插入 (2)单链表的删除 (3)单链表的查找 (4)单链表的排序(三)
6、数据存取数据存取采用的是线性链表的存取结构,其特点是:使用一组任意的存储单元存储线性表中的数据元素,这些存储单元之间在逻辑结构上虽然是相互关联的,但是其在物理结构上并不是连续的。数据元素之间的逻辑关系是由节点中的指针域指示的,这种存储结构是非顺序映像或者叫做链式映像。在使用中,我们只需关心数据元素的逻辑次序而不必关心它的真正存储地址。我们在单链表第一个元素所在的节点之前设置一个节点头结点。头结点的指针域存储第一个元素所在节点的存储位置;而数据域并没有存储任何信息。基于以上建立单向链表的思想,我们在对节点元素进行存取的过程中只需找到该链表的头结点,即可完成对数据元素的存取操作。(四) 数据录入方
7、法设计链表是一种动态存储结构,所需的存储空间只有在执行malloc之后,才能申请到一个可用节点空间;free的作用是系统回收一个节点,回收后的空间可以备作再次生成节点时使用。动态建立链表共有两种基本方法:方向建立链表、正向建立链表。这里采用反向建立链表的数据录入方法。数据录入的方法是:从线性表的最后一个元素开始,从后向前依次插入到当前链表的第一个节点之前。在满足循环条件的前提下,依次输入当前节点的相关信息,并通过节点的指针域将当前节点插入已建立的链表当中。五、算法分析与流程(一)函数定义void display(int Max);信息展示函数定义void menu();菜单函数定义int di
8、splay_module(int Max);输出全部学生信息(按指定课程成绩降序排列,按平均成绩降序排列)int read_imformation();在指定的学生前或后再插入一个学生的信息int add_module(int Max); 输入学生的基本数据(包括学号、姓名、性别和5门课的成绩)int find_num_module(int Max);从磁盘中读入存储的信息int find_name_module(int Max);int modify_module(int Max);修改指定学生的信息int sort_module(int Max);统计指定课程不及格的人数 int save
9、_module(int Max);将信息文件存入磁盘中int del_module(int Max);删除指定学生的信息(二)函数流程图(三)部分函数实现代码1、 主函数void main() int sel;SI=(struct ST *)malloc(sizeof(struct ST);SI-next=NULL;selloadINFO();while (1) menu();scanf(%d,&sel);switch (sel)case 0: exit(0);case 1: input();break; case 2: output();break; case 3: changeINFO()
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 设计 实验 报告
