C++程序设计学生选课系统设计

合集下载

C语言程序设计与应用课程设计

C语言程序设计与应用课程设计

C语言程序设计与应用课程设计一、课程设计的背景C语言是一种广泛应用于计算机编程的高级程序语言,它通常被认为是现代计算机科学中最重要的编程语言之一。

C语言因其高效性、可移植性和广泛的硬件支持而成为许多领域中使用最广泛的编程语言之一。

为了帮助学生更好地掌握和应用C语言,本课程设计旨在为学生提供一种系统的教学方法和实践环境,帮助他们更好地理解和应用C语言程序设计。

二、课程设计的目标本课程设计旨在帮助学生:1.熟悉C语言程序设计的基本概念和技术;2.学会使用C语言解决实际问题;3.掌握常见的程序设计技巧和方法;4.能够通过课程设计实践来提高自己的编程水平。

三、课程设计的内容本课程设计包括以下几个部分:1. 设计题目本课程设计的设计题目为“学生成绩管理系统”。

该系统旨在帮助教师轻松管理学生成绩,包括增加、删除、修改和查询学生成绩等功能。

该系统可以通过命令行界面进行操作,也可以通过图形界面进行操作。

2. 要求该系统需要满足以下要求:1.能够向系统中增加新的学生成绩,包括学号、姓名、各科成绩等信息;2.能够删除系统中的学生成绩;3.能够查询学生的各科成绩,并按照总成绩排序;4.能够修改学生的各科成绩;5.系统需要记录每个学生的学科成绩并能够进行数据的统计和分析;6.系统需要有命令行和图形界面两种操作方式。

3. 设计思路本课程设计采用C语言进行编写。

设计思路包括以下几个步骤:1.确定系统要求和功能;2.设计数据结构,并建立相应的数据库;3.设计系统的主要模块,如增加、删除、修改和查询模块;4.实现各个模块的功能,并进行调试和测试。

4. 设计方案和实现本课程设计采用了以下技术和工具:1.数据结构:链表和结构体;2.编译器:Code::Blocks;3.GUI界面库:GTK+。

在系统的实现过程中,主要采用了C语言的各种数据结构和算法技术,如链表、结构体、指针和数组等。

此外,也采用了GTK+库实现了系统的图形用户界面。

数据结构课程设计学生选课系统设计

数据结构课程设计学生选课系统设计

题目:学生选课系统设计一、需求分析根据所学知识,编写指定题目的C语言程序,并规范地完成课程设计报告。

通过课程设计,加深对《C语言程序设计》和《数据结构》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用等;复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等),熟练掌握和巩固三种基本的数据结构(线性结构、树形结构、图形结构)的逻辑结构、存储结构以及相关运算和应用。

具体要求如下:采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。

学生也可根据自己对题目的理解增加新的功能模块。

系统以菜单界面方式工作,运行界面友好,演示程序以用户和计算机的对话方式进行。

程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强。

编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等);假设某学期共有5门课,每门课程有四项基本信息:课程编号、课程名称、学分和选课人数。

学生可自行选课,假设该学期共有8个学生,学生有学号、姓名、所选课程三种基本信息,学生选课要满足每门课最多只能有3个学生选修,每个学生最多只能选2门课,试设计一个学生选课系统。

学生选课系统要求具备以下功能:1.系统以菜单方式工作2.浏览所有的课程信息3.浏览所有的学生选课情况4.任意学生信息的查询和修改功能5.学生选课功能(学生选课时要判断课程是否已经选满,同时还要判断学生是否已经选了2门课,若学生满足选课条件才能选课,注意同一门课一个学生只能选一次)二、概要设计1.本程序中用到的所有数据类型的定义及含义数据类型:一维数组struct course{ int num;char subject[10];int mark;int count;}cour[5]={{1,"C++",3,0},{2,"MATLAB",3,0},{3,"Math",5,0},{4,"English",4,0},{5,"Chinese",3,0}}; ------------课程信息struct student{ long num;char name[10];char order1[10];char order2[10];}stu[8]={{,"guo","NULL","NULL"}, {,"yu","NULL","NULL"},{,"su","NULL","NULL"},{,"hua","NULL","NULL"},{,"du","NULL","NULL"},{,"su","NULL","NULL"},{,"liu","NULL","NULL"},{,"xu","NULL","NULL"},}; ------------------学生信息其余int, char等数据类型在各模块有不同含义,比较简单,不做赘述。

