21、某出租屋的宽带是根据每个月上网时间计算上网费用,计算方法如下: 编写程序,要求当输入每月上网小时数,显示该月总的上网费用. C语言代码
时间: 2024-02-29 22:52:10 浏览: 18
可以使用以下代码实现:
```c
#include <stdio.h>
#define BASE_FEE 30 // 基本费用
#define PER_HOUR 1.5 // 每小时费用
int main() {
int hours; // 上网小时数
double fee; // 上网费用
printf("请输入每月上网小时数:");
scanf("%d", &hours);
if (hours <= 0) {
printf("输入错误!上网小时数必须大于0。\n");
return 1;
}
fee = BASE_FEE + PER_HOUR * hours;
printf("该月总的上网费用为:%.2f元。\n", fee);
return 0;
}
```
程序中使用宏定义定义了基本费用和每小时费用,然后通过用户输入上网小时数计算出该月总的上网费用,并输出结果。注意要进行输入错误的判断,以避免出现不合理的计算结果。
相关问题
某出租屋的宽带是根据每个月上网时间计算上网费用,计算方法C语言解答如下: 编写程序,要求当输入每月上网小时数,显示该月总的上网费用.
以下是使用 C 语言编写的程序,可以根据每月上网时间计算上网费用:
```c
#include <stdio.h>
int main()
{
int hours; // 定义每月上网小时数
double fee; // 定义上网费用
printf("请输入每月上网小时数:");
scanf("%d", &hours);
if (hours <= 50) {
fee = 10.0;
} else {
fee = 10.0 + (hours - 50) * 0.2;
}
printf("本月上网费用为:%.2f元\n", fee);
return 0;
}
```
程序中首先定义了一个整型变量 `hours` 来储存每月上网小时数,以及一个双精度浮点型变量 `fee` 来储存上网费用。然后通过 `printf` 函数输出提示信息,使用 `scanf` 函数获取用户输入的每月上网小时数。
接下来通过 `if` 条件语句来判断上网费用的计算方式。如果每月上网小时数不超过50小时,则上网费用为10元;否则,上网费用为10元加上超出50小时的部分乘以0.2元/小时的费率。
最后通过 `printf` 函数输出本月的上网费用。注意使用 `%.2f` 格式控制符来保留两位小数。
设某户有n个房间出租,3个月起租,不足3个月的按三个月算,请设计相关类和程序实现对合租房租聘的管理
好的,以下是一个简单的房屋租赁管理系统的类设计和示例程序:
```python
class Room:
def __init__(self, room_id, rent, rented, renter=None):
self.room_id = room_id # 房间编号
self.rent = rent # 单价
self.rented = rented # 已租时间
self.renter = renter # 租客对象
def is_empty(self):
return self.renter is None
def rent_out(self, renter):
self.renter = renter
def rent_end(self):
self.rented = 0
self.renter = None
class Renter:
def __init__(self, name, start_month):
self.name = name # 租客名字
self.start_month = start_month # 租赁开始月份
def __str__(self):
return "Renter: %s, start_month: %d" % (self.name, self.start_month)
class RentingManager:
def __init__(self, rooms):
self.rooms = rooms # 所有房间列表
def rent_room(self, room_id, renter):
for room in self.rooms:
if room.room_id == room_id and room.is_empty():
room.rent_out(renter)
return True
return False
def end_rent(self, room_id):
for room in self.rooms:
if room.room_id == room_id and not room.is_empty():
room.rent_end()
return True
return False
def list_all_rooms(self):
print("RoomID\tRent\tRented\tRenterName")
for room in self.rooms:
rented = "3 months" if room.rented < 3 else "%d months" % room.rented
renter_name = room.renter.name if not room.is_empty() else ""
print("%s\t%s\t%s\t%s" % (room.room_id, room.rent, rented, renter_name))
```
接下来是一个简单的示例程序,模拟租赁和退房操作:
```python
# 初始化房间列表
rooms = [
Room("A101", 1000, 0),
Room("A102", 1200, 0),
Room("A103", 1500, 2, Renter("Jack", 2)),
]
manager = RentingManager(rooms)
# 列出所有房间
manager.list_all_rooms()
# 租客租赁房间A101
renter = Renter("Tom", 3)
if not manager.rent_room("A101", renter):
print("Room A101 is not available")
else:
print("Rent room A101 to %s" % renter.name)
# 再次列出所有房间
manager.list_all_rooms()
# Jack退租房间A103
if not manager.end_rent("A103"):
print("Cannot end rent for room A103")
else:
print("Renter Jack has ended rent for room A103")
# 再次列出所有房间
manager.list_all_rooms()
```
该程序的输出结果为:
```
RoomID Rent Rented RenterName
A101 1000 0
A102 1200 0
A103 1500 2 Jack
Rent room A101 to Tom
RoomID Rent Rented RenterName
A101 1000 3 months Tom
A102 1200 0
A103 1500 2 Jack
Renter Jack has ended rent for room A103
RoomID Rent Rented RenterName
A101 1000 3 months Tom
A102 1200 0
A103 1500 0
```