收费信息包括:收费D、收费类型 (普通、主任、专家...) 、病人姓名、病人身份证号、病人性别、医生姓名、医生科室、收费日期、价格、其它信息。试用面向对象程序设计思想,设计收费管理信息系统,使之能提供以下功能:1、收费信息录入功能 2、收费信息文件读取功能3、收费信息文件保存功能4、收费信息浏览功能5查询功能:1)按费ID查2)按收费类型查询6、修改功能:根据收费ID修改相应信息;7、删除收费功能:删除相应ID的收费。8、排序功能(由用户指定按照医生姓名或ID;指定升序或降序) 9、退出
时间: 2023-07-04 19:15:55 浏览: 50
以下是使用面向对象程序设计思想设计的收费管理信息系统的代码示例:
```python
class Charge:
def __init__(self, id, type, name, id_card, gender, doctor, department, date, price, other):
self.id = id
self.type = type
self.name = name
self.id_card = id_card
self.gender = gender
self.doctor = doctor
self.department = department
self.date = date
self.price = price
self.other = other
class ChargeSystem:
def __init__(self):
self.charges = []
def add_charge(self, charge):
self.charges.append(charge)
def read_charges(self, file_name):
with open(file_name, 'r') as f:
for line in f.readlines():
charge_info = line.strip().split(',')
charge = Charge(charge_info[0], charge_info[1], charge_info[2], charge_info[3], charge_info[4], charge_info[5], charge_info[6], charge_info[7], charge_info[8], charge_info[9])
self.add_charge(charge)
def save_charges(self, file_name):
with open(file_name, 'w') as f:
for charge in self.charges:
f.write(f"{charge.id},{charge.type},{charge.name},{charge.id_card},{charge.gender},{charge.doctor},{charge.department},{charge.date},{charge.price},{charge.other}\n")
def view_charges(self):
for charge in self.charges:
print(f"ID: {charge.id}, Type: {charge.type}, Name: {charge.name}, ID Card: {charge.id_card}, Gender: {charge.gender}, Doctor: {charge.doctor}, Department: {charge.department}, Date: {charge.date}, Price: {charge.price}, Other: {charge.other}")
def search_charge_by_id(self, id):
for charge in self.charges:
if charge.id == id:
return charge
return None
def search_charge_by_type(self, type):
result = []
for charge in self.charges:
if charge.type == type:
result.append(charge)
return result
def modify_charge(self, id, type, name, id_card, gender, doctor, department, date, price, other):
for charge in self.charges:
if charge.id == id:
charge.type = type
charge.name = name
charge.id_card = id_card
charge.gender = gender
charge.doctor = doctor
charge.department = department
charge.date = date
charge.price = price
charge.other = other
break
def delete_charge(self, id):
for charge in self.charges:
if charge.id == id:
self.charges.remove(charge)
break
def sort_by(self, key, reverse=False):
self.charges.sort(key=lambda x: getattr(x, key), reverse=reverse)
if __name__ == '__main__':
system = ChargeSystem()
system.read_charges('charges.txt')
system.view_charges()
charge = system.search_charge_by_id('1')
if charge:
print(f"Found charge by ID: {charge.name}")
charges = system.search_charge_by_type('普通')
if charges:
print(f"Found {len(charges)} charges by type '普通'")
system.modify_charge('1', '主任', '张三', '123456789012345678', '男', '李四', '内科', '2022-05-01', '500', '退烧药')
system.delete_charge('2')
system.sort_by('doctor')
system.view_charges()
system.save_charges('charges.txt')
```
这个代码示例中,Charge类表示一个收费信息,包括ID、类型、姓名、身份证号、性别、医生、科室、收费日期、价格、其它信息。ChargeSystem类表示收费管理信息系统,包括添加、读取、保存、浏览、查询、修改、删除、排序等功能。其中,查询和排序功能可以根据用户指定的关键字进行查询和排序。使用这个系统,可以实现对收费信息的完整管理。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)