一、功能分析
此学校管理系统应该可以实现学校的师资力量的调配,学生的入学、学习以及修学或者退学的情况
二、程序解读:
1.下面的程序实现了学校管理系统的基本功能,包括:
1)学校的招生
2)讲师的招聘
3)课程的增加
4)等等
2.未实现的功能也有很多,比如:
1)学生类中有一个方法是缴费,也有一个方法是注册,这两个方法应该关联起来,缴费成功后,才可以进行注册
2)每个老师应该可以通过各种方式来查看自己学生的信息,比如按照姓名,学号等等
3)每个学生都应该可以查看学校所有的课程和教师情况
4)所有的这些信息必须保存在文件或者数据库中才可以得到永久的保存
5)在客户上传相应的数据时,应该对其有所约束,比如说学号必须是10位正整数(在这里,为了避免报错,将所有的数据都设置为字符串型)
6)讲师,学生和课程的删除,修改,查询等操作需要添加
7)各类对象在初始化的时候需要输入的信息太多,应该做成只需要唯一ID和PASSWD这种类型的来进行相应的登录
8)等等
二、程序代码
#!/usr/bin/env python
#coding:utf-8
"""
file:Management.py
date:9/9/179:57 PM
author:hx
desc:管理系统雏形
"""
##添加模块
import sys
import json
##学校类定义
class School(object):
##初始化函数
def __init__(self,SchoolName,SchoolPlace,SchoolMotto):
self.SchoolName = SchoolName
self.SchoolPlace = SchoolPlace
self.SchoolMotto = SchoolMotto
##招生函数
def RecruitStu(self):
NewStuName = raw_input("StuName:")
NewStuAge = raw_input("StuAge:")
NewStuSex = raw_input("StuSex:")
NewStuSchool = raw_input("StuSchool:")
CourseNo = raw_input("CourseNo:")
NewStuID = raw_input("StuID:")
CoursePrice = raw_input("CoursePrice:")
NewStu = Stu(NewStuName,NewStuAge,NewStuSex,NewStuSchool,CourseNo,NewStuID,CoursePrice) ##实例化学员对象
stus_dict = {
"StuName":NewStuName,"StuAge":NewStuAge,"StuSex":NewStuSex,"StuSchool":NewStuSchool,"CourseNo":CourseNo,"StuID":NewStuID,"CoursePrice":CoursePrice} # 用字典来存放讲师信息
if not dic:
dic[NewStuName] = stus_dict
json.dump(dic, open("student_db", "w"), encoding='utf-8', ensure_ascii=False, indent=2)
else:
if dic.get(NewStuName):
print("%s学生已存在,不能注册名字相同的学生" % NewStuName)
else:
dic[NewStuName] = stus_dict
json.dump(dic, open("student_db", "w"),encoding='utf-8', ensure_ascii=False, indent=2)
print("The student has already added successfully".center(50, '-'))
NewStu.StuInfo()
##聘请讲师
def HireTch(self):
print "Welcome to hire teacher from here~"
NewTeacherName = raw_input("Please input the teacher's name:")
NewTeacherAge = raw_input("Please input the teacher's age:")
NewTeacherSex = raw_input("Please input the teacher's sex:")
NewCourseNo = raw_input("Please input the teacher's course number:")
NewSalary = raw_input("Please input the