I first used this as a project for a Computer User Group I used to run, it was a local group of the PC Independent User Group and used to meet in Essex. The group was a general computer user group and so interests and expertise varied and only a few of us had an interested in programming. I defined the problem/objective in fairly loose terms and left to those who took the challenge to decide on a solution. I developed my own solution using Turbo C and the Paradox database engine, others used things like; Supercalc, Excel , Cardbox, GW Basic and Assembly language. My solution stored its data in a relational database, Cardbox is a flat file database, someone use a text file and another solution offered no file storage at all.
The level of detail could include things like the cost of Road Tax, MOT, maintenance/Servicing, consumable costs, Petrol costs with quantity and mileage at the time you filled up. You can produce reports with petrol costs, average weekly, monthly and yearly costs for different types of things, the average cost per mile for petrol or including all costs. How do you implement file storage? What output do you want to get out of the program? Do you want your program to manage data for more than one vehicle? What additional information could you store about a vehicle, about multiple drives, photo's, reminders for servicing, MOT, Insurance and Road Tax. What about the applications user interface, how do you make it easy/encourage the user to keep entering the data? How do you implement the data storage; write your own database system or use a third party library?