1. I am an electrical engineer and I often want to use a calculator
2. A calculator is not always at my side (or I'm too lazy to look for it)
3. I am often at a computer when I want to use a calculator
4. I HATE every computer calculator that I have tried because... a mouse is the WORST POSSIBLE interface device for a calculator
5. I wrote a C program calculator in 2002 or so, and have used it ever since
I'm not an RPN calculator fan; I've never bought one. The calculator on my desk at the moment is a Casio fx-115ES. But a brain dead person can write a program for an RPN calculator since it puts all the burden of figuring out order of operation on the user, so that's what I did. I started it around 2002, and tweaked things in 2003. I made it so I could easily add functions. The last time I added a function was 2005, so it's been pretty useful to me as it was 17 years ago. When I first wrote it I used whatever C compiler was on my Unix workstation (at work), and used Power C (Mix Software) on my PC at home. Now I use gcc. This is one my MUST have programs when I set up a new computer. Hopefully C will be forever and I can just recompile for the rest of my life (I'm 60 years old and hopeful that C won't die).
At one point I added a thing where I could read in a list of operations from a file. Turns out I never use it. For the things I might have thought I'd use it for, I use Excel. A spreadsheet is an AWESOME tool. A calculator is an AWESOME tool. Let the quickest one for the particular problem win. A calculator with a mouse interface will always lose.
For any computer I use I make a quick way to open a terminal. Some things are better and faster with a command line interface, and some things are better and faster with a GUI. I name my program executable "ca" (although I called it ccalc when I developed it), so I just open a terminal and type "ca". Calculate, done. To build the calculator, first compile bcl.c, then run bcl, then compile ccalc.c. The steps using gcc are in the batch file j.bat are are:
gcc bcl.c -o bcl
bcl
gcc ccalc.c -o ccalc
-edit. added exe compiled on a Win7 PC
-edit. replaced files with bug fix. exe in source zip file