C语言课程设计-学生选修课程系统设计
c语言课程设计学生选课系统
c语言课程设计学生选课系统一、教学目标本课程的目标是让学生掌握C语言编程基础,能够运用C语言设计学生选课系统。
具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识。
2.技能目标:学生能够运用C语言编写简单的程序,具备一定的编程能力,能够独立设计并实现学生选课系统的核心功能。
3.情感态度价值观目标:学生通过本课程的学习,能够培养对计算机编程的兴趣和热情,提高解决问题的能力,培养团队协作和自主学习的意识。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.C语言基础知识:包括基本语法、数据类型、运算符、控制结构等。
2.函数:包括函数的定义、声明、调用等。
3.数组和字符串:包括一维数组、多维数组、字符串的基本操作等。
4.指针:包括指针的基本概念、指针与数组、指针与函数等。
5.结构体和文件:包括结构体的定义和使用、文件的读写操作等。
6.学生选课系统的设计与实现:包括系统需求分析、系统设计、核心功能实现等。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构等知识,让学生掌握C语言的基础知识。
2.案例分析法:通过分析实际的学生选课系统的案例,让学生了解并掌握系统的设计与实现方法。
3.实验法:让学生通过动手编写程序,巩固所学知识,提高编程能力。
4.小组讨论法:分组让学生讨论并解决问题,培养团队协作和自主学习的意识。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材。
2.参考书:提供相关的C语言编程参考书籍,供学生自主学习。
3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高学生的学习兴趣。
4.实验设备:提供计算机实验室,让学生能够进行上机实验,提高编程能力。
五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
c语言课程设计学生选课系统
c语言课程设计 学生选课系统一、课程目标知识目标:1. 学生能理解C语言在开发学生选课系统中的应用,掌握基本的数据结构(如结构体、数组、链表)和文件操作相关知识。
2. 学生能运用C语言实现学生选课系统的基本功能,如学生信息管理、课程信息管理、选课操作等。
3. 学生能理解并掌握C语言中的模块化编程思想,将学生选课系统分解为多个函数,提高代码的可读性和可维护性。
技能目标:1. 学生能运用C语言编写、调试和运行学生选课系统,具备一定的编程实践能力。
2. 学生能通过团队协作,共同完成一个完整的学生选课系统项目,提高沟通与协作能力。
3. 学生能运用所学知识,对现有学生选课系统进行优化和改进,提高系统性能。
情感态度价值观目标:1. 学生通过本课程的学习,培养对计算机编程的兴趣和热情,树立学习C语言的自信心。
2. 学生在团队协作中,学会尊重他人意见,培养合作精神和团队意识。
3. 学生能够认识到编程在解决实际问题中的价值,提高将所学知识应用于实际生活的意识。
课程性质:本课程为C语言编程实践课程,旨在让学生通过动手实践,掌握C 语言编程技能,并运用所学知识解决实际问题。
学生特点:学生已具备一定的C语言基础,具备基本编程能力,但缺乏实际项目经验。
教学要求:注重理论与实践相结合,强调编程实践,培养学生解决实际问题的能力。
通过团队协作,提高学生的沟通与协作能力。
在教学过程中,关注学生的个体差异,因材施教,使每位学生都能在原有基础上得到提高。
二、教学内容1. 数据结构基础:回顾结构体、数组、链表等基本数据结构,讲解其在学生选课系统中的应用。
相关教材章节:第3章 数据类型与表达式,第4章 控制结构,第5章 函数,第6章 数组与字符串,第7章 指针与结构体。
2. 文件操作:介绍文件读写、文件管理等基本操作,为学生选课系统提供数据持久化支持。
相关教材章节:第10章 文件操作。
3. 模块化编程:讲解模块化编程思想,引导学生将学生选课系统分解为多个函数,提高代码的可读性和可维护性。
c语言设计课程设计学生选修课程系统设计
题目一、学生选课治理系统目录第一部份:课程设计名称、目的、要求名称:学生选修课程系统设计目的:运用C语言提高解决实际问题的能力实验环境:Microsoft Visual C++内容:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,讲课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
【功能】系统以菜单方式工作课程信息录入功能(课程信息用文件保留)--输入课程信息阅读功能--输出查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询学生选修课程(可选项)第二部份:程序整体设计思路由于C语言是面对进程的语言,故我的设计思路是依照目标程序运行的进程来编写的。
具体的设计思路如下:程序的要求是设计学生选修课治理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。
第一,考虑到程序的数据输入,能够设置一个治理员登岸选项,通过该选项进入治理员界面,进行选修课的录入和修改操作,最后将录入的课程保留到相应的文件中。
然后概念各类函数的功能包括查看,查询,删除等。
另一个为学生登岸界面,该界面学生能够进行课程选择和阅读查询等操作。
在进行该操作之前需要对治理员保留的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,能够将其选好的课程保留于相应的文件中,以便下次进行修改。
通过函数的层层挪用来实现程序的逻辑结构。
中间通过文件的打开和关闭实现对文件内部所包括的数据的操作。
整个程序的设计思路到此终止。
第三部份:程序功能划分、图示及流程图【功能模块划分及其流程图】本程序功能模块依照程序设计的需求,综合程序的有效性、人性化、智能化的考虑,将程序划分为6个部份别离编写,程序主体功能将由这9个部份来完成。
这9个部份依次是:1.登录界面函数;void login()2.学生登录界面据函数:void stu_login()3.治理员登录界面函数:void man_login()4.退出界面函数:void bye_sys()5.课程选择函数:void c_select()6.课程阅读函数:void c_view()7.课程查询函数:void c_search()8.课程增加函数:void c_add()9.课程删除函数:void c_delete()10.菜单函数:void index()11.主函数部份;main()整体设计:系统功能模块图部份函数流程图:1、课程选择函数:2、课程查询函数3、课程增加函数4、课程删除函数第四部份:程序设计数据、运行结果本程序是一款应用软件,故数据设计、程序运行结果应在程序的运用中得以表现,此刻通过一个程序的运用事例来对程序运行结果进行演示与实现。
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 课程设计一、教学目标本课程旨在让学生掌握学生选课系统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语言学生选课系统课程设计一、引言学生选课系统是高校管理系统中的重要组成部分,它通过网络为学生提供了方便快捷的选课服务。
本课程设计旨在设计一个基于C语言的学生选课系统,通过实现选课、查看选课结果、修改选课等功能,帮助学生更好地管理自己的选课信息。
二、功能设计1. 学生相关功能1.1 登录功能学生可以通过输入学号和密码登录系统,确保只有正式注册的学生才能使用该系统。
1.2 查看选课信息功能学生登录后可以查看所有可选课程的信息,包括课程名称、授课教师、上课时间等。
1.3 选课功能学生可以根据自己的兴趣和需求选择课程进行选课操作,并将选课结果保存到系统中。
1.4 查看选课结果功能学生可以查看自己已选课程的详细信息,包括课程名称、授课教师、上课时间等。
1.5 修改选课功能学生可以对已选课程进行修改操作,包括添加新课程、删除已选课程等。
2. 管理员相关功能2.1 管理员登录功能管理员可以通过输入管理员账号和密码登录系统,以获得管理员权限。
2.2 添加课程功能管理员登录后可以添加新的课程信息,包括课程编号、课程名称、授课教师、上课时间等。
2.3 删除课程功能管理员可以删除已存在的课程信息,以便及时更新课程列表。
2.4 查看选课情况功能管理员可以查看学生的选课情况,包括学生姓名、所选课程、选课时间等。
2.5 修改选课情况功能管理员可以对学生的选课结果进行修改操作,包括添加课程、删除课程等。
三、系统设计1. 学生数据结构设计在系统中,每个学生可以用一个数据结构来表示,包括学号、姓名、密码等信息。
struct Student {int stuId;char stuName[20];char password[20];};2. 课程数据结构设计每门课程可以用一个数据结构来表示,包括课程编号、课程名称、授课教师、上课时间等信息。
struct Course {int courseId;char courseName[30];char teacher[20];char classTime[20];};3. 数据存储设计使用文件来存储学生和课程信息,其中学生信息存储在一个文件中,课程信息存储在另一个文件中。
c语言学生选课系统设计详细设计
c语言学生选课系统设计详细设计详细设计:1. 数据结构设计:- 学生信息结构体:包含学生姓名、学号、已选课程等信息。
- 课程信息结构体:包含课程名称、课程编号、授课教师等信息。
- 教师信息结构体:包含教师姓名、教师编号等信息。
2. 功能设计:- 学生选课功能:学生可以浏览可选课程列表,并选择自己感兴趣的课程进行选修。
选修成功后,将该门课程加入学生的已选课程列表中。
- 课程管理功能:教师可以添加、修改和删除课程信息。
- 学生信息管理功能:教师可以查看学生的选课情况,并进行相关操作,如修改学生选课等。
3. 界面设计:- 学生选课界面:显示可选课程列表,并提供选课按钮。
- 课程管理界面:显示课程信息列表,并提供添加、修改和删除按钮。
- 学生信息管理界面:显示学生信息列表和选课情况,并提供相关操作按钮。
4. 数据库设计:- 学生表:包含学生姓名、学号、已选课程等字段。
- 课程表:包含课程名称、课程编号、授课教师等字段。
- 教师表:包含教师姓名、教师编号等字段。
5. 系统流程设计:- 学生选课流程:学生登录系统后,进入选课界面,浏览可选课程列表,选择自己感兴趣的课程进行选修。
选修成功后,系统更新学生的已选课程列表。
- 课程管理流程:教师登录系统后,进入课程管理界面,可以进行添加、修改和删除课程信息的操作。
系统更新课程表。
- 学生信息管理流程:教师登录系统后,进入学生信息管理界面,可以查看学生的选课情况,并进行相关操作,如修改学生选课。
系统更新学生表。
6. 错误处理设计:- 输入错误处理:对于用户输入的非法数据,系统进行提示并要求重新输入。
- 数据库错误处理:对于数据库操作过程中的错误,系统进行捕获并给出相应的错误提示。
以上为一个简单的C语言学生选课系统的详细设计。
根据具体需求,还可以进行更加详细和具体的设计。
C语言课程设计学生选修课系统设计
汇报人:
目录
添加目录标题
系统概述
系统需求分析
系统设计
系统实现
系统部署与维护
添加章节标题
系统概述
提高学生编程能力
方便教师管理课程设计项目
添加标题
添加标题
提供课程设计实践平台
添加标题
添加标题
促进学生之间的交流与合作
学生选课:查看课程信息,选择感兴趣的课程 教师管理:发布课程信息,管理学生选课情况 教务管理:查看学生选课情况,统计课程报名人数 系统维护:更新课程信息,维护系统正常运行
系统评估与总结
功能完整性:系统是否具备所有必需的 功能
性能稳定性:系统在运行过程中是否稳 定,是否会出现崩溃或错误
用户体验:系统的界面设计、操作流程 是否符合用户习惯,是否易于使用
安全性:系统是否具备足够的安全措施, 如数据加密、用户认证等
可扩展性:系统是否具备良好的可扩展 性,能够适应未来的需求变化
硬件要求:服务器、网络设备、存储设备等 软件要求:操作系统、数据库管理系统、Web服务器等
部署步骤:安装操作系统、安装数据库管理系统、安装Web服务器、部署应用程序等
维护方案:定期备份数据、定期检查系统运行状况、定期更新软件等
定期备份数据:确保数据安全, 防止数据丢失
定期更新软件:确保系统安全, 防止病毒和恶意软件攻击
管理员模块:用户管理、课程管理、选 课管理、成绩管理等操作
系统实现
数据库类型:MySQL
数据库操作:增删改查、事务处理、 备份恢复
添加标题
添加标题
添加标题
添加标题
数据库设计:表结构设计、字段设 计、索引设计
数据库优化:查询优化、索引优化、 存储优化
C课程设计学生选课系统设计
目录1系统需求分析................................................................................................ 错误!未定义书签。
2总体设计........................................................................................................ 错误!未定义书签。
3具体设计........................................................................................................ 错误!未定义书签。
4界面设计与各功能模块实现........................................................................ 错误!未定义书签。
5 系统调试....................................................................................................... 错误!未定义书签。
6 实验心得体会............................................................................................... 错误!未定义书签。
7附: 源程序251系统需求分析(1)、本系统是针对高校学生的选修课程而设计, 通过本系统高校学生可以很方便地进行自由选课。
重要的问题描述是(功能规定): n门课程, 每门课程有课程编号, 课程名称, 课程性质, 总学时, 授课学时, 实验或上机学时, 学分, 开课学期等信息, 学生可按规定(如总学分不得少于60)自由选课。
课程设计学生选课系统c语言
课程设计学生选课系统c语言一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握学生选课系统相关的数据类型、运算符、控制语句等知识;2. 学会使用C语言设计学生选课系统的功能模块,包括学生信息管理、课程信息管理、选课操作等;3. 了解C语言在学生选课系统中的应用场景,掌握一定的软件设计方法和技巧。
技能目标:1. 能够运用C语言编写简单的学生选课系统程序,具备基本的编程能力;2. 学会分析学生选课系统的需求,设计合理的程序结构,培养解决问题的能力;3. 能够使用调试工具对程序进行调试和优化,提高程序的执行效率。
情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习编程的热情,提高自主学习的积极性;2. 培养学生的团队协作意识,学会与他人合作完成项目任务;3. 通过实际操作,让学生认识到编程在解决实际问题中的价值,增强社会责任感。
课程性质:本课程为实践性较强的学科,结合实际应用场景,培养学生的编程能力和解决问题的能力。
学生特点:学生在本年级已具备一定的C语言基础,对编程有一定的兴趣和热情,但缺乏实际项目经验。
教学要求:教师需结合学生特点和课程性质,注重理论与实践相结合,引导学生主动参与,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. C语言基础回顾:数据类型、变量、运算符、控制语句(选择、循环)、函数等基本概念和用法。
2. 学生选课系统需求分析:介绍学生选课系统的功能模块,分析各模块的需求,明确编程目标和任务。
3. 系统设计:- 数据结构设计:学生、课程等实体的属性和关系,以及数据存储方式;- 界面设计:系统菜单、功能界面等;- 功能模块设计:学生信息管理、课程信息管理、选课操作、查询等模块。
4. 编程实践:- 搭建开发环境,熟悉编程工具;- 编写各功能模块的代码,实现学生选课系统的基本功能;- 调试和优化程序,确保系统的稳定性和性能。
c课程设计学生选课系统
c课程设计学生选课系统一、教学目标本课程的目标是让学生掌握学生选课系统的开发和应用,包括对其原理和实现的理解,以及如何使用该系统进行选课。
•理解学生选课系统的基本原理和架构。
•掌握常用的选课算法和策略。
•熟悉学生选课系统的开发工具和技术。
•能够独立设计和实现一个简单的学生选课系统。
•能够对现有的学生选课系统进行评估和改进。
•能够使用相关的开发工具和技术进行学生选课系统的开发。
情感态度价值观目标:•培养学生的创新意识和团队合作精神,使他们能够在团队中发挥自己的专长,共同完成一个学生选课系统的设计和实现。
•培养学生对技术的热爱和敬业精神,使他们能够持续学习和跟进最新的技术动态,不断提高自己的技能水平。
二、教学内容本课程的教学内容主要包括学生选课系统的原理、选课算法、系统设计、开发工具和技术。
1.学生选课系统的原理:介绍学生选课系统的基本概念、架构和运作机制,包括选课流程、课程分类、学生选课策略等。
2.选课算法:讲解常用的选课算法,如先到先得、最大匹配、最小匹配等,并通过实例进行讲解和分析。
3.系统设计:介绍学生选课系统的系统设计,包括需求分析、模块设计、数据库设计等,并通过实际案例进行讲解和分析。
4.开发工具和技术:介绍学生选课系统的开发工具和技术,如编程语言、数据库管理系统、前端技术等,并通过实际操作进行讲解和演示。
三、教学方法本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法进行教学。
1.讲授法:通过讲解和演示,使学生了解学生选课系统的原理、算法、设计和开发工具等技术内容。
2.讨论法:通过学生进行小组讨论,培养他们的团队合作意识和解决问题的能力。
3.案例分析法:通过分析实际案例,使学生更好地理解和掌握学生选课系统的原理和设计方法。
4.实验法:通过实际操作和实验,使学生掌握学生选课系统的开发工具和技术,并培养他们的动手能力。
四、教学资源本课程将使用教材、参考书、多媒体资料和实验设备等教学资源。
c语言课程设计学生选课系统设计
c语言课程设计学生选课系统设计一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握数组、指针、函数等基本概念;2. 学会使用结构体、文件操作等C语言特性进行数据组织和存储;3. 掌握面向过程编程思想,能够运用C语言设计简单的学生选课系统。
技能目标:1. 能够运用结构化编程方法,编写模块化的C语言代码;2. 学会使用C语言进行简单的数据输入、处理和输出;3. 能够运用调试工具,分析并解决程序中的错误。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发自主学习编程的积极性;2. 培养学生的团队合作意识,学会在团队中发挥个人优势,共同解决问题;3. 培养学生严谨、细心的编程习惯,认识到编程对培养逻辑思维能力和解决问题能力的重要性。
课程性质:本课程为C语言程序设计课程的实践环节,以学生选课系统设计为主题,结合C语言编程知识,培养学生的实际编程能力和解决问题的能力。
学生特点:学生已具备一定的C语言基础,对编程有一定了解,但实际操作能力有待提高。
教学要求:结合学生特点和课程性质,将课程目标分解为具体的学习成果,注重实践操作,强化编程能力和团队协作能力的培养。
在教学过程中,关注学生个体差异,提供个性化指导,确保课程目标的达成。
二、教学内容1. C语言基础知识复习:数组、指针、函数、结构体、文件操作等基本概念和用法。
教材章节:第三章数组和第四章函数。
2. 面向过程编程思想:顺序结构、分支结构、循环结构等控制结构在实际编程中的应用。
教材章节:第五章控制结构。
3. 学生选课系统需求分析:了解系统功能、模块划分,明确编程目标和任务。
教材章节:项目实训部分。
4. 学生选课系统设计:模块化设计、数据结构设计、界面设计等。
教材章节:项目实训部分。
5. 编程实践:根据设计文档,编写C语言代码实现学生选课系统。
教材章节:项目实训部分。
6. 调试与测试:使用调试工具,对程序进行调试和测试,确保系统功能的正确性和稳定性。
C语言课程设计--学生选修课系统
C语言课程设计--学生选修课系统内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——学生选修课管理学生姓名:***学号:**********专业:计算机科学与技术班级:13-计算机2班指导教师:***内蒙古科技大学课程设计论文2013年12月31日内蒙古科技大学课程设计任务书目录课程设计任务书 (V)目录 (V)第一部分:程序总体设计思路 (3)第二部分:程序功能划分、图示及流程图 (3)函数划分 (3)总体设计 (4)课程选择函数流程图 (5)课程新增函数流程图 (6)第三部分:程序设计数据及运行结果 (7)第四部分:心得体会 (12)第五部分:附录(参考文献及源程序) (12)主函数部分:main() (14)菜单函数:void index() (14)登陆界面函数:void login() (15)学生登陆界面函数:void stu_login() (17)管理员登陆界面函数:void man_login() (16)退出界面函数:void bye_sys() (16)学生课程选择函数:void c_select() (18)课程增加函数:void c_add() (21)课程删除函数:void c_delete() (22)学生课程查询函数:void c_search() (25)管理员课程查询函数:void c_search() (28)管理员课程浏览函数:void c_view() (31)学生课程浏览函数:void c_view() (34)第一部分:程序总体设计思路由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
具体设计思路如下:程序的需求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。
首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。
C语言课程设计-学生选修课程系统设计
机学时、学分、开课学期。选修结构体成员包括学号,课程编号,该结 构体的建立主要是为了查询某门课程学生选修情况.。 三、数据结构设计 本系统的实现,全部采用链表这种数据结构,用链表实现课程的 查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构 体这种数据结构。 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; 四、程序分析 现代的社会是信息化的社会,信息无所不在。在生产领域、流通领 域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个 重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环 节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的 效率。 大学一般都有上千名学生,每学期开始学生都要选课,因而产生了 大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录 入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息 表。 对象:
[程序] 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); } (四) 创建链表模块
c课程设计学生选课系统设计
c 课程设计学生选课系统设计一、教学目标本课程的目标是让学生掌握学生选课系统的设计和实现。
知识目标包括:了解学生选课系统的需求分析、系统设计、实现和测试的基本知识;掌握常用的数据结构和算法在学生选课系统中的应用。
技能目标包括:能够使用相关工具进行学生选课系统的开发;具备学生选课系统的设计和实现能力。
情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情;培养学生团队协作和自主学习的意识。
二、教学内容本课程的教学内容主要包括:学生选课系统的需求分析、系统设计、实现和测试。
首先,介绍学生选课系统的需求分析,包括功能需求和非功能需求;然后,讲解学生选课系统的系统设计,包括模块划分、数据结构和算法设计;接着,介绍学生选课系统的实现,包括编程语言和开发工具的选择;最后,讲解学生选课系统的测试,包括测试用例的设计和测试结果的分析。
三、教学方法为了达到本课程的教学目标,将采用多种教学方法,包括讲授法、案例分析法、实验法等。
首先,通过讲授法向学生传授学生选课系统的相关理论知识;然后,通过案例分析法让学生了解实际的学生选课系统设计和实现过程;接着,通过实验法让学生亲手实践,加深对理论知识的理解;最后,通过小组讨论和报告,培养学生的团队协作和沟通能力。
四、教学资源为了支持本课程的教学内容和方法,将准备多种教学资源,包括教材、参考书、多媒体资料和实验设备。
教材和参考书将用于提供理论知识的讲解和示例;多媒体资料将用于辅助讲解和展示;实验设备将用于让学生亲手实践。
这些教学资源将帮助学生更好地理解和掌握学生选课系统的设计和实现。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生的课堂参与和团队协作能力,包括课堂提问、小组讨论和报告等;作业主要评估学生的理解和应用能力,包括练习题和项目任务等;考试主要评估学生的综合运用能力,包括理论知识和实践技能的考核。
评估方式应客观、公正,能够全面反映学生的学习成果。
学生选课系统课程设计c语言
学生选课系统课程设计c语言一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,理解面向对象编程的基本概念,并能够运用C语言进行简单的程序设计。
2.技能目标:学生能够熟练使用C语言进行程序设计,具备良好的编码习惯和调试能力,能够独立解决程序中的问题,并能够阅读和理解他人的代码。
3.情感态度价值观目标:学生应该培养对计算机科学的兴趣和热情,认识编程对个人和社会的意义,遵守编程规范和道德准则,培养团队合作精神和创新思维。
二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基础知识:数据类型、变量、运算符、控制结构、函数等。
2.面向对象编程:类和对象、继承和多态、封装和抽象等。
3.程序设计:数组、字符串、指针、文件操作等。
4.算法和数据结构:基本算法、排序算法、树结构等。
5.编程实践:综合运用所学知识进行实际项目的开发和实现。
三、教学方法本课程的教学方法包括以下几种:1.讲授法:教师通过讲解和示例,向学生传授C语言的基本知识和编程技巧。
2.讨论法:学生通过小组讨论,共同解决问题,加深对知识的理解和应用。
3.案例分析法:分析实际的编程案例,让学生了解编程在实际中的应用和解决方法。
4.实验法:学生通过编写和调试程序,巩固所学知识,提高编程能力。
四、教学资源本课程的教学资源包括以下几种:1.教材:《C程序设计语言》或《C Primer Plus》等。
2.参考书:《C和指针》、《C专家编程》等。
3.多媒体资料:教学PPT、视频教程、在线编程练习等。
4.实验设备:计算机、编程环境、调试工具等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过学生的课堂参与、提问、讨论等表现来评估学生的学习态度和积极性。
2.作业:布置适量的作业,要求学生按时完成,并根据作业的质量和完成情况给予评分。
3.考试:进行定期考试,包括期中考试和期末考试,以评估学生对课程知识的掌握程度和应用能力。
c语言学生选课系统课程设计
c语言学生选课系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过设计和实现一个学生选课系统,培养学生的实际编程能力和问题解决能力。
具体目标如下:知识目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
技能目标:培养学生使用C语言进行程序设计的能力,包括变量定义、输入输出、条件判断、循环控制等。
情感态度价值观目标:培养学生对计算机科学的兴趣,增强学生的创新意识和团队协作精神。
二、教学内容教学内容以教材《C程序设计》为主线,结合学生选课系统的实际需求,安排如下:1.C语言基础知识:数据类型、变量、运算符、表达式等。
2.控制结构:顺序结构、分支结构、循环结构等。
3.函数:函数的定义、调用、参数传递、返回值等。
4.数组和字符串:一维数组、多维数组、字符串的基本操作等。
5.指针:指针的概念、指针的运算、指针与数组、指针与函数等。
6.结构体和文件:结构体的定义和使用、文件的打开、读写、关闭等。
7.学生选课系统的设计与实现:系统需求分析、系统设计、功能模块划分、编程实现等。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构等知识。
2.案例分析法:通过分析学生选课系统的实际案例,使学生掌握函数的定义、调用等。
3.实验法:让学生亲自动手编写代码,实现学生选课系统的各个功能模块。
四、教学资源教学资源包括教材、实验设备、多媒体资料等,以支持教学内容和教学方法的实施,丰富学生的学习体验。
1.教材:《C程序设计》。
2.实验设备:计算机、网络等。
3.多媒体资料:教学PPT、视频教程、在线编程练习等。
五、教学评估为了全面、客观地评估学生的学习成果,本课程采用以下评估方式:1.平时表现:评估学生在课堂上的参与度、提问回答、小组讨论等,以考察学生的学习态度和积极性。
2.作业:布置适量的课后作业,让学生巩固所学知识,并通过作业批改了解学生的掌握情况。
c语言学生选课系统课程设计
c语言 学生选课系统课程设计一、课程目标知识目标:1. 掌握C语言基础语法,包括数据类型、变量、运算符、控制结构等;2. 学会使用数组、函数、指针等C语言高级特性;3. 理解结构体、文件操作等在C语言中的应用;4. 了解C语言在开发学生选课系统中的实际应用。
技能目标:1. 能独立编写C语言程序,实现学生选课系统的基本功能;2. 学会使用C语言进行数据存储、处理和展示;3. 培养良好的编程习惯,注重代码规范和注释;4. 学会分析问题,设计合理的算法和程序结构。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习热情;2. 培养学生团队合作意识,学会与他人共同解决问题;3. 增强学生的自信心,敢于面对编程挑战;4. 培养学生的创新思维,敢于尝试新方法解决问题。
课程性质:本课程为实践性较强的课程,旨在让学生在实际操作中掌握C语言编程技能,培养学生解决实际问题的能力。
学生特点:学生具备一定的C语言基础,对编程有一定了解,但对实际项目的开发尚无经验。
教学要求:注重理论与实践相结合,强调动手实践,引导学生通过团队协作完成课程设计任务。
在教学过程中,关注学生个体差异,提供个性化指导,确保学生达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. C语言基础语法复习:数据类型、变量、常量、运算符、表达式、控制结构(顺序、选择、循环)。
教材章节:第一章至第三章。
2. 数组与字符串:一维数组、二维数组、字符串操作。
教材章节:第四章。
3. 函数与指针:函数定义、调用、递归;指针的概念、使用。
教材章节:第五章、第六章。
4. 结构体与文件操作:结构体的定义和使用;文件读写操作。
教材章节:第七章、第十章。
5. 学生选课系统需求分析:功能模块划分、数据结构设计。
教材章节:项目实战部分。
6. 编程实现学生选课系统:根据需求分析,编写程序代码,实现选课、退课、查询课程、显示选课结果等功能。
教材章节:项目实战部分。
c语言选课系统课程设计
c语言选课系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本知识,学会使用C语言进行程序设计,培养学生的编程思维和解决问题的能力。
具体的学习目标包括:1.知识目标:•掌握C语言的基本语法和数据结构;•了解C语言的编程思想和程序设计的基本方法;•熟悉C语言的编译和调试工具。
2.技能目标:•能够使用C语言编写简单的程序;•能够运用C语言解决实际问题;•具备基本的编程调试能力。
3.情感态度价值观目标:•培养学生的团队合作意识和沟通能力;•培养学生对编程的兴趣和热情;•培养学生解决问题的自信心和坚持不懈的精神。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.C语言的基本语法和数据结构;2.C语言的编程思想和程序设计的基本方法;3.C语言的编译和调试工具的使用;4.编程实践和问题解决。
具体的教学大纲如下:第1-2周:C语言的基本语法和数据结构;第3-4周:C语言的编程思想和程序设计的基本方法;第5-6周:C语言的编译和调试工具的使用;第7-8周:编程实践和问题解决。
为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和示例,让学生掌握C语言的基本语法和编程方法;2.讨论法:通过小组讨论和问题解答,培养学生的团队合作意识和沟通能力;3.案例分析法:通过分析实际案例,让学生学会运用C语言解决实际问题;4.实验法:通过编程实践和实验操作,提高学生的编程能力和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》或《C Primer Plus》;2.参考书:《C语言程序设计实例教程》或《C语言编程之美》;3.多媒体资料:教学PPT、视频教程、在线编程练习平台;4.实验设备:计算机、编程环境、调试工具。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和参与程度;2.作业:通过布置练习题、编程任务等,评估学生的知识掌握和编程能力;3.考试:通过期中和期末考试,评估学生的综合运用能力和学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生选修课系统设计一、设计目的当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。
计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好学生选课信息而设计的。
数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。
基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
二、题目说明假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
试设计一选修课程系统,使之能提供一下功能:(1)系统以菜单方式工作;(2)课程信息和学生信息的录入功能(课程信息有文件保存)----输入;(3)课程信息浏览功能----输出;(4)查询功能(至少一种查询方式)---算法;(5)按学分查询;(6)某门课程学生选修情况(可选项)。
[提示]数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。
选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。
三、数据结构设计本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。
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;四、程序分析现代的社会是信息化的社会,信息无所不在。
在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。
学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。
大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。
考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。
对象:系统的主要使用对象是需要选课的学生。
学生在选课是要察看各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。
需要随学生选课的变化,计算相应的总学分。
在全部选定后,打印报表。
系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。
五、程序设计大纲六、模块设计(一) 主函数,头文件及结构体声明主函数设计地比较简洁,只是提供一个主菜单,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;}(二) 管理员功能模块管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用:[程序]void Mangers(){int n,w=1,flag=0,i=3;char s[8];char password[7]="1";do{printf("\n\nEnter password:");scanf("%s",s);if(!strcmp(s,password)) //进行密码匹配验证{flag=1;break;}else{printf("\n\nError! You only have %d times! Enter again:\n",i-1);i--;}}while(i>0);if(!flag){printf("you have Enter 3 times!"); //输入密码超过了3次!!exit(0); //自动退出}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---返回主菜单");puts("\n\n\t\t******************************************************\n");printf("Chiose your number(1-5):[ ]\b\b");scanf("%d",&n);switch(n){case 1:prin();break;case 2:search();break;case 3:insert();savefile();break;case 4:del();savefile();break;case 5:return;default:;}}while(w==1);}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);}(三) 学生功能菜单学生功能菜单包括六个功能:浏览课程,查询课程,选修课程,浏览我所选修的课程,添加选修课程,删除错选的课程,也是用到switch语句来调用函数:[程序]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);}(四) 创建链表模块[程序]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,&te rm);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,&s core,&term);}tail->next=NULL;return head;}(五) 浏览模块浏览模块主要用管理员中的“浏览课程”和学生功能中的“浏览所有所有课程”,将所有的课程信息输出,即将all_sub.txt文件里面的内容全部输出:[程序]void prin() //浏览所有课程{SUB *ptr;head=NULL;readfile();if(head==NULL){printf("\n\n\t*********NO RECORDS!************\n");return;}printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");for(ptr=head;ptr;ptr=ptr->next){printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->st ime,ptr->ttime,ptr->etime,ptr->score,ptr->term);}system("pause");}void prin1() //浏览所有已选修课程{SUB *ptr;FILE *fp;if((fp=fopen("3.txt","r"))==NULL){printf("Cannot open file.\n");choose();}printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");while(!feof(fp)){ptr=(SUB*)malloc(sizeof(SUB));fscanf(fp,"%d%s%s%d%d%d%d%d\n",&ptr->num,ptr->name,ptr->kind,&ptr->stime,&p tr->ttime,&ptr->etime,&ptr->score,&ptr->term);printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->st ime,ptr->ttime,ptr->etime,ptr->score,ptr->term);}system("pause");}(六) 查询模块查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个case语句就是一中查询方法:[程序]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->st ime,ptr->ttime,ptr->etime,ptr->score,ptr->term);t=0;}if(t)printf("\t\n未找到!\n");t=1;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->st ime,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->st ime,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; //退出查找}}(七) 插入链表模块插入链表操作主要用于添加课程,在整个课程信息中加入一些新课程,它在添加模块中被调用:[程序]void *myInsert(SUB *subj) //链表插入操作{SUB *ptr,*ptr2;ptr=subj;if(head==NULL){head=ptr;head->next=NULL;}else{for(ptr2=head;ptr2;ptr2=ptr2->next)if(ptr2->next==NULL){ptr2->next=subj;subj->next=NULL;break;}}return head;}(八) 添加模块添加模块主要用于增加课程信息,采用链表的操作:[程序]void *insert() //插入课程信息{SUB *ptr,*subj;int size=sizeof(SUB);char ch,ch1;while(ch!='0'){subj=(SUB *)malloc(size);ptr=subj;printf("输入要插入的课程信息:\n");printf("\n\t\t 请输入课程编号:");scanf("%d",&subj->num);printf("\n\t\t请输入课程名称:");scanf("%s",&subj->name);printf("\n\t\t 请输入课程性质:");scanf("%s",&subj->kind);printf("\n\t\t请输入总学时:");scanf("%d",&subj->stime);printf("\n\t\t请输入授课学时:");scanf("%d",&subj->ttime);printf("\n\t\t请输入实践或上机学时:");scanf("%d",&subj->etime);printf("\n\t\t请输入学分:");scanf("%d",&subj->score);printf("\n\t\t请输入开课学期:");scanf("%d",&subj->term);myInsert(subj);printf("\n\n继续插入请按回车\n");printf("\n结束添加课程按 0: [ ]\b\b");ch1=getchar(); /*将回车键赋给CH1,否则subj->term 输完后输入的回车键会赋给CH,因此用CH1填补。