亲爱的同窗们,当大家打开这篇做业的时候,恭喜大家,python的基础课程大家已经学完一半了。面向对象是你们在学习过程当中的一个重要转折,从这里开始,大家须要切换成另一种思惟来编写程序,这将很是有利于大家将来开发功能复杂的项目,因此请你们必定要用心来完成这部分的做业。html
从这部分开始,咱们的做业说明也变得更加复杂,由于全部的程序开发都是从核心功能出发的,因此咱们在开发的时候首先要完成的老是最主要的功能,之后你们还要慢慢学会本身提取“核心的功能”、进行“需求分析”,“程序设计”等工做来保证大家可以顺利成长为一个优秀的程序员。可是因为各位是初学者,因此先由咱们来替大家完成这些基础工做,大家只管写代码就行了。python
学生选课程序员
从“学生选课系统” 这几个字就能够看出来,咱们最核心的功能其实只有 选课。编程
学生、管理员ide
登录 : 管理员和学生均可以登录,且登录以后能够自动区分身份学习
选课 : 学生能够自由的为本身选择课程spa
建立用户 : 选课系统是面向本校学生的,所以全部的用户都应该由管理员完成设计
查看选课状况 :每一个学生能够查看本身的选课状况,而管理员应该能够查看全部学生的信息code
登录 :用户输入用户名和密码htm
判断身份 :在登录成果的时候应该能够直接判断出用户的身份 是学生仍是管理员
学生用户 :对于学生用户来讲,登录以后有三个功能
一、查看全部课程
二、选择课程
三、查看所选课程
四、退出程序
管理员用户:管理员用户除了能够作一些查看功能以外,还有不少建立工做
一、建立课程
二、建立学生学生帐号
三、查看全部课程
四、查看全部学生
五、查看全部学生的选课状况
六、退出程序
对于复杂的功能,咱们首先就应该想到面向对象编程。而要想将面向对象的程序开发好,就应该作好类和对象的分析工做。
选课系统简单的划分其实只有两个角色:管理员和学生。 仔细思考,你会发现有不少想不通的地方,好比学生选课,课从哪里来? 这样一想就会发现,其实课程应该能够由管理员创造出来,那么课程又会有不少属性:价格、周期、课程名、授课老师等等 那么课程也应该是一个类。
综上,本程序最基础的分析已经完毕。接下来咱们要把全部的类以及其中的属性、方法设计出来
属性:课程名、价格、周期、老师
*课程并无什么动做,因此咱们只设计属性不设计方法。其实这里还能够设计不少属性,好比课程的开始时间、结束时间、教室等等,只要你须要,这些均可以记录下来,可是这里咱们为了简化代码,就先不设计这些了。
属性:姓名、所选课程
方法:查看可选课程、选择课程、查看所选课程、退出程序
属性:姓名
方法:建立课程、建立学生学生帐号、查看全部课程、查看全部学生、查看全部学生的选课状况、退出程序
1.类的建立和规划 30分
2.登录自动识别身份 10分
3.管理员建立各类信息 20分
4.学生选课 20分
5.将内存中的数据保存到文件中 10分
6.代码简洁、调理清晰10分