c++学生管理系统课程设计

c++学生管理系统课程设计

c++学生管理系统课程设计C++学生管理系统课程设计是一个非常常见的编程项目,旨在帮助学生练习使用C++语言来实现一个基本的学生信息管理系统。

这个系统可以用于录入、查看、修改和删除学生信息,并可以计算学生的平均分和排名。

在这个系统中,学生信息可以包括学号、姓名、性别、年龄、班级和成绩等。

通过使用C++的面向对象编程思想,可以创建一个学生类来表示学生信息,并可以在主程序中实例化该类来创建和管理学生对象。

首先,系统需要提供一个菜单界面,让用户可以选择不同的操作,比如添加学生信息、查看学生信息、修改学生信息和删除学生信息等。

用户可以通过输入相应的选项来执行特定的操作。

对于添加学生信息的操作,系统会要求用户输入学生的各个属性值,并根据输入的值创建一个新的学生对象并将其添加到系统中。

系统还可以提供验证机制,确保输入的学号不重复。

对于查看学生信息的操作,系统会将保存的学生信息按照一定的格式打印出来,以便用户查看。

用户可以选择按学号、姓名、班级等排序方式来查看学生信息。

对于修改学生信息的操作,系统会提示用户输入要修改的学生的学号,并根据学号在系统中查找对应的学生对象。

然后,用户可以选择要修改的属性,并输入新的值来更新学生对象的信息。

对于删除学生信息的操作,系统会提示用户输入要删除的学生的学号,并根据学号在系统中查找对应的学生对象。

然后,系统会确认用户是否要删除该学生信息,并在用户确认后将该学生对象从系统中移除。

除了上述基本功能,学生管理系统还可以提供其他附加功能,比如计算学生的平均分和排名。

系统可以遍历所有学生对象,并计算出他们的平均分和排名,然后将结果打印出来供用户查看。

总的来说,C++学生管理系统课程设计是一个综合性的编程项目,通过实现该项目,学生可以练习和巩固他们在C++语言和面向对象编程方面的知识。

此外,通过这个项目,学生还可以提高他们的逻辑思维能力和问题解决能力。

使用C#制作学生选课系统

使用C#制作学生选课系统

.cnbook (6)接下来限定“Sname”字段值不能为空,其方法是:直接在“Sname”行的最后一列的【允 ww 许空】项单击 取消勾选即可。如图 8 所示。
w 图6 设置主键
.c .net ww 图 7 设置主键后的“Sno”字段
book 使用 C#制作学生选课系统
t .net 内容提要:本文是使用 C#制作学生选课系统。主要介绍了如何在 Visual C# 2005 环境下使用 e k 和 SQL Server 2000 设计一个学生选课系统,其中详细介绍了如何建立数据库的连接、编 .n oo 写数据读取方法和数据更新方法等。 ok nb 关键字:学生选课系统、Visual C# 2005、SQL Server 2000、
k.n boo 2.2 创建数据表 oo cn 接下来介绍使用 SQL Server 2000 的企业管理器直接创建学生信息表“tbl_Student”、课程信息
nb w. 表“tbl_Course”和选课信息表“tbl_SC”的方法和步骤,从而完成学生选课系统的数据库设计。 .c ww 1. 使用企业管理器 w 打开 SQL Server 2000 的企业管理器,依次展开控制台目录,定位到“SelectCourse”数据库, w 并选择“表”,则在右边的“表”项目中列出了所有的数据表,其中最后一个为用户创建的“tbl_User” w et k 数据表,如图 1 所示。
,则
.cnbook 弹出【选择名称】对话框,输入表名为“tbl_Student”,然后单击【确定】按钮即可,如图 11 所示。 .net www 图 11 输入表名 ok nb (10)最后关闭表设计器,这时可以在企业管理器的表视图区域中看到刚刚创建的用户数据表
c “tbl_Student”。 w. 3. 创建课程信息表 ww 根据如表 3 所示的表结构定义,按照创建学生信息表“tbl_Student”的方法,设计课程信息表

