学生选课系统项目设计在C语言课程中的应用研究

时间:2023-06-23 14:20:02 来源:网友投稿

王学梅

(山东华宇工学院,山东 德州 253034)

“C 语言程序设计”课程作为编程基础课程,其编程思想及设计方法在整个计算机类相关专业中起着重要的铺垫作用。由于课程课时少、入门较难,传统的知识点传授方式已无法满足专业培养要求,更不能促进学生深度学习。为此,提出了将项目式教学方法引入教学实践的思路。通过项目的实现,将所授的知识点穿插到各个子项中,便于学生理解和掌握对应的知识点,同时能够很好地为后续的专业课程提供良好的基础。项目选择贴近学生实际的学生选课系统,结合项目的实现流程,分解成各个子项目,最终完成相应知识点的学习,提升学生进行深度学习的能力。本项目实现过程较为细致,通过设计,可以培养学生的自主学习能力和团队协作精神,同时能够锻炼学生坚强的意志力,培养攻坚克难的顽强精神。

对学生选课系统主要功能的分析,可以从角色设置以及各角色在系统中的功能进行简单梳理:

(1)角色设置:包括学生、教师和管理员三个角色,不同的角色管理的功能有所不同。

(2)功能分析:通过主功能界面可以选择相应的角色,并进入不同的管理界面。其中,学生可以根据学号和密码登录系统,登录之后可以查询课程的情况、目前可选的课程以及选课等基本情况;
教师根据工号和密码登录系统,登录之后可以查看当前课程的选择情况、学生成绩录入等操作;
管理员的功能最强大,通过admin 用户名和密码登录,登录成功后,能够对学生、教师、课程多个方面进行管理和统计,可以浏览、查询、修改、统计选课的基本信息,并能添加、删除和修改学生的信息。

学生选课系统项目分成多个子项目,根据项目实现将所涉及的知识点进行分解,本文以系统主界面设计模块、功能选择设计、课程信息数据分析、信息动态存储、文件操作几个模块为例,展示部分实现过程进行说明。

2.1 主界面设计模块

结合C 程序的基本组成,使用基本的printf()输出函数完成,通过该函数展示了学生选课系统的设计主界面。主要代码为:

2.2 功能选择设计

程序的控制结构是指为解决某个问题,按照某种顺序执行的结构,主要分为顺序结构、选择结构和循环结构三种。要实现学生选课系统的功能选择设计的子项目,用于展示和选择项目的各个子功能,需要应用选择结构完成。

设计要求:在该系统完成首界面输入后,开始通过终端进行功能选择。

输入1,进入管理员管理界面;
输入2,进入教师管理界面;
输入3,进入学生管理界面;
其他情况,则退出该程序。运行效果如图1所示。

图1 功能选择效果展示

2.3 课程信息数据分析

在C 语言中,系统提供的基本数据类型有时候不能满足用户的实际需求,允许用户根据需要定义数据类型,如:一个学生的信息中,可以包含学号、姓名、年龄、成绩等信息,这就涉及字符串、整型、浮点型数据等多个不同类型的数据,无法通过数组(每个数组元素的数据类型是相同的)结构来实现,这时用户就可以自己定义一个数据类型,使得该种类型能够包含多个复杂的数据。这种用户自己定义的有不同数据类型组成的组合型数据结构,称为结构体类型。结构体类型数据可以实现课程信息数据定义与引用。如:课程信息中包含课程编号、课程名称、课程成绩、教师姓名等信息。

实现课程信息的结构体定义,代码为:

代码效果展示如图2所示。

图2 学生课程信息效果展示

2.4 学生选课系统的信息动态存储

在学生选课系统中,有很多需要存储的信息,对于某些信息,因为在输入前有好多信息不确定大小,为了能够保证数据正常存储,使用数组存储的话,会定义足够固定长度的数组。但是这样的话,会浪费很大的内存,为此,C 语言允许建立内存动态分配方式,需要时随时像系统申请开辟适当的空间,这就需要使用指针来解决。项目以课程信息的动态存储为例,学习课程信息的动态存储。

例如,通过指针和空间申请函数malloc,动态申请一块连续的空间,用于存放一组学生数据,其中学生数据包括:姓名、性别、年龄。代码为:

同时,利用指针和链表完成动态信息存储的基本操作,对比以上代码分析,确定两种方法的区别。

2.5 学生选课系统的文件操作

学生选课系统对于部分数据内容,需要及时地以文件形式存储到本地,方便下次进入系统时的数据应用,如课程信息和教师信息等内容,在通过系统完成内存分配,录入相关内容后,需要及时地将信息存储到本地,这样即使当程序结束后,也不会因为内存空间释放而导致数据丢失。存储到本地后,当再次进入系统时,可以读取本地的文件内容,保持与程序前的数据相同。以存储学生信息为例,要求通过键盘输入5 个学生的信息(学生信息包含:学号、姓名、性别3 个信息),并将这些信息存储在程序文件目录下的stu.txt 文本文件中。

通过以上程序,利用指针与链表相关知识,将学生信息存储到本地,方便下次使用时,直接打开文件读取其中的数据,保持数据及时更新。

本文以学生选课系统项目的实现为例,分析了C 语言中各知识点在其中的应用,能够更好地帮助学生了解和掌握C 基础知识,拓宽了学生的学习广度,促进学生进行深度学习,以项目式的实现过程,引导学生学习C 语言中的各个知识点。通过验证,学生的学习效果较好。

猜你喜欢数据类型界面知识点一张图知识点小哥白尼(军事科学)(2021年7期)2021-11-20一张图知识点小哥白尼(军事科学)(2021年6期)2021-11-02第四页 知识点 歼轰-7A小哥白尼(军事科学)(2021年2期)2021-10-12微重力下两相控温型储液器内气液界面仿真分析北京航空航天大学学报(2021年6期)2021-07-20国企党委前置研究的“四个界面”当代陕西(2020年13期)2020-08-24如何理解数据结构中的抽象数据类型数码世界(2020年5期)2020-06-23扁平化设计在手机界面中的发展趋势流行色(2019年7期)2019-09-27基于SeisBase模型的地震勘探成果数据管理系统设计计算机时代(2017年2期)2017-03-06线上众筹产品的特征分析与研究时代金融(2016年27期)2016-11-25相似度计算及其在数据挖掘中的应用电脑知识与技术(2016年13期)2016-06-29

推荐访问:选课 语言 课程