第九组——学生选修课程系统
学生选课系统数据流图

学生选课系统数据流图概述:学生选课系统是一个用于学生在大学期间选择课程的在线平台。
该系统旨在提供方便快捷的选课服务,使学生能够根据自己的学习计划和兴趣选择适合自己的课程。
本文将介绍学生选课系统的数据流图,包括系统的功能和各个模块之间的数据流动。
一、系统功能:1. 学生注册:学生通过填写个人信息、学号等注册成为系统的用户。
2. 课程查询:学生可以通过系统查询所有可选的课程信息,包括课程名称、教师、上课时间等。
3. 选课:学生可以根据自己的需求选择感兴趣的课程,并提交选课请求。
4. 课程安排:系统根据学生的选课请求,进行课程安排,包括分配教室、时间等。
5. 选课结果:系统将选课结果通知学生,包括成功选课的课程和未能选上的课程。
6. 退课:学生可以在一定时间内进行退课操作,系统将相应地更新选课结果。
二、数据流图:学生选课系统的数据流图主要包括四个模块:学生注册模块、课程查询模块、选课模块和课程安排模块。
下面将分别介绍每一个模块的功能和数据流动。
1. 学生注册模块:该模块用于学生注册成为系统的用户。
学生需要填写个人信息,包括姓名、学号、专业等,并提交注册请求。
系统将接收学生的注册请求,并验证学生的信息是否合法。
如果信息合法,则将学生的注册信息存储到数据库中,并反馈注册成功的信息给学生。
2. 课程查询模块:该模块用于学生查询所有可选的课程信息。
学生可以通过系统提供的查询功能,输入关键词或者选择特定条件进行课程筛选。
系统将接收学生的查询请求,并从数据库中获取相应的课程信息。
然后,系统将课程信息返回给学生进行查看。
3. 选课模块:该模块用于学生进行选课操作。
学生可以从课程查询模块获取可选的课程信息,并选择感兴趣的课程。
学生将选课请求提交给系统。
系统将接收学生的选课请求,并进行验证。
如果选课请求合法,则系统将更新学生的选课信息,并将选课结果通知给学生。
4. 课程安排模块:该模块用于系统进行课程的安排。
系统将根据学生的选课请求,进行课程的分配。
学生选修课程系统课程设计参考文献

学生选修课程系统课程设计参考文献学生选修课程系统在大学教育中起到了至关重要的作用,因此对于该系统的设计和实施需要参考相关的文献和研究成果。
以下是一些关于学生选修课程系统设计的参考文献:1. 'Design and Implementation of a Student Elective Course Selection System' (学生选修课程选择系统的设计与实现) - 该文献介绍了一个基于Web的学生选修课程选择系统的设计和实施方法。
通过该系统,学生可以根据自己的兴趣和目标,灵活选择适合自己的选修课程,提高学习效果。
2. 'A Study on the Optimization of University Elective Course System' (大学选修课程系统优化研究) - 该研究针对现有大学选修课程系统存在的问题,提出了一种优化方案。
通过对学生的选修课程需求进行分析和预测,结合课程资源和学生数量等限制条件,建立了一种优化模型,以提高选修课程系统的效率和满意度。
3. 'Design of Student Course Selection System based on Data Mining Technology' (基于数据挖掘技术的学生选课系统设计) - 该研究利用数据挖掘技术,分析学生的历史选课数据和个人特征,构建了一个个性化的学生选修课程推荐系统。
通过挖掘学生的兴趣和学习能力等信息,为每个学生提供个性化的选修课程推荐,提高选课的准确性和满意度。
4. 'Design and Implementation of a Mobile Elective Course Selection System' (移动选修课程选择系统的设计与实现) - 该文献介绍了一个基于移动设备的选修课程选择系统的设计和实施方法。
通过手机应用程序,学生可以随时随地查询和选择自己感兴趣的选修课程,提高选课的便捷性和灵活性。
管理信息系统课程设计--某学生选修课信息管理系统