学生选课系统orcl课程设计

学生选课系统orcl课程设计

学生选课系统orcl课程设计一、教学目标本课程旨在通过学习Oracle学生选课系统的设计与实现,使学生掌握数据库管理系统的基本原理和应用,培养学生运用Oracle技术解决实际问题的能力。

具体目标如下:1.知识目标:–理解数据库管理系统的基本概念和架构。

–掌握Oracle数据库的基本操作和SQL语言。

–了解关系数据库的设计原则和范式。

–学习Oracle数据库的存储过程和触发器的编写。

2.技能目标:–能够熟练使用Oracle SQL进行数据查询、更新、删除和插入。

–能够设计和实现简单的数据库应用系统。

–能够编写简单的存储过程和触发器。

–能够对数据库进行性能优化和故障排除。

3.情感态度价值观目标:–培养学生的团队合作意识和问题解决能力。

–增强学生对数据库技术的重要性和应用前景的认识。

–培养学生对技术的热情和持续学习的动力。

二、教学内容本课程的教学内容主要包括Oracle数据库的基本概念、操作和应用。

具体内容包括:1.Oracle数据库的基本概念和架构。

2.SQL语言的基本操作,包括数据查询、更新、删除和插入。

3.关系数据库的设计原则和范式。

4.Oracle数据库的存储过程和触发器的编写和应用。

5.数据库性能优化和故障排除。

教学内容将按照上述主题进行,每个主题都将通过理论讲解、案例分析和实践操作相结合的方式进行教学。

三、教学方法为了提高学生的学习兴趣和主动性,将采用多种教学方法进行教学。

具体包括:1.讲授法:用于讲解基本概念、原理和理论知识。

2.案例分析法:通过分析实际案例,使学生更好地理解和应用理论知识。

3.实验法:通过实际操作,使学生掌握Oracle数据库的基本操作和应用。

4.小组讨论法:通过小组讨论,培养学生的团队合作意识和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:选用权威、实用的Oracle数据库教材。

2.参考书:提供相关的Oracle数据库参考书籍,供学生深入学习。

《C语言程序设计课设》课程设计指导书

《C语言程序设计课设》课程设计指导书

《C语言程序设计课设》课程设计指导书一、课程设计的目的(1)加深对讲授内容的理解,尤其是一些语法规则。

(2)熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用。

(3)能够综合运用所学知识,编程解决实际问题。

(4)培养团队分工合作的意识,最终使学生提高编程技能和解决实际问题的能力。

二、课程设计基本要求2.1.组织管理1.由院、系指派经验丰富的专业教师担任指导教师。

2.课程设计实行课程负责人与指导教师共同负责制。

3.课程负责人主要进行课设的命题、指导教师的考核、技术把关和全面管理。

4.指导教师全面负责所承担班级的课程设计指导、管理和考核评定工作。

2.2设计要求1.自选题目、小组管理、团队合作、小组评测。

2.模块化程序设计。

3.锯齿型书写格式。

4.必须上机调试通过。

三、选题要求:每个题目限定1-2人,每人必须负责一部分功能,并独立完成,推举出一个组长,负责任务分工,汇总到班长处,然后交给指导教师。

四、设计报告格式及要求:1、题目2、设计目的3、总体设计(程序设计组成框图、流程图)4、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)5、运行结果及分析6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施7、课程设计心得及体会8、源程序清单和执行结果:清单中应有足够的注释五、课程设计成绩评定5.1基本要求:(1)每个人必须有程序运行结果;(2)每个人必须交《C语言课程设计》报告5.2、成绩评定和打分标准由指导教师对学生在课程设计期间的表现,所完成的设计报告的质量、设计结果的验收和答辩情况进行综合考核。

具体评定标准如下:(1)上机考勤:注重平时上机考勤与遵守纪律情况20%(2)结果验收:学生能运行、讲述或调试自己的程序,回答教师提问,每个人必须有程序运行结果40%(3)小组自评成绩结果10%(4)设计报告:每个人必须交《C语言课程设计》报告和《C语言课程设计》日志30%以上四项缺一不可,否则不能到得相应学分依据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成绩。

