选修课c语言课程设计
c语言课程设计选课系统设计

c语言课程设计选课系统设计一、教学目标本课程旨在通过C语言选课系统设计的学习,让学生掌握C语言的基本语法、数据结构、函数、指针等核心知识,培养学生运用C语言进行程序设计的能力。
通过本课程的学习,学生应达到以下目标:1.掌握C语言的基本语法和编程规范。
2.理解数据类型、变量、常量等基本概念。
3.学会使用运算符、表达式进行数学计算。
4.掌握控制结构,如条件语句、循环语句等。
5.了解数组、字符串、指针等数据结构的使用。
6.熟悉函数的定义和调用,掌握函数的参数传递和返回值。
7.理解结构体、联合体、枚举等高级数据结构。
8.能够编写简单的C语言程序,如计算器、排序算法等。
9.能够使用C语言进行文件操作,如文件的读写、打开关闭等。
10.具备一定的调试和排错能力,能够使用调试工具进行程序调试。
11.掌握C语言编程的规范和技巧,编写结构清晰、可读性强的代码。
情感态度价值观目标:1.培养学生的编程兴趣,激发学生主动探索和学习编程的积极性。
2.培养学生团队协作精神,学会与他人交流和分享编程经验。
3.培养学生解决问题的能力,勇于面对编程过程中的困难和挑战。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、指针等核心知识。
具体安排如下:1.C语言概述:介绍C语言的历史、特点和应用领域。
2.基本数据类型和变量:学习整型、浮点型、字符型等数据类型,以及变量的声明和使用。
3.运算符和表达式:掌握算术运算符、关系运算符、逻辑运算符等,以及表达式的编写。
4.控制结构:学习条件语句、循环语句等控制结构的使用。
5.数组和字符串:了解数组的定义和使用,学习字符串的存储和操作。
6.指针:掌握指针的概念、运算和应用,如动态内存分配等。
7.函数:学习函数的定义、声明和调用,掌握函数的参数传递和返回值。
8.结构体和其他高级数据结构:了解结构体、联合体、枚举等高级数据结构的使用。
9.文件操作:学习文件的读写、打开关闭等操作。
10.编程实践:通过实际项目练习,巩固所学知识,培养编程能力。
学生选课c语言课程设计

学生选课c语言课程设计一、课程目标知识目标:1. 理解C语言的基本概念,包括变量、数据类型、运算符和表达式;2. 掌握C语言控制结构,如顺序结构、选择结构和循环结构;3. 学会使用数组、函数和指针进行程序设计;4. 了解C语言的文件操作和预处理命令。
技能目标:1. 能够正确编写简单的C程序,解决实际问题;2. 培养良好的编程习惯,如规范命名、代码注释和模块化设计;3. 学会使用调试工具,如GDB,调试和优化程序;4. 提高逻辑思维和问题解决能力,具备初步的程序设计能力。
情感态度价值观目标:1. 培养对编程的兴趣和热情,激发学习计算机科学的内在动机;2. 培养团队合作精神,学会与他人分享和交流编程经验;3. 认识到编程对于培养逻辑思维、解决问题能力的重要性,增强自信心;4. 遵守编程道德规范,遵循法律法规,树立正确的价值观。
本课程针对高年级学生,已具备一定的计算机基础知识和逻辑思维能力。
课程性质为理论与实践相结合,注重培养学生的动手能力和实际问题解决能力。
教学要求注重启发式教学,引导学生主动探究和发现,提高学生的编程技能和综合素质。
通过本课程的学习,期望学生能够掌握C语言的基本知识,具备初步的程序设计能力,培养良好的编程习惯和价值观。
二、教学内容1. C语言概述- 简介:C语言的起源、特点和应用领域;- 开发环境:安装和配置C语言开发工具。
2. 基本数据类型与运算符- 数据类型:整型、浮点型、字符型等;- 运算符:算术、关系、逻辑运算符等;- 表达式:基本表达式、复合表达式。
3. 控制结构- 顺序结构:程序执行流程;- 选择结构:if语句、switch语句;- 循环结构:for循环、while循环、do-while循环。
4. 数组与函数- 数组:一维数组、二维数组;- 函数:函数定义、声明、调用、递归。
5. 指针与内存管理- 指针概念:指针的定义、使用;- 内存管理:动态内存分配、释放。
6. 文件操作与预处理命令- 文件操作:文件的打开、读写、关闭;- 预处理命令:宏定义、文件包含、条件编译。
学生选课系统c课程设计

