Java代写,java作业代写:100%原创代码
当前位置:以往案例 > >案例JAVA GUI设计题目:学生选课信息管理
2017-10-06


一、内容编写 Java GUI 程序,完成学生的选课信息管理。

课程信息存储在文件 courses.txt 中,每门课程信息包括课程名、课程编号、课程学分、主讲讲师姓名、上课地点(假设每门课程的上课地点是唯一的)、课程的其他信息(如多少实验课时、多少理论课时等)。

文件 courses.txt 的示例内容与格式如下所示:

Academic English I,31060101,3,Liang ZHU-GE,8-102

Two hours each week-day.

Advanced Mathematics I1,31060102,4.5,ChongZhi ZU,8-101

Two lectures in a week.

Introduction to IT,31060103,3.5,ChuanLiang LIU,9-201

The course includes 16 lab hours.

Programming Fundamental,31060104,3.5,Donald E. KNUTH,9-203

The course includes 28 lab hours.

上面的示例文件中,包含有 4 门课程的信息。

如第一行是课程Academic English I,其编号为31060101,学分为3,主讲教师为Liang ZHU-GE,上课地点为8-102。第二行则是该课程的其他信息Two hours each week-day.

类似的,第三行、第四行是第二门课Advanced  Mathematics  I1的相关信息;第五行、第六行是第三门课

Introduction to IT的相关信息;第七行、第八行是第四门课Programming Fundamental的相关信息。

学生信息存储在文件 students.txt 中。每位学生的信息包括学生姓名、学号、性别、专业、选课数目、选课的课程编号列表。

文件 students.txt 的示例内容与格式如下所示:

Harry POTTER,1766060101,m,Computer Science and Technology 4 31060101 31060102 31060103 31060104

WuKong SUN,1766060102,m,Computer Science and Technology 2 31060103 31060104

XiaoTiao MA,1766060103,m,Computer Science and Technology 1 31060104

MuLan HUA,1766060104,f,Computer Science and Technology 3 31060102 31060103 31060104

Bill GATES,1766060105,m,Computer Science and Technology 0

上面的示例文件中,包含有 5 位学生的信息。

如第一行是学生Harry POTTER,其学号为1766060101,性别为m表示男性,专业为Computer Science

and Technology。第二行则是该学生所选课程的数量4,该数字表示接下来的 4 行分别列出了此学生选的 4

课程的编号,分别是第三行的31060101、第四行的31060102、第五行的31060103、第六行的31060104。通过查课程文件 courses.txt 内容,我们知道该生选的课程名称分别是Academic English IAdvanced Mathematics I1Introduction to ITProgramming Fundamental

类似的,学生WuKong SUN选了两门课程,信息共占四行;学生XiaoTiao MA 选了 1 门课程,信息共占 3 行;MuLan HUA 选了三门课程,信息共占五行;学生Bill GATES 选了 0 门课程,信息共占 2 行(由于没选课程,所以选课程数0后没有课程编号对应的行)。


在本次大作业中,需要对课程信息、学生信息进行维护。

1.课程信息的维护

维护课程信息时,提供以下操作:

列出所有课程信息供查阅,对应的命令为show

列出某一门课程信息供查阅(需要提供课程编号),对应的命令为search。特别注意:待查阅的课程编号不存在时,应提示相应信息。

增加一门课程,对应的命令为add,特别注意:当新增加的课程编号与已有课程编号重复时,应提示相应信息。

删除一门课程(需要提供课程编号),对应的命令为remove,特别注意:待删除的课程编号不存在时,应提示相应信息。另外,还需注意,当某门课程被成功删除时,所有选择该课程的学生信息中的对应课程编号也应被删除。

修改某一门课程的信息(需要提供课程编号),注意被修改的信息不能是课程编号本身,对应的命令为update

特别注意:待修改的课程编号不存在时,应提示相应信息。

2.学生信息的维护

维护学生信息时,提供以下操作:

列出所有学生信息供查阅,对应的命令为display

列出某一位学生信息供查阅(需要提供学生学号),对应的命令为retrieve。特别注意:待查阅的学生学号不存在时,应提示相应信息。

增加一位学生,对应的命令为insert,特别注意:当新增加的学生学号与已有学生学号重复时,应提示相应信息。

删除一位学生(需要提供学生学号),对应的命令为delete,特别注意:待删除的学生学号不存在时,应提示相应信息。

修改某一位学生的信息(需要提供学生学号),注意被修改的信息不能是学生学号本身,对应的命令为modify

特别注意:待修改的学生学号不存在时,应提示相应信息。

当待修改学生学号存在时,除了修改学生自身信息以外,还有以下两种子命令供用户选择:

子命令enroll的功能是,为该生增加一门选修的课程。特别注意:当输入的选修课程编号不存在时,应提示相应信息;当输入的选修课程编号与该生已修课程重复时,应提示相应信息。

子命令drop的功能是,为该生退掉一门选修的课程。特别注意:当输入的选修课程编号不存在时,应提示相应信息;当输入的选修课程编号不在该生已修课程中时,应提示相应信息。

二、任务

1.编写类 Course 的相关方法。

2.编写类 Student 的相关方法。

3.编写类 Main 的相关方法。

0 Main 需要两个空列表:课程信息列表 courses_list 和学生信息列表 students_list。之后将对应两个文件 courses.txt

0 students.txt 的内容读到列表 courses_list students_list 中,注意两个列表的元素分别是类 Course 的对象和类 Student

的对象。

之后,程序显示 Java GUI 界面,类似图 1 所示,等待用户进行三类操作。


image.png

1 程序界面示意图

第一类是维护课程信息的,五种命令上文已经讨论过;第二类是维护学生信息的,五种命令上文已经讨论过;第三类是退出命令(Quit)、清空命令(Clear)。

用户在界面中单击相应的按钮,激发对应的命令,系统完成相应的任务。当用户选择清空命令时,会将按钮最右侧文本域清空。

当用户选择退出命令时,需要调用写文件操作,将两个列表中的元素按照前文规定的文件格式写入两个新文件

new_courses.txtnew_students.txt中。最后提示程序终止。

三、要求

1.以小组为开发单位,每组 5 人。每人参与界面设计,协同完成类似于图 1 所示的界面;每人完成至少 2

按钮对应命令的事件处理程序。

2.根据自己完成的工作撰写程序设计综合实训报告,报告中包含小组任务概述、自己完成任务概述、任务的详细设计(用流程图与文字结合说明)、Java 实现该任务的技术要点、工作总结。

3.以小组为单位,参加答辩,展示工作成果;每人回答指导老师提出的关于自己开发代码的问题。

代写计算机编程类/金融/高数/论文/英文


u=199783060,2774173244&fm=58&s=188FA15AB1206D1108400056000040F6&bpow=121&bpoh=75.jpgalipay_pay_96px_533896_easyicon.net.pngpaypal_96px_533937_easyicon.net.pngchina_union_pay_96px_533911_easyicon.net.pngmastercard_pay_96px_533931_easyicon.net.pngasia_pay_96px_533902_easyicon.net.png

本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝或者Upwork交易!

E-mail:[email protected] 微信:csghostwriting  工作时间:无休息工作日-早上8点到凌晨3点


如果您用的手机请先保存二维码到手机里面,识别图中二维码。如果用电脑,直接掏出手机果断扫描。


在线提交订单