Posts

Excel/VBA Example - Sudoku Teaching Assistant

Image
SUDOKU TEACHING ASSISTANT Learn how to solve Sudoku puzzles with this Sudoku Teaching Assistant Microsoft Excel workbook.  It is designed to help you solve easy to moderately complex puzzles while teaching you to how to solve them. To start with, the user may enter their own puzzle, or use one of the built-in puzzles.  The flowchart present a step by step sequence of patterns that one can look for - the user is encouraged to learn the patterns and solve on their own; at the same time the computer can be used to help find patterns that the user may have missed, and optionally solve them.  Tedious work such as determining the candidates (possibilities) for a range of cells in the Sudoku puzzle can be taken care of by the computer.  More advanced users can use the program to automate some of the easier steps that they are already good at, and focus on learning the more difficult patterns.  Sudoku Teaching Assistant is not intended as a source of puzzles - however, a small number of built-

Lightweight C++ class library to store program settings (configuration) with Unicode (UTF-8) support

Image
Most programs store their program settings (program configuration) in a settings file.  This lightweight C++ class  (C++ library) was developed to support storing and reading such settings.  Grouping of settings under "sections" is supported. Unicode in (UTF-8 form) is supported for the names of the settings, as well as for string values and section names. It does not use XML.  That was just a design decision to avoid linking XML parsers into the code.  It does use the UTF8-CPP lightweight class  by  Nemanja Trifunovic  (http://utfcpp.sourceforge.net/,         https://sourceforge.net/projects/utfcpp/ ). While this code was written and tested under Visual C++ (Visual Studio), it should be re-usable for all operating systems with little or no modification. The estimated source code size is approximately 800 lines. Disclaimer:   This blog contains software (code), and instructions.  All information is provided "as is" without warranty of any kind, either expressed or i