学生选课系统c 课程设计一、教学目标本课程旨在让学生掌握学生选课系统C的基本原理和使用方法。
知识目标包括了解学生选课系统的功能、结构和常用技术,理解面向对象设计的基本概念和方法。
技能目标包括能够使用学生选课系统C进行课程选择和排课,能够进行简单的系统设计和优化。
情感态度价值观目标包括培养学生对编程和计算机科学的兴趣和热情,提高学生解决问题的能力和创新精神。
二、教学内容本课程的教学内容主要包括学生选课系统C的基本原理、系统结构和常用技术,面向对象设计的基本概念和方法,以及学生选课系统C的实践应用。
具体包括以下几个部分:1.学生选课系统C的基本原理:介绍学生选课系统C的定义、功能和特点,让学生了解学生选课系统C的基本概念。
2.学生选课系统C的系统结构:讲解学生选课系统C的组成部分,包括数据库、服务器和客户端等,让学生了解学生选课系统C的架构和运行机制。
3.学生选课系统C的常用技术:介绍学生选课系统C中常用的技术,如SQL、Java等,让学生掌握学生选课系统C的开发和实现方法。
4.面向对象设计的基本概念和方法:讲解面向对象设计的基本原则和方法,如封装、继承和多态等,让学生掌握面向对象设计的思维方式和实际应用。
5.学生选课系统C的实践应用:通过实际操作,让学生学会使用学生选课系统C进行课程选择和排课,培养学生的实际操作能力。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:通过讲解学生选课系统C的基本原理、系统结构和常用技术,让学生掌握基本概念和知识。
2.讨论法:通过学生进行小组讨论,引导学生思考和探讨学生选课系统C的实际应用问题和解决方案。
3.案例分析法:通过分析典型案例,让学生了解学生选课系统C的实际应用场景和设计方法。
4.实验法:通过实际操作,让学生学会使用学生选课系统C进行课程选择和排课,培养学生的实际操作能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选择合适的教材,为学生提供系统的学习资料。
c选修课系统课程设计

c 选修课系统课程设计一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:学生能够掌握选修课系统的基本概念、原理和知识点,了解系统的组成部分及其相互作用。
2.技能目标:学生能够运用所学的知识,分析和解决选修课系统运行过程中遇到的问题,具备一定的系统调试和优化能力。
3.情感态度价值观目标:培养学生对选修课系统的兴趣,使其认识到选修课系统在实际应用中的重要性,培养学生认真负责、团队合作的精神。
二、教学内容本章节的教学内容主要包括以下几个部分:1.选修课系统的基本概念和原理:介绍选修课系统的定义、功能、特点和基本工作原理。
2.选修课系统的组成部分:讲解选修课系统中的各个模块及其功能,包括学生模块、教师模块、课程模块、管理员模块等。
3.选修课系统的运行与管理:分析选修课系统的运行过程,介绍如何进行课程设置、学生选课、教师排课、成绩管理等操作。
4.选修课系统的优化与调试:讲解如何对选修课系统进行优化和调试,以提高系统性能和用户体验。
三、教学方法为了实现本章节的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解选修课系统的基本概念、原理和知识点,使学生掌握系统的基本知识。
2.案例分析法:通过分析实际运行中的选修课系统案例,使学生了解系统的应用场景和运行过程。
3.实验法:安排实验室实践环节,让学生亲自操作选修课系统,提高实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,促进学生之间的交流与合作。
四、教学资源为了支持本章节的教学内容和教学方法,我们将准备以下教学资源:1.教材:选修课系统相关教材,为学生提供系统性的理论知识。
2.参考书:提供相关领域的参考书籍,为学生提供更多的学习资料。
3.多媒体资料:制作PPT、视频等多媒体资料,为学生提供直观的学习体验。
4.实验设备:准备实验室设备,为学生提供实际操作的机会。
五、教学评估本章节的教学评估主要包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答、小组讨论等表现,以体现学生的学习态度和积极性。
C语言选课管理系统课程设计

