Algorithms to Live By.
It takes various well studied problems and applies the solution to common problems. So using the best strategy for the secretary problem to select parking when driving to a popular event.
It’s ok. Well researched and straightforward. However it spends more time on each problem than the depth it goes into deserves. Plus some of the solutions are only marginally useful.
I’m going to agree with a lot of the other posters and say QT with QT creator. It’s a tested and well though out implementation. It’s signals and slots event system is straight forward and easy to learn.
Whatever route you take learn Model View Controller (MVC). It gets in the mindset of keeping your data model seprate from things that use the data and things that change the data.
https://en.m.wikipedia.org/wiki/Model–view–controller