//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity ^0.4.18; contract SimpleTrips { struct TripObject { uint id; string title; uint distance; bool onTrip; } mapping (uint => TripObject) listOfData; uint listOfDataLength; function set(uint _id, string _value, uint _distance) public { listOfDataLength++; listOfData[_id] = TripObject(_id, _value, _distance, false); } function setOnTrip(uint _id) public { listOfData[_id].onTrip = true; } function get(uint _id) public constant returns (string) { return listOfData[_id].title; } function getOnTripStatus(uint _id) public constant returns (bool) { return listOfData[_id].onTrip; } function remove(uint _id) public { delete listOfData[_id]; } function showOnTrip(uint _id) public constant returns (string) { if (listOfData[_id].onTrip == true) { return "Уже в пути"; } else { return "Едем"; } } function howManyOnTrips() public constant returns (uint) { uint count = 0; for (uint iin = 0; iin < listOfDataLength; iin++) { if (listOfData[iin].onTrip == true) { count++; } } return count; } }
0.4.18