Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

html/Javascript Answer Only (Check Protection) Computers are frequently employed

ID: 3599799 • Letter: H

Question

html/Javascript Answer Only

(Check Protection) Computers are frequently employed in check-writing systems such as payroll and accounts payable applications. Many strange stories circulate regarding weekly paychecks being printed (by mistake) for amounts in excess of $1 million. Incorrect amounts are printed by computerized check-writing systems because of human error and/or machine failure. Systems designers build controls into their systems to prevent erroneous checks from being issued. Another serious problem is the intentional alteration of a check amount by someone who intends to cash a check fraudulently. To prevent a dollar amount from being altered, most computerized check-writing systems employ a technique called check protection. Checks designed for imprinting by computer contain a fixed number of spaces in which the computer may print an amount. Suppose a paycheck contains eight blank spaces in which the computer is supposed to print the amount of a weekly paycheck. If the amount is large, then all eight of those spaces will be filled, for example:

1,230.60 (check amount)

--------

12345678 (position numbers)

On the other hand, if the amount is less than $1000, then several of the spaces will ordinarily be left blank. For example,

99.87

--------

12345678

contains three blank spaces. If a check is printed with blank spaces, it’s easier for someone to alter the amount of the check. To prevent a check from being altered, many check-writing systems insert leading asterisks to protect the amount as follows:

***99.87

--------

12345678

Write a script that inputs a dollar amount to be printed on a check, then prints the amount in check-protected format with leading asterisks if necessary. Assume that nine spaces are available for printing the amount.

Explanation / Answer

const maxLength = 9;
function checkProcfmt(amount) {
    var length = amount.length;
   var procFormat = "";
   if(length == maxLength)
   return amount;
    else {
       for(var i = maxLength, j= length - 1; i > 0 ; i--,j--) {
            if(j >= 0) {
               procFormat += amount[j];
           } else {
               procFormat += '*';
           }
       }
        return procFormat.split("").reverse().join("");
    }
  
}

Sample Output: checkProcfmt("120.89");

***120.89