重庆交通大学信息学院 Linux操作系统设计实验报告
成 绩:
班 级: 通信二班
学 号: 631206040220
姓 名: 周丙相
实验所属课程: Linux操作系统
实验室(中心): 信息学院机房
指 导 教 师 : 闫 果
实验时间:
目录
一、课程设计题目 .................................................................................................................... 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
一、课程设计题目
在Linux操作系统下实现C语言版本的学生信息管理系统。 要求:
1. 实现管理系统的基本功能:数据录入,数据存取,数据浏览,数据查询等 2. 所有和输入输出相关的函数全部写在gui.c文件中 3. 所有管理功能函数写在smsfunc.c文件中 4. 主函数写在main.c文件中
5. 编写makefile对源文件进行编译和安装
二、课程设计项目名称
简易学生信息管理系统
三、课程设计目的及意义
1、熟悉和掌握Linux操作系统的常用命令
2、学习在Linux操作系统上完成简单的C语言编程
3、学习Makefile文件的功能和作用,并掌握Makefile文件的编写规则
4、学习将多个C语言源文件通过Makefile文件建立联系,并使用Make命令完成对源文件的编译。
5、通过这次课程设计,比较Linux操作系统与Windows操作系统的异同点
四、课程设计题目功能分析
(一)设计题目功能描述
1、输入学生的基本数据(包括学号、姓名、性别和5门课的成绩) 2、输出全部学生信息(按指定课程成绩降序排列,按平均成绩降序排列) 3、修改指定学生的信息 4、删除指定学生的信息
5、在指定的学生前或后再插入一个学生的信息 6、统计指定课程不及格的人数 7、将信息文件存入磁盘中 8、从磁盘中读入存储的信息
(二)数据结构设计
通过对系统所要实现的功能进行详细的分析后,本次设计采用线性的数据结构。具体来说,本次设计所采用的数据结构就是线性表,其存储结构为链式存储结构。即用一组任意的存储单元存储线性表当中的数据元素,这组存储单元在内存中的物理状态并不是连续的。这些在逻辑上相连的元素在物理结构上并不是互相连续的。
这种链式存储结构称为链表。其特点是:存放数据的节点包括两个域,即数据域和指针域。数据域用于存放当前节点的数据信息,二指针域则用于存放后继节点在存储器中的地址信息。数据元素的节点结构如下:
本次设计使用的链表结构为单向链表,其节点的基本数据结构及内容如下所示: 1、建立结构体节点信息如下:
strut ST 建立名为ST的结构体其中包含有学的 { char xh[20]; 基本信息学号(xh)、姓名(name)、性 char name[20]; 别(sex)、五科成绩和平均分(grade),