C语言选课管理系统课程设计一、教学目标本课程旨在让学生掌握C语言选课管理系统的开发方法,培养其编程能力和问题解决能力。
具体目标如下:1.知识目标:学生能够理解C语言的基本语法、数据结构和常用算法;掌握面向对象编程思想。
2.技能目标:学生能够使用C语言进行程序设计,独立完成选课管理系统的开发;具备调试和优化程序的能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,使其认识到编程在实际应用中的重要性,提高其创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括C语言基础知识、数据结构、算法、面向对象编程和选课管理系统的设计与实现。
具体安排如下:1.C语言基础知识:介绍C语言的基本语法、变量、运算符、控制结构等。
2.数据结构:讲解数组、链表、栈、队列、树等基本数据结构及其应用。
3.算法:学习常用排序算法、查找算法、递归算法等,培养学生的算法思维。
4.面向对象编程:介绍类、对象、封装、继承、多态等基本概念,并学会使用面向对象的方法解决问题。
5.选课管理系统设计与实现:分析系统需求,设计系统架构,编写功能模块,完成系统集成。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解基本概念、语法和算法,使学生掌握理论知识。
2.讨论法:学生针对案例进行分析,培养其问题解决能力和团队合作精神。
3.案例分析法:分析实际项目案例,使学生学会将理论知识应用于实际问题。
4.实验法:让学生动手编写代码,培养其编程能力和实践能力。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,如《C程序设计原理与应用》、《C++ Primer》等。
2.参考书:提供相关领域的经典著作,如《算法导论》、《数据结构与算法分析》等。
3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高教学质量。
4.实验设备:保证学生有足够的实践机会,提高其编程能力和实践能力。
c语言课程设计学生选课

c语言课程设计 学生选课一、课程目标知识目标:1. 学生能理解并能运用C语言基础语法,包括变量声明、数据类型、运算符、控制结构等。
2. 学生能够掌握结构体和数组的使用,并能运用其实现选课系统的基本功能。
3. 学生能够理解并实现文件操作,以存储和读取选课系统的数据。
技能目标:1. 学生能运用C语言编写简单的程序,实现一个基本的选课功能。
2. 学生能够通过编程解决实际问题,提高逻辑思维和问题解决能力。
3. 学生通过小组合作,提高团队协作能力和沟通能力。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,建立积极的学习态度。
2. 学生在课程实践中,体验编程带来的成就感,增强自信心。
3. 学生在团队协作中,学会尊重他人意见,培养良好的合作精神。
课程性质:本课程为实践性课程,旨在让学生通过动手实践,掌握C语言编程的基本技能。
学生特点:学生为高中一年级,具备一定的计算机操作基础,对编程有一定了解,但实践经验不足。
教学要求:结合学生特点,课程要求注重实践,通过案例教学,引导学生主动探索,培养其编程兴趣和实际操作能力。
同时,关注学生的情感态度,激发其学习热情,提高学习效果。
课程目标分解为具体学习成果,以便后续教学设计和评估。
二、教学内容依据课程目标,教学内容主要包括以下几部分:1. C语言基础语法:变量声明、数据类型、运算符、控制结构(条件语句、循环语句)等,对应教材第一章至第三章内容。
2. 结构体和数组:介绍结构体定义和使用、数组的基本操作,对应教材第四章内容。
3. 文件操作:文件读写、文件存储,对应教材第五章内容。
4. 选课系统功能实现:结合所学知识,设计并实现一个简单的选课系统,涵盖课程查询、选课、退课等功能。
教学大纲安排如下:1. 第一周:C语言基础语法学习,完成相关练习题。
2. 第二周:结构体和数组学习,设计选课系统中所需的数据结构。
3. 第三周:文件操作学习,实现对选课数据的存储和读取。
c语言课程设计学生选修课程

