PROGRAM 13
' FILENAME: PROG13.BAS ' THIS PROGRAM INPUTS TYPE OF CARPET, LENGTH OF CARPET, AND WIDTH OF ' CARPET, CALCULATES THE AMOUNT OF CARPET NEEDED AND THE COST OF THE ' CARPET, AND PRINTS THE AMOUNT AND COST TO THE SCREEN. IT ALSO ALLOWS ' THE USER TO PRINT A QUOTE SHEET. CLS DO CLS GOSUB PRINTMENU GOSUB INPUTCHOICE GOSUB PROCESSDATA GOSUB PRINTQUOTESHEET LOOP WHILE UCASE$(ANS1$) = "YES" END PRINTMENU: LOCATE 1, 15 PRINT "HONEST ABE'S CARPETORIUM" LOCATE 3, 14 PRINT "CARPET TYPES", , "COST/YARD" LOCATE 5, 14 PRINT "1. QUALITY -", , "$12.00" LOCATE 7, 14 PRINT "2. PREMIUM -", , "$18.00" LOCATE 9, 14 PRINT "3. SUPERIOR -", , "$22.00" LOCATE 11, 4 PRINT "CARPET TYPE DESIRED:" LOCATE 13, 9 PRINT "LENGTH DESIRED:", , " WIDTH DESIRED:" LOCATE 15, 11 PRINT "YARDS NEEDED:", , " PRICE:" LOCATE 17, 3 PRINT "QUOTE SHEET (Y OR N):" RETURN INPUTCHOICE: LOCATE 11, 25 INPUT "", TYPE$ DO IF TYPE$ < "1" OR TYPE$ > "3" OR LEN(TYPE$) > 1 THEN LOCATE 11, 35 PRINT "(ERROR, TYPE IN 1, 2, OR 3.)" LOCATE 11, 25 INPUT "", TYPE$ END IF LOOP WHILE TYPE$ < "1" OR TYPE$ > "3" OR LEN(TYPE$) > 1 LOCATE 11, 26 PRINT " " LOCATE 13, 25 INPUT "", WDTH LOCATE 13, 65 INPUT "", LENGTH RETURN PROCESSDATA: LET YARDSNEEDED = ((LENGTH * WDTH) / 9) + 1 LET YARDSNEEDED = INT(YARDSNEEDED * 100 + .5) / 100 IF TYPE$ = "1" THEN LET PRICE = YARDSNEEDED * 12 IF TYPE$ = "2" THEN LET PRICE = YARDSNEEDED * 18 IF TYPE$ = "3" THEN LET PRICE = YARDSNEEDED * 22 LET PRICE = INT(PRICE * 100 + .5) / 100 LOCATE 15, 24 PRINT YARDSNEEDED LOCATE 15, 64 PRINT PRICE RETURN PRINTQUOTESHEET: LOCATE 17, 25 INPUT "", QUOTESHEET$ DO IF UCASE$(QUOTESHEET$) <> "Y" AND UCASE$(QUOTESHEET$) <> "N" THEN LOCATE 17, 35 PRINT "ERROR, TYPE IN 'Y' OR 'N'." LOCATE 17, 25 INPUT "", QUOTESHEET$ END IF LOOP WHILE UCASE$(QUOTESHEET$) <> "Y" AND UCASE$(QUOTESHEET$) <> "N" LOCATE 17, 26 PRINT " " IF TYPE$ = "1" THEN CARPET$ = "QUALITY" IF TYPE$ = "2" THEN CARPET$ = "PREMIUM" IF TYPE$ = "3" THEN CARPET$ = "SUPERIOR" IF UCASE$(QUOTESHEET$) = "Y" THEN CLS LOCATE 1, 7 PRINT "QUOTE SHEET" LOCATE 3, 1 PRINT "TYPE:", CARPET$ LOCATE 5, 1 PRINT USING "YARDS: ###.##"; YARDSNEEDED LOCATE 7, 1 PRINT USING "PRICE: $$####.##"; PRICE PRINT LPRINT " QUOTE SHEET" LPRINT LPRINT "TYPE:", CARPET$ LPRINT LPRINT USING "YARDS: ###.##"; YARDSNEEDED LPRINT LPRINT USING "PRICE: $$####.##"; PRICE LPRINT CHR$(12) LET CT = 0 DO CT = CT + 1 LOOP UNTIL CT = 5000 CLS INPUT "WOULD YOU LIKE TO ENTER ANOTHER CUSTOMER'S ORDER? ", ANS1$ END IF IF UCASE$(QUOTESHEET$) = "N" THEN CLS INPUT "WOULD YOU LIKE TO ENTER ANOTHER CUSTOMER'S ORDER? ", ANS1$ END IF DO IF UCASE$(ANS1$) <> "YES" AND UCASE$(ANS1$) <> "NO" THEN PRINT INPUT "PLEASE TYPE IN EITHER 'YES' TO CONTINUE OR 'NO' TO STOP ", ANS1$ END IF LOOP WHILE UCASE$(ANS1$) <> "YES" AND UCASE$(ANS1$) <> "NO" IF UCASE$(ANS1$) = "NO" THEN CLS RETURN ' OUTFILE: PROG13.OUT HONEST ABE'S CARPETORIUM CARPET TYPES COST/YARD 1. QUALITY - $12.00 2. PREMIUM - $18.00 3. SUPERIOR - $22.00 CARPET TYPE DESIRED: 1 LENGTH DESIRED: 100 WIDTH DESIRED: 100 YARDS NEEDED: 1112.11 PRICE: 13345.32 QUOTE SHEET(Y OR N): N WOULD YOU LIKE TO ENTER ANOTHER CUSTOMER'S ORDER? NO
BACK TO CIS133 PAGE.