目录1、前言 (3)1.1、系统简介1.2、开发目的1.3、可行性研究1.4、使用环境与开发工具2、系统分析 (4)2.1、系统基本功能描述2.2、系统需求分析 62.3、组织机构62.4、管理职能分析 62.5、业务流程分析 62.6、数据流程分析 62.7、数据字典 62.8现行系统评价63、新系统设计 (4)1、系统目标设计52、新系统功能(模块)结构图 63、新系统计算机信息系统流程设计 64、代码设计 65、系统物理配置方案设计 66、数据库设计 67、输出/输入设计 68、程序模块设计说明 6四、设计小结 (1)1、小组总结 22、个人总结 3五、参考文献 (1)六、分工说明 (1)说明:我们小组研究的课题是:学生选修课信息管理系统。
在研究过程中,我们使用的开发工具主要是Windows2003和Visual Foxpro6.0。
我们把研究的重点放在在系统分析、系统设计实现过程、方法及内容等方面。
1.前言1.1系统简介管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。
其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。
随着Internet 的飞速发展深刻地影响了人们的日常生活和商业运作方式。
社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷。
学校网上选课系统正是基于这一思想发展起来的。
学生网上选课系统已经在很多高校得到广泛的应用,而且深得广大师生的称赞。
它改变了以往由学校统发课程表到学生手中,然后由学生填好再反馈到学校,而学校还要对结果进行审查,确定有效性,最后才实施上课计划,这一传统的复杂的手工选课程序。
学生选课系统完整的UML建模

信息系统集成技术及应用题目:UML系统分析设计、建模与实现学号:100430112022姓名:杨家建专业:计算机技术指导教师:舒远仲UM L系统分析设计与建模以简单的学生选课系统进行详细的系统分析与建模。
(一)系统用例图1•首先根据需求分析可知:管理员维护课程信息,对其进行添加、修改、删除等。
学生可以在线查询课程信息,并进行选课,也可以在规定时间内更改选修 的课程。
我们发现系统中的参与者有:管理员和学生,然后从参与者的角度就可 以发现系统的用例,并绘制出系统的用例图,如图 1所示:图1学生选课系统用例图2.对部分用例进行描述:“添加课程”用例1) 用例名:添加课程2) 执行者:管理员3) 目的:管理员通过系统界面进入,添加所要开设的课程,确认无误后将其信息保 存到数据库中,以供学生选择。
4)过程描述:5) 管理员选择进入管理界面,用例开设修改课程停开课程A —管理员vvinclude>><<include>>添加课程vvinclude>><<extend>>删除课程查询课程信息6)系统提示输入管理密码7)管理员输入密码8)系统验证密码9)A1:密码错误10)进入管理界面,系统显示目前所建立的全部课程信息11)管理员选择添加课程12)系统提示输入新课程信息13)管理员输入信息14)系统验证是否和已有的课程冲突15)A2 :有冲突16)10 )系统添加新课程,提示课程添加成功17)11 )系统重新进入管理界面,显示所有课程18 )12 )用例结束19 )异常事件流处理:20 )A1 :密码错误:1)系统提示再次输入。
2)用户确认后进入第5)步。
21 )A2 :有冲突:1)系统提示冲突,显示冲突的课程信息。
2)用户重新输入,验证无误后进入第10 )步。
选课”用例1)用例名:选课2)执行者:学生3)目的:学生进入选课系统界面,浏览的课程,最后选择一门自己喜欢的课程并提交。
选修课管理系统文档(数据库课程设计)

数据库系统设计课程设计任务书计算机科学与技术学院制目录1.相关专业背景功能--------------------------------- 12.需求分析--------------------------------------- 43.概念模型与E-R图__________________________________13 4.E-R模型转换-----------------------------------145.数据库设计与建立------------------------------176、连接数据库---------------------------------------237. 个人总结-----------------------------------------248.参考文献--------------------------------------25一、选修课管理系统的相关背景功能选修课管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务的管理系统。
选修课管理系统所经历的三个阶段一、没有电脑的年代,网上选课根本不存在,当时学生根据自己的爱好兴趣等方面,先选择相应的课程,然后由班级上报院系,再通过人工整理所上报的信息的办法,决定每个人的选课信息以及任课老师所教的课程,也就是说几乎谈不上选修课管理系统这么一说。
二、每个院系有了为数不多的几台电脑后,班级上报院系的信息,由院系先在电脑上登记,最后交给教务处,教务处通过选修课管理系统(还不够完善),经过审核决定最终结果并公布;三、电脑普及率很高,也就是现在这样,网上选课已不成问题,教务处直接通过选修课管理系统,了解与审核选课信息,最终决定最后的结果并公布。
有关选修课的概念与定义选修课与“必修课”相对。
主要指高等学校和中等专业学校中学习某一专业的学生可以有选择地学习的课程。
在教学计划中一般不作硬性规定。
分限制性选修课程(某些特定专业指定选修课程,对该专业来说可视为必修课)和非限制性选修课程(任意专业选修课程)两种。
学生选课系统数据流图