c语言课程设计学生选修课程一、教学目标本课程旨在让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立思考和解决问题的能力。
通过本课程的学习,学生将能够熟练使用C语言进行程序设计,具备一定的软件开发能力。
具体的教学目标如下:1.知识目标:(1)了解C语言的发展历程和特点;(2)掌握C语言的基本语法和编程规范;(3)熟悉常用的数据类型、运算符和表达式;(4)理解函数的定义和调用方法;(5)掌握数组、指针和字符串的使用;(6)了解常用的高级数据结构及其应用;(7)掌握基本的算法和编程技巧。
2.技能目标:(1)能够使用C语言编写简单的程序;(2)具备阅读和理解C语言程序的能力;(3)掌握常用的调试工具和技巧;(4)能够独立思考和解决问题;(5)具备一定的软件开发能力。
3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情;(2)培养学生良好的编程习惯和团队协作精神;(3)培养学生具有较强的自学能力和创新意识;(4)培养学生具备良好的道德品质和职业素养。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程技巧。
具体安排如下:1.C语言的基本语法:(1)C语言的发展历程和特点;(2)基本数据类型、运算符和表达式;(3)程序的流程控制语句;(4)函数的定义和调用;(5)数组、指针和字符串的使用。
2.数据结构:(1)顺序结构;(2)选择结构;(3)循环结构;(4)常用的高级数据结构及其应用。
3.算法和编程技巧:(1)常用的排序算法;(2)查找算法;(3)常用的数据处理方法;(4)面向对象编程思想。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
具体应用如下:1.讲授法:用于讲解C语言的基本语法、数据结构和算法;2.讨论法:用于探讨编程技巧和解决问题的方式;3.案例分析法:通过分析典型的程序案例,使学生更好地理解编程思想;4.实验法:让学生动手编写程序,培养实际操作能力。
c语言选修课程设计