学生选课系统程序设计文档

学生选课系统程序设计文档

*******************实践教学*******************兰州理工大学计算机与通信学院2015年春季学期C程序设计课程设计题目:学生选课系统专业班级:信息与计算科学*名:***学号:07指导教师:张墨逸成绩:______________前言数据库是从60年代初发展起来的计算机技术。

经过四十来年的发展,数据库技术己经趋于成熟。

Web数据库在新的Internet环境中发生了很大的变化。

就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。

同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。

例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。

国外的教学科研软件与国内相比开发的早而且比较成熟。

早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。

其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。

目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。

所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。

摘要建立一个“学生选课系统”,系统以菜单的方式工作。

编写存放的程序包含被选课的信息,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。

学校管理员首先录入可供学生选择的课程,然后学生可按要求(如总学分不得少于30)自由选课。

通过子函数的编写,能对这些课程信息进行录入,浏览,查询,修改,选择功能。

并将这些信息存入文件中。

C语言课程设计实践报告—学生选课管理系统[内附程序源代码](可编辑)

C语言课程设计实践报告—学生选课管理系统[内附程序源代码](可编辑)

C语言大型作业实践报告计算机1001制作者:李菁华张兆丰秦恒加2011年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息。

学生可按要求(如总学分不能少于20学分)选课。

课程信息维护,如录入、修改、删除等,课程信息用文件保存。

课程信息浏览?输出。

学生选课功能。

查询功能包括:按学分、课程性质、学生等查询。

统计功能。

统计各门课程的选修人数。

本系统要有通用性、界面美观、操作方便。

要考虑系统安全。

课程信息录入系统选修课程信息录入选修课程信息保存主程序目录选择总体设计思路(流程图):学生选课系统课程信息读入学生信息输入选课系统数据保存选修课数据维护系统添加修改删除以word格式输出密码系统密码验证系统权限限制系统密码对退出程序密码对选修课程信息查找按各种类型查找密码错3次以上具体算法流程设计思路(流程图):主程序目录选择1.学生选课系统;2.选修课程信息输出;3.选修课程信息查找;4.管理员选项;5.退出系统。

管理员选项密码验证系统读入系统时间,通过强制转换成unsigned long int型数据作为初始密码用户输入密码(若是管理员会拥有密码钥匙,得出现在的密码,该密码每分钟都会变化)密码正确进入管理员管理界面,密码不正确重新输入密码输入错误3次以上 12 3学生选课系统选修课程信息以word2003形式输出返回主菜单选修课程信息查找选修课程信息从文件内读入输入按什么查找1.课程编号;2.课程名;3.课程种类;4.总课时;5.教学课时;6实验课时;7.学分;8.开课学期;9.已选人数。

输入查找的关键字从文件内读入的课程信息与关键字逐一对比,完全匹配输出;查找完毕学生信息输入课程信息浏览不选少于这门20分选课系统课选课成功判断学分是否大于20分大于20分结束选课选课信息储存退出程序管理员模块管理员模块 3目录选择1.学生选课系统;2.选修课程信息管理系统;3.退出系统12 5学生选课系统二级目录选择1.新建选修课程信息;2.管理选修课程信息;3.统计每门课程选择人数;4.选修课程信息输出;5.回到主菜单。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EAST CHINA INSTITUTE OF TECHNOLOGY课程设计报告课程设计题目:学生选课系统学号1021113423姓名彭楚涵专业软件工程(国际教育)班级10211134指导教师王志波2011 年12 月1 日第一章:面向对象程序设计课程设计目的 (2)第一章:算法分析 (3)第三章:结束语 (8)附:源代码 (9)第一章:面向对象程序设计课程设计目的本课程设计是在学习面向对象基本理论之后的实践教学环节。

该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。

要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。

学生通过课程设计在下述各方面得到锻炼:1 •能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。

2 •提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法和程序的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。

第二章:算法分析课程设计标题:学生选课系统要求:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10) 自由选课。