学生选课系统数据流图概述:学生选课系统是一个用于学生选择课程的在线平台。
该系统允许学生浏览可用的课程列表,并根据自己的兴趣和需求选择适合自己的课程。
本文将详细描述学生选课系统的数据流图。
一、上下文图:上下文图是对学生选课系统进行整体描述的图表,它展示了系统与外部实体之间的交互关系。
以下是学生选课系统的上下文图:(图中包含学生、课程管理员和课程数据库)二、数据流图:数据流图是对学生选课系统中数据流动的图形化描述,它展示了数据在系统内部的流动和处理过程。
以下是学生选课系统的数据流图:1. 学生注册和登录过程:学生在使用学生选课系统之前,需要进行注册和登录。
注册过程包括填写个人信息和创建账户,登录过程需要提供正确的用户名和密码。
数据流图如下:(图中包含学生、学生数据库和登录/注册控制器)2. 学生浏览课程列表:学生成功登录后,可以浏览可用的课程列表。
课程列表包含课程名称、课程描述和授课教师等信息。
学生可以根据自己的兴趣和需求选择适合自己的课程。
数据流图如下:(图中包含学生、课程数据库和课程列表控制器)3. 学生选课:学生在浏览课程列表后,可以选择自己感兴趣的课程进行选课。
选课过程需要学生提供课程编号或者课程名称。
系统会验证学生的选课请求,并将选课结果保存到学生选课记录中。
数据流图如下:(图中包含学生、课程数据库和选课控制器)4. 学生查看选课结果:学生可以随时查看自己已选的课程。
系统会根据学生的请求,从学生选课记录中获取相关信息,并将选课结果展示给学生。
数据流图如下:(图中包含学生、学生选课记录和选课结果控制器)5. 课程管理员管理课程:课程管理员可以对课程进行管理,包括添加新课程、修改课程信息和删除课程等操作。
管理员可以通过系统界面来进行这些操作。
数据流图如下:(图中包含课程管理员、课程数据库和课程管理控制器)总结:以上是学生选课系统的数据流图,它们描述了学生选课系统中数据的流动和处理过程。
通过数据流图,我们可以清晰地了解学生选课系统的功能和交互方式,从而为系统的设计和开辟提供指导和参考。
学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程课程设计报告设计题目选修课程管理系统的设计与实现指导教师摘要随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。
各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升.本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告.全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计.每一阶段都进行了详细的分析。
接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。
本系统主要功能是对学生选课及相关信息进行管理。
较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。
数据库的安全性更高,对用户访问权限进行了严格控制。
数据存取速度更快,使用年限更长。
可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率.关键字:学生选课管理系统;分析;设计目录一、概述 ...................................................................................................... 错误!未定义书签。
261.1设计背景ﻩ1.2设计目的................................................................................. 错误!未定义书签。
1。
3设计内容...................................................................................... 错误!未定义书签。
二、需求分析ﻩ错误!未定义书签。
2。
1功能分析.................................................................................... 错误!未定义书签。
学生选课系统数据流图

