(I occasionally see "00/100" for "zero cents" on checks -- not that I think that should be emulated or that Say needs to deal with 00 or 000 as input.)
Marilyn asked me to comment on this .... I think that if one would like to write the ultimate say program, on their own time, go for it. I do think that you need to have some common checks, but we don't have to try to protect ourselves against hackers or really random keystrokes. The purpose here is to be presented with something that appears "too big": "I can't possibly write a program that does that. I cannot wrap my head around it. It would take years of experience before I could handle something like that!" Then you break it into small pieces and realize that, yes, you can do it. By yourself. And, therefore, you can take on really huge stuff. Each assignment is riddled with shortcomings that make it less than useful in "the real world" - but it is a stepping stone into full usefulness.