c语言选修课程设计一、课程目标知识目标:1. 学生能理解C语言的基本语法,掌握数据类型、变量、运算符的使用。
2. 学生能掌握C语言的控制结构,包括顺序结构、分支结构和循环结构。
3. 学生能运用数组、函数和指针等C语言特性进行程序设计。
技能目标:1. 学生能运用C语言编写简单的程序,解决实际问题。
2. 学生能通过分析问题,设计合理的程序结构和算法,提高编程能力。
3. 学生能使用调试工具,找出并修正程序中的错误,提高程序质量。
情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习C语言的积极性和主动性。
2. 学生培养良好的编程习惯,注重代码规范,提高团队协作能力。
3. 学生通过C语言学习,认识到编程在科技发展中的重要性,增强社会责任感和创新精神。
课程性质:本课程为C语言选修课程,旨在让学生掌握C语言的基本知识和编程技能,培养编程思维和解决问题的能力。
学生特点:学生具备一定的逻辑思维能力,对编程有一定兴趣,但编程基础薄弱。
教学要求:注重理论与实践相结合,以案例教学为主,引导学生主动参与,培养实际编程能力。
教学过程中,关注学生的个体差异,因材施教,使学生在课程中取得最佳的学习成果。
通过课程学习,使学生能够独立完成简单的C语言程序设计,为后续深入学习打下坚实基础。
二、教学内容1. C语言基础知识- 数据类型、变量和常量- 运算符和表达式- 输入输出函数2. 控制结构- 顺序结构- 分支结构(if语句、switch语句)- 循环结构(for循环、while循环、do-while循环)3. 数组- 一维数组- 二维数组- 字符数组与字符串4. 函数- 函数的定义与调用- 函数的参数传递- 递归函数5. 指针- 指针的定义与使用- 指针与数组- 指针与函数6. 结构体- 结构体的定义与使用- 结构体数组- 结构体指针7. 文件操作- 文件的打开与关闭- 文件的读写操作- 文件的位置指针本教学内容按照教材章节进行组织,涵盖C语言的基本概念、语法和编程技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书题目名称:学生选修课程系统设计系部:专业班级:学生姓名:学号:指导教师:完成日期:2019年6月26日课程设计评定意见设计题目学生选修课程系统设计系部专业班级学生姓名学生学号评定意见:评定成绩:指导教师(签名):2019年6月日新疆工程学院课程设计任务书2018-2019学年下学期2019年6月24 日教研室主任(签名)系(部)主任(签名)摘要学生选修课系统用于学生课程的查询,选择。
系统可以准确的记录和查询学生、老师以及所开设的课程的基本信息,学生登录系统后可以根据本专业制定的教学计划进行选课操作,查询课程的基本信息。
系统的主要功能包括:课程信息和学生信息的录入功能,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息(数据保存生成文件),课程信息浏览功能,调用所生成的文件;查询功能,根据课程名称、性质、学分查询;按学分查询某门课程学生选修情况,如所选的课程学分小于60则选修课程失败。
关键词:学生选修课系统;查询;浏览;选择目录1题目及要求 (1)1.1目的 (1)1.2设计要求 (1)1.3设计功能 (1)2详细设计 (2)3.编码与实现 (16)4程序分析 (19)总结 (20)参考文献 (21)1题目及要求1.1目的1)利用计算机能够进行信息管理,使用计算机进行信息控制,提高了工作效率,而且大大的提高了其安全性2)对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好学生选课信息而设计的。
3)数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。
基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
1.2设计要求假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
设计系统,使之能提供以下功能:系统以菜单方式工作;课程信息和学生信息的录入功能(课程信息有文件保存);课程信息浏览功能;查询功能:至少一种查询方式,按学分查询某门课程学生选修情况。
1.3设计功能本程序是学生选修课系统,有两种模块,分别为管理员模块和学生模块。
管理员模式包括课程信息和学生信息的录入功能和浏览,查询,添加,删除课程运用字符串处理函数处理密码的功能,学生模块包括六个功能浏览课程,查询课程,选修课程,浏览我所选修的课程,添加选修课程,删除错选的课程2详细设计本系统主要分为管理员模块和学生模块,各模块功能如图1所示。
图1系统功能本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。
核心代码typedef struct subjects{int num; //课程编号char name[20]; //课程名称char kind[10]; //课程性质int stime; //总学时int ttime; //授课学时int etime; //实验或上机学时int score; //学分int term; //开课学期struct subjects *next;}SUB;SUB *head=NULL;int main(){int n,w=1;do{system("cls");puts("\n\n\t\t*****************MENU******************\n\n");puts("\t\t\t\t1.以管理员身份登录\n");puts("\t\t\t\t2.以学生身份登录\n");puts("\t\t\t\t3.退出");puts("\n\n\t\t*******************************************\n");printf("Chiose your number(1-3):[ ]\b\b");scanf("%d",&n);switch(n){case 1:Mangers() ;break;case 2:Students();break;case 3:w=0;break;default:;}}while(w==1);return 0;}2.1主函数,头文件及结构体声明主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块:核心代码:#include "stdio.h"#include "string.h"#include "stdlib.h"#include"malloc.h"void prin1();void choose();typedef struct subjects //课程结构体{int num; //课程编号char name[20]; //课程名称char kind[10]; //课程性质int stime; //总学时int ttime; //授课学时int etime; //实验或上机学时int score; //学分int term; //开课学期struct subjects *next;}SUB;SUB *head=NULL;int main(){int n,w=1;do{system("cls");puts("\n\n\t\t❤❤❤❤❤❤❤❤MENU❤❤❤❤❤❤❤❤*\n\n");puts("\t\t\t\t1.以管理员身份登录\n");puts("\t\t\t\t2.以学生身份登录\n");puts("\t\t\t\t3.退出");puts("\n\n\t\t❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤\n");printf("Chiose your number(1-3):[ ]\b\b");scanf("%d",&n);switch(n){case 1:Mangers() ;break;case 2:Students();break;case 3:w=0;break;default:;}}while(w==1);return 0;}2.2学生功能菜单学生功能菜单功能主要包括浏览课程,选择选修课,浏览我所选修的课程,删除错选的课程,返回主菜单,如图2所示。
学生登录按1-6数字键进入各选项1、浏览所有课程2、查询课程信息3、选择选修课程4、浏览我选修的课程5、删除错选课程6、返回主菜单进入所选目标图2 学生登录菜单核心代码:void Students() //学生登录菜单{int n,w=1;do{system("cls");puts("\n\n\t\t❤❤❤❤❤❤❤❤学生菜单❤❤❤❤❤❤❤❤\n\n");puts("\t\t\t\t1---浏览所有课程\n");puts("\t\t\t\t2---查询课程信息\n");puts("\t\t\t\t3---选择选修课程\n");puts("\t\t\t\t4---浏览我选修的课程\n");puts("\t\t\t\t5---删除错选课程\n");puts("\t\t\t\t6---返回主菜单");puts("\n\n\t\t❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤\n");printf("Chiose your number(1-6):[ ]\b\b");scanf("%d",&n);switch(n){case 1:prin();break;case 2:search();break;case 3:choose();break;case 4:prin1();break;case 5:del();savefile1();break;case 6:return;default:;}}while(w==1);}2.3创建链表模块选修课信息录入,运用int,char函数。
主要函数:SUB *create_form() //创建链表{SUB *head,*tail,*p;int num,stime,ttime;int etime,score,term;char name[20],kind[10];int size=sizeof(SUB);head=tail=NULL;printf("输入选修课程信息:\n");scanf("%d%s%s%d%d%d%d%d",&num,name,kind,&stime,&ttime,&etime, &score,&term);while(num!=0){p=(SUB *)malloc(size);p->num=num;strcpy(p->name,name);strcpy(p->kind,kind);p->stime=stime;p->ttime=ttime;p->etime=etime;p->score=score;p->term=term;if(head==NULL)head=p;elsetail->next=p;tail=p;scanf("%d%s%s%d%d%d%d%d",&num,name,kind,&stime,&ttime,&etime,&sc ore,&term);}tail->next=NULL;return head;}2.4查询模块主要函数:void search() //课程信息查询{int a,num;int t=1;char type[10],min[10];SUB *ptr;L1:system("cls");printf("\n\n\t\t❤❤❤❤❤❤❤❤请选择查询方式❤❤❤❤❤❤❤❤\n");printf("\n\t\t\t1---按课程名称查找\n");printf("\n\t\t\t2---按课程性质查找\n");printf("\n\t\t\t3---按学分查找\n");printf("\n\t\t\t4---退出查找\n");printf("\n\n\t\t❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤\n");printf("\n\nChiose your number(1-4):[ ]\b\b");scanf("%d",&a);switch(a){case 1:printf("请输入要查找的课程的名称:");scanf("%s",min);printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");for(ptr=head;ptr;ptr=ptr->next)if(strcmp(min,ptr->name)==0){printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr-> kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);t=0;}if(t)printf("\t\n未找到!\n");system("pause");goto L1;case 2:printf("请输入要查找的课程的性质:");scanf("%s",type);printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");for(ptr=head;ptr;ptr=ptr->next)if(strcmp(type,ptr->kind)==0){printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr-> kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);t=0;}if(t)printf("\t\n未找到!\n");t=1;system("pause");goto L1;case 3:printf("输入要查找的课程的学分:");scanf("%d",&num);printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");for(ptr=head;ptr;ptr=ptr->next)if(ptr->score==num){printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr-> kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);t=0;if(t)printf("\n\t未找到!\n");t=1;system("pause");goto L1;case 4:break;}}t=0;}if(t)printf("\n\t未找到!\n");t=1;system("pause");goto L1;case 4:break; //退出查找}图3链表模块2.5选修模块此模块是用于学生选修课,运用if-else语句判断所选修的课程总学分是否达到60分,如果达到60分则选修成功,所选课的信息存入文件中;否则则选修失败。