试设计一选修课程系统,使之能提供以下功能:1•系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保存);3•课程信息浏览功能;4•查询功能(至少一种查询方式:按学分查询、按课程性质查询);5•学生选修课程。

应用程序功能的详细说明:1. 首先根据设计要求,我定义了三个类:Class类,Control类,Menu类。

Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。

2. 对Class类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。

3. 对Menu类的定义,我定义了一个获取键盘输入的函数getlnput(),用于获取数据,并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。

4. 对Control类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生系统的核心。

一切从start()函数开始,通过switch语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个initlalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。

其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。

私有函数我用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。

两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。

最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave保存到程序的当前目录下。

5. 最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。

图2实现过程:1•菜单界面如图1 广 l 'C- Jsers\AJmir 5t rat:or.V'/IN-LTPSC JiOUFM\De5<c^\DebLig\Cppl exe'学生选课管理系统 HF"wwr M H m M M 貝貝貝 冃貝稠更请输入操作对应的序号d 扃 WWW* W WK" WiHrA n M M H H H n WK" W,HTE K K E WWW^TW W Wm7K"肌"K H W 图12•课程信息录入界面如图2功询 入蔦查 霸查质 恚息分性自4 程程唇其诫 谭谭校#12 3 4 5图43•课程信息浏览界面 如图3 'C .users\Adfin strator.WIN-LTPSC JSOU F M\D e s<tcp\Debug\C ppi.exe"图34 •按学分查询课程界面 如图4■ , '£:. JsersXAdnnin 5trator.'M N - LT P SC USOU F M\D^s<tc p\ Debu g\Cppi .exe_「信息为授课学时20 0P学ub 机 称上 程捡 课实 课程性质琢图5吩杳一120 学分号时 刀学暑 输5昭粋课 请3.按课授2 時 学"机 称上 ••會 为程验 果课亠5.按课程性质查询课程界面如图5■ T:. Jsers\Adnn i n 弓tra:ar.V/[N-LTPSC JSOL-z M\Des<tc p' Debdg\C pp:.exe' i青拶已总:键继纬….图56 •存储信息界面如图6学生选课管理系统请输人操作对应的序号结程豔的课亠头程髭程课2時学:uh机为称上■ 'C . J5ers\Adnnin 5trator.Vul N-L7PSC JSOL z M\D e s<tcp■ Debdg\C ppi,e:<e功询入蔦查囁查质急息分性息3il12 3 4 5图6流程图:第三章:结束语通过本次面向对象程序设计周,我对C++这门语言有了更深的了解,也巩固了我的C++ 方面的知识。

在课程设计题目拿到后,我做了一系列的知识储备,并且详细复习了课本,但是真正开始写代码却发现自己缺乏一个系统的知识框架,导致很多时候不知道从哪下手,如何实现课程设计要求的函数功能。

从这里我深深的感受到,课本上所学到的知识只是基础中的基础,要真正意义上提升自己的水平,必须不断地练习,所谓熟能生巧,在此次课程设计中,我运用了一些平时上课我忽略的一些知识,例如链表,并且在老师的指导下学会了使用迭代器,了解了其用处类似于指针。

在这次课程设计中,我还深切感受到了要用面向对象的思想去分析需求,实现需求,还要设身处地贴近用户实际使用。

同时,我能顺利完成这次课程设计,离不开老师的指导与同学的帮助。

总之,我会在今后其他语言中的学习中,更加努力,在实践方面同样也会更加花功夫,以取得更好成绩。

附:源代码#include <iostream>#include <list>#include <string>#include <iterator>#include《algorithm〉#include <fstream>using namespace std;class Class{//定义了课程类的一些属性public:void setClassNum(string classNumTemp);void setClassName(string classNameTemp);void setClassProperties(string classPropertiesTemp);void setTotalClassNumber(int totalClassNumberTemp);void setCurrentClassNumber(int currentClassNumber);void setExpClassNumber(int expClassNumberTemp); void setCredit(double credit);void setRightTerm(string rightTermTemp);string getClassNum() const;string getClassName() const;string getClassProperties() const;int getTotalClassNumber() const;int getCurrentClassNumber() const;int getExpClassNumber() const;double getCredit() const;string getRightTerm() const;private:string classNum;string className;string classProperties;int totalClassNumber;int currentClassNumber;int expClassNumber;double credit;string rightTerm;}; void Class::setClassNum(string classNumTemp){ this->classNum = classNumTemp;}void Class::setClassName(string classNameTemp){ this->className = classNameTemp;}void Class::setClassProperties(string classPropertiesTemp){ this->classProperties = classPropertiesTemp;}void Class::setTotalClassNumber(int totalClassNumberTemp){ this->totalClassNumber = totalClassNumberTemp; }void Class::setCurrentClassNumber(int currentClassNumber){ this->currentClassNumber = currentClassNumber; }void Class::setExpClassNumber(int expClassNumberTemp){ this->expClassNumber = expClassNumberTemp;}void Class::setCredit(double credit){ this->credit = credit;}void Class::setRightTerm(string rightTermTemp){ this->rightTerm = rightTermTemp;}string Class::getClassNum() const{〃设置为常函数防止数据改变return this->classNum;}string Class::getClassName() const{ return this->className;}string Class::getClassProperties() const{ return this->classProperties;} int Class::getTotalClassNumber() const{return this->totalClassNumber;int Class::getCurrentClassNumber() const{ return this->currentClassNumber;}int Class::getExpClassNumber() const{ return this->expClassNumber;}double Class::getCredit() const{return this->credit;}string Class::getRightTerm() const{ return this->rightTerm;} class Menu{//定义了菜单类的操作public:char static getInput(){ // 获取输入函数char key = cin.get();return key;}void static showMenu(){cout vv " 学生选课管理系统"vv endl;cout vv " ***************************************" vv endl;cout vv " "vv endl;cout vv " 1课程信息录入"vv endl;cout vv " 2课程信息浏览功能"vv endl;cout vv " 3根据学分查询"vv endl;cout vv " 4按课程性质查询"vv en dl;cout vv " 5存储信息"vv endl;cout vv " "vv endl;cout vv " 请输入操作对应的序号"vv endl;void static clearScreen(){ system("cls");}void static pauseScreen(){system("pause");}cout << ***************************************" <vvoid static showAddClass(){cout << "请输入要添加的课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分, 开课学期等信息"vv endl;}void static showBrowseClass(){cout <v "所有课程的信息为"<< endl;}void static showSearchByCredit(){cout <v "按照学分查询的结果为:"<< endl;}void static showSearchByClassProperties(){cout <v "按照课程性质查询的结果为:"<< endl;}void static showAddClassNum(){cout vv "\n 请输入课程编号"vv endl;}void static showAddClassName(){cout vv " 请输入课程名称"vv endl;}void static showAddClassProperties(){cout vv " 请输入课程性质"vv endl;void static showAddTotalClassNumber(){cout vv " 请输入总学时"vv endl;void static showAddCurrentClassNumber(){ cout << " 请输入授课学时"vv endl;}void static showAddExpClassNumber(){cout << "请输入实验或上机学时"vv endl;void static showAddCredit(){cout << " 请输入学分"<v endl;void static showAddRightTerm(){cout vv " 请输入开课学期"vv endl; }void static showLoadingSaving(){cout vv " 正在存储数据"vv endl;}void static showSuccessedSaving(){cout vv " 数据存储完毕"vv endl;}void static showEachClasslnfo(Class classTemp){cout vv " 课程编号"vv classTemp.getClassNum();cout vv " 课程名称"vv classTemp.getClassName();cout vv " 课程性质"vv classTemp.getClassProperties();cout vv " 总学时"vv classTemp.getTotalClassNumber()vvendl ;cout vv " 授课学时"vv classTemp.getCurrentClassNumber();cout vv " 实验或上机学时"vv classTemp.getExpClassNumber();cout vv " 学分"vv classTemp.getCredit();cout vv " 开课学期"vv classTemp.getRightTerm()vvendl;cout vv " " vvendl;}};class Control{//定义了选课类的操作属性public:Control(){}void start(){ //start 里面要做的事情就是初始化界面,等待用户输入,判断输入调用initialization。

相关文档
最新文档