学生选课系统数据流图引言概述:学生选课系统是现代教育管理中不可或缺的一部分,通过数据流图可以清晰地展示系统中各个模块之间的数据流动和交互关系。
本文将详细介绍学生选课系统的数据流图,包括系统的整体结构和各个模块之间的数据流动。
一、学生选课系统整体结构1.1 学生模块- 学生信息录入:学生通过系统输入个人信息,包括姓名、学号、班级等。
- 选课功能:学生可以在系统中选择需要修读的课程,系统会实时更新学生的选课信息。
- 成绩查询:学生可以通过系统查询已修读课程的成绩和学分情况。
1.2 课程模块- 课程信息管理:教师或管理员可以在系统中录入课程信息,包括课程名称、授课教师、上课时间等。
- 选课情况统计:系统可以实时统计每门课程的选课情况,包括选课人数和选课情况分布。
- 成绩录入:教师可以在系统中录入学生的成绩信息,系统会自动计算学生的绩点和总成绩。
1.3 管理员模块- 用户权限管理:管理员可以设置不同用户的权限级别,包括学生、教师和管理员。
- 数据备份与恢复:管理员可以对系统中的数据进行定期备份,确保数据安全。
- 系统日志记录:系统会记录管理员的操作日志,以便追踪和排查问题。
二、数据流图中的数据流动2.1 学生选课流程- 学生选择课程:学生通过系统选择需要修读的课程,系统会将选课信息传输到课程模块。
- 课程信息更新:课程模块接收到学生选课信息后,更新相应课程的选课人数和选课情况。
- 学生选课成功:系统会将选课成功的信息反馈给学生,学生可以在成绩查询模块查看选课情况。
2.2 教师成绩录入流程- 成绩录入:教师在系统中录入学生的成绩信息,系统会将成绩数据传输到学生模块。
- 学生成绩更新:学生模块接收到成绩信息后,更新学生的成绩和绩点情况。
- 成绩查询:学生可以在系统中查询到最新的成绩信息。
2.3 管理员权限管理流程- 用户权限设置:管理员可以在系统中设置不同用户的权限级别,系统会将权限信息传输到用户模块。
- 用户权限更新:用户模块接收到权限信息后,更新用户的权限级别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
报告编号:09综合课程设计报告学生选修课程管理系统学生姓名:张思雨,相琛琛,孙雅静,夏云飞指导教师:刘莉所在系:电子工程系所学专业:计算机科学与技术年级:2014级2015 年6 月目录摘要 (3)1、需求分析 (3)1.1任务要求 (3)2、总体设计 (4)3、详细设计 (4)3.1数据定义 (4)3.2算法流程图 (5)(1)用户登陆与注册 (5)(2)录入课程信息 (6)(3)浏览课程信息 (7)(4)查询课程信息 (7)(5)选课 (8)4、程序实现 (8)4.1系统功能 (8)4.2主要源代码及说明 (9)5.调试 (9)5.1用户登录与注册 (9)5.2录入课程信息 (10)5.3浏览课程信息 (11)5.4查询课程信息 (12)5.5选课 (13)6 解决问题的主要思路和方法 (13)6.1关键问题 (14)6.2拟采用解决问题的办法 (15)7. 程序实现 (15)7.1程序实现时应考虑的问题 (15)小结 (16)参考文献 (17)附录 (17)课程选修管理系统摘要学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。
利用C语言开发,实现了简单的学生课程信息的录入、查询等操作,并且能够利用文件系统长久的保留原始数据。
关键字:选课;查询;V C++6.01、需求分析1.1任务要求制作学生选课系统,共包括课程信息和学生信息两部分。
课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。
学生信息管理,学生选课管理(学生选课学分总数有一定范围),学生可以对课程进行查询、浏览,选完课后可以续选,并可以按学号、姓名进行查询和统计。
要求:1.源文件采用多文件的工程结构。
2.数据储存采用文件形式。
3.标准的C输入输出。
4.功能完善,适当的注释。
2、 总体设计系统由哪几个功能模块构成,给出功能模块图。
C 中模块化的工具是函数。
根据上面的需求分析,可以将这个系统的设计分为如下四大模块:用户登录与注册模块、录入课程信息模块、浏览课程信息模块;查询课程信息模块。
图2-1 功能划分图3、详细设计 3.1图3-1 数据定义图3.2算法流程图(1)用户登陆与注册登陆图3-2(1.1)用户登录流程图注册图3-2(1.2)用户注册流程图(2)录入课程信息图3-2(2) 课程信息录入流程图(3)浏览课程信息图3-3 课程信息浏览流程图(4图3-4课程信息查询流程图(5)选课图3-5 选课流程图4、程序实现4.1系统功能首先编写一个main()主函数和void类函数,程序开始运行时调用主函数,通过主函数中的循环语句来调用void中的相关函数和数据来达到程序的要求。
Void类中主要有:void Rigester();//登陆void Login();//注册void overview(); //浏览函数,负责浏览整个课程信息void seek(); //查询函数,负责查询课程信息void choose_course();//选课函数,负责让用户选课void menu();//菜单界面来实现各个程序的功能。
4.2主要源代码及说明5.调试5.1用户登录与注册图5-1 用户登录与注册注:如果未注册就登录,会提示“请先注册账号!”5.2录入课程信息图5-2 录入课程信息注:课程信息可以多次录入!5.3浏览课程信息图5-3浏览课程信息注:可自行控制需要浏览的课程数目!5.4查询课程信息图5-4查询课程信息注:查询可按学分或按课程性质查询!5.5选课图5-5 选课注:可连续选课。
选课信息会直接输出!6 解决问题的主要思路和方法6.1关键问题用户可以自己设置账号来登录,非注册账号不可登录;学生主要实现选课,通过查询、浏览第几学期开设课程进行选课与退选课程;用户可通过自己来实现对课程信息的录入,以方便来选自己选修课程。
遇到的问题:(1)用户注册时没有创建文件,导致登陆无法进行。
(2)登陆时没有考虑到输入错误用户名与密码的情况。
(3)文件无法录入,没有创建录入的文件。
(4)录入的文件在浏览时无法查看。
(5)录入时文件总是被新输入的数据覆盖。
(6)查询时根据要求找不到录入的数据。
图6-1 遇到的问题(6)(7)选课无法查找到信息图6-2 遇到的问题(7)6.2拟采用解决问题的办法1.加入system‘CLS’。
2.存入文件信息以方便下一次读取。
3.加入全局变量。
4.调用函数Input.5.创建文件table.tex及course_information.tex.7. 程序实现7.1程序实现时应考虑的问题应注意结构体数组类型的定义与其成员个数问题不同功能函数定义1.void Rigester()………………………………………登陆;2.void Login()…………………………………………注册;3.void overview()………………………浏览函数,负责浏览整个课程信息;4.void seek()………………………查询函数,负责查询课程信息;5.void choose_course()……………选课函数,负责让用户选课;6.void input()…………………录入课程信息。
图7-1 函数关系调用图小结在编程的过程中我们遇到了很多难题,这充分说明我们在某些知识的掌握上依然存在漏洞,在接下来的学习中我们仍需要弥补自己的不足和增长自己的知识。
而且在编程中,因为我们的粗心导致了很多小的细节出现问题,给进度的进展一度造成阻碍。
所以在补充专业知识的同时我们还要做到细心与专注,争取发现自己的每一个漏洞。
在这次的小组合作中我们充分认识到了小组分工的重要性,每个人都在自己负责的版块上付出了很多的努力,在这里要尤其要感谢我们的组长张思雨,她在这个程序上付出了很多心血,而且还要感谢杨贤达,祝君仪,张成雨,王健,王非凡等人给我们提供的帮助。
另外也要特别感谢刘莉老师对我们的指导,如果没有老师的一步步指导,我们也很难把这个系统完善。
所以,再次向他们致谢。
参考文献[1]谭浩强,C程序设计,2007,第三版,清华大学出版社,北京。
附录#include<stdio.h>#include<stdlib.h>#include<string.h>#include <windows.h>#define N 10typedef struct course{char number[15];//课程编号char name[25];//课程名称int kind;//课程性质int time;//课程总学时int lessontime;//授课学时int practicetime;//实验或上机学识int credit;//学分int term;//开学学期}type;type c_a[N];void menu();//欢迎界面void Rigester();//登陆void Login();//注册void overview(); //浏览函数,负责浏览整个课程信息void seek(); //查询函数,负责查询课程信息void choose_course();//选课函数,负责让用户选课void menu1();void menu2();void input(int n);void out(type c_a[]);void readfile();void welcome();int num,num1;int main(){menu();menu2();return 0;}void menu(){int select;while(1){welcome();puts("");puts(" + 1、登陆+");puts(" + 2、注册+");puts(" + 3、退出+");puts(" _________________________________________________________");puts(" ");printf(" 请输入您的选择(1-3)[ ]:\b\b");scanf("%d",&select);system("cls");switch(select){case 1:Rigester();menu1();//调用登陆函数Rigester()break;case 2:Login();//调用注册函数Login()break;case 3:puts(" 谢谢您的使用,再见!");exit(0);default:puts(" 输入错误,请重新选择");}}}void Rigester(){FILE *fp = NULL;char str1[15],str2[15];char name[15],password[15];int flag = 0;fp = fopen ("table.txt","r");if (fp==NULL){printf(" 请先注册账号!\n");Sleep(1000);system("cls");menu();}welcome();while (flag==0){printf("\n 用户名:");scanf("%s",name);printf("\n 密码:");scanf("%s",password);rewind(fp);while(!feof(fp)){fscanf(fp,"%15s%15s",str1,str2);if((strcmp(str1,name)==0) && (strcmp(str2,password)==0)){flag=1;break;}}if(flag==0)printf("\n 用户名或密码输入错误,请重新输入\n\n");}if(flag==1){printf("\n 登录成功!\n\n");Sleep(1500);}fclose(fp);}void Login(){FILE *fp = NULL;char name[15],password[15];fp = fopen ("table.txt","a");welcome();puts(" ");printf(" 用户名:");scanf("%s",name);puts(" ");printf(" 密码:");scanf("%s",password);fprintf(fp,"%15s%15s",name,password);printf("\n 注册成功!");Sleep(1500);system("cls");fclose(fp);}void menu2(){int n,i;printf(" (课程编号0 ~ N,且必须是唯一的,不能与其他课程编号重复)\n\n 请输入共存储的课程数目:");scanf("%d",&n);//n是每次录入总课程数目,所有n的和是numnum1 = n;puts(" ");printf(" 开始创建文件,请输入课程信息.....\n\n");Sleep(1500);system("cls");for(i = 0;i<n;i++){input(n);printf("\n");}printf(" 欢迎您使用此程序进行选课,谢谢!\n");Sleep(1500);system("cls");menu1();//调用menu1()}void menu1(){system("cls");int n;while(1){welcome();puts("");puts(" + 1、录入+");puts(" + 2、浏览+");puts(" + 3、查询+");puts(" + 4、选课+");puts(" + 5、返回+");puts(" + 6、退出+");puts(" _________________________________________________________");printf(" 请输入您的选择(1-6)[ ]:\b\b");while((scanf("%d",&n))!=EOF){if(n==1)menu2();else if(n==2){overview();//调用overview()puts("");printf(" 请输入您的选择(1-6)[ ]:\b\b");}else if(n==3)seek();//调用seek()else if(n==4)choose_course();//调用choose_course()else if(n==5)menu1();else if(n==6)exit(0);elseprintf(" 输入错误,请重新选择!");}}}void input(int n){int i = 0;FILE *fp1;if((fp1 = fopen("course_information.txt","ab"))==NULL){printf("cannot open file:\n");exit(0);}welcome();for(;i<num1;i++){puts(" ");printf(" 请输入第%d门课程的信息:\n",i+1);printf(" 课程编码: ");scanf("%s",c_a[i].number);printf(" 课程名: ");scanf("%s",c_a[i].name);printf(" 课程性质:限选课,请输入1;选修课,请输入2;必修课,请输入scanf("%d",&c_a[i].kind);if(!((c_a[i].kind==1) || (c_a[i].kind==2) || (c_a[i].kind==3))){printf(" 课程性质代码输入错误!重新录入!");scanf("%d",&c_a[i].kind);}printf(" 课程总学时: ");scanf("%d",&c_a[i].time);printf(" 课程授课时间: ");scanf("%d",&c_a[i].lessontime);printf(" 课程实验或实践时间: ");scanf("%d",&c_a[i].practicetime);printf(" 课程学分: ");scanf("%d",&c_a[i].credit);printf(" 课程所在的学期,比如第二学期,就输入2即可。