嵌入式linuxc程序设计课程设计-学生成绩系统(编辑修改稿)内容摘要:

..........15 、 找出成绩最高的学生序号和课程 ..................................................................................15 、 找出不及格课程的学生序号及其各门课的全部成绩 .....................................................16 、 求全部学生各门课程的平均分数 ,并输出 . .....................................................................16 六、心得 .....................................................................................................................................16 七、参考文献 ..............................................................................................................................17 八、附录 .....................................................................................................................................18 9 一、需求分析 、课程设计任务 建立一个链表,每个结点包含:学号、姓名、 3 门考试成绩 1) 按学号排序 2) 输入一个学生学号,输出其成绩。 3) 输入一个学生的信息将它插入链表中(假定链 表按学号有序)。 4) 统计该链表中学生总成绩和平均成绩。 5) 找出成绩最高的学生序号和课程 . 6) 找出不及格课程的学生序号及其各门课的全部成绩 . 7) 求全部学生各门课程的平均分数 ,并输出 . 、课程设计的意义及目标 课程设计是培养学生综合运用所学知识 ,发现 ,提出 ,分析和解决实际问题 ,锻炼实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程。 要求 在规定的时间内, 完成 老师布置的任务,最重要的是 让学生学到 东西。 目的使这次课程设计,使学生 巩固了上课学到的知识,进一步学习、掌握嵌入式 Linux的运行环境、开发平台。 10 二、 概要设计 、 流程图 、 编译 .调试工具说明 、 vi 编译器的介绍 vi 编辑器是 Visual interface 的简称,通常称之为 vi。 它在 Linux 上的地位就像 Edit 程序在 DOS 上一样。 它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 vi 编辑器并不是一个排版程序,它不像 Word 或 WPS 那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑 程序。 没有菜单,只有命令,且命令繁多。 vi 有 3 种基本工作模式:命令行模式、文本输入模式和末行模式 11 、 makefile 介绍 ( 1) makefile 文件介绍 Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中, makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell脚本一样,其中也可以执行操作系统的命令。 ( 2) makefile 主要功能 Make 工具最主 要也是最基本的功能就是通过 makefile 文件来描述源程序之间的相互关系并自动维护编译工作。 而 makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。 makefile 文件是许多编译器 包括 Windows NT 下的编译器 维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。 12 三、 详细设计 ( 1)定义一个链表 用链式存储结构存储学生信息 , typedef struct student STUDENT。 (2)定义节点,和各节点的内容 struct student /* 学生链表节点 */ { int num。 /* 学号 */ char name[MAX_NAME_LEN]。 /* 姓名 */ struct grade grade。 /* 成绩 */ ( 3)输入学号,输出成绩 int print_list(STUDENT *head)。 ( 4)统计链表中学生总成绩和平均成绩 / void search(STUDENT *head, int num)。 ( 5)输出出成绩最高的学生序号和课程 */ void sum_ave(STUDENT *head)。 ( 6)输出不及格课程的学生序号及其各门课的全部成绩 void max_grade(STUDENT *head)。 ( 7)求全部学生各门课程的平均分数 ,并输出 * void failde_stu(STUDENT *head)。 13 四、编译和调试 、 用 make 编译 makefile 文件 编译调试程序是程序实现前的一项最重大的任务,不仅繁 琐而且很有技术含量。 如果只是单单的写程序是不会发现调试是多么幸苦的工作的。 在整个程序的编译过程中遇到了不少错误。 有的是因为不小心少写了一个括号,有的是语法错误。 还有的情况就是编译器的使用不当,我们最常用的是用 GCC 编译。 但是这次课程设计要求用 make 编译,于是我在这就犯了一些很低级的错误。 上图是我在 makefile 文件里出现了错误而导致的编译失败。 在 makefile 文件里,我只记得有空格,切忘记了那是 TAB 键,所以造成了这样的错误。 在编译的过程中还会有很多警告,不过幸好不影响程序的执行。 有警告是因为程序不够完善才有的情况,程序有待完善。 14 五、运行结果 、 按学号排序; 、 输入一个学生学号,输出其成绩。 第一个学生输入 第二个学生输入 第三个学生输入 15 、 输入一个学生的信息将它插入链表中(假定链表按学号有序)。 、 统计该链表中学生总成绩和平均成绩。 、 找出成绩最高的学生序号和课程 . 16 、 找出不及格课程的学生序号及其各门课的全部成绩 、 求全部学生各门课程的平均分数 ,并输出 . 六、心得 课程设 计是培养 我们 综合运用所学知识 ,发现 ,提出 ,分析和解决实际问题 过程 ,锻炼实。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。