pragma solidity ^0.4.17; /*Now Bob wants to collect his fees(the remaining amount in the contract after returning the amount of deposit to Alice). He needs to add a new feature in order to withdraw the amount from the contract.*/ contract Car { string model; uint256 daily_rate; function Car(string argmodel,uint256 arg_daily_rate) payable public { model = argmodel; daily_rate = arg_daily_rate; } function getCarModel() public view returns(string) { return model; } function setDailyRate(uint256 arg_dailyRate) public { daily_rate = arg_dailyRate; } function getDailyRate () public view returns (uint256) { return daily_rate; } function rent() payable public { require(msg.value > 1000000000000000000); } function getBalance() public view returns(uint256) { return address(this).balance; } function return_car(uint256 noofdays) public { msg.sender.transfer((address(this).balance) - (noofdays * daily_rate)); } function collect_fees() public { msg.sender.transfer((address(this).balance)); } }