Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  sba
Language: PASCAL
Code:
{
PROGRAMMER NAME: 
DATE WRITTEN: 
PURPOSE: 
}
program book_purchase_ITSBA;
USES crt;
{Declaring constants}
const
    MATHCOST = 2500.00;
     BIOCOST = 1500.00;
     CHEMCOST = 2000;
     PHYCOST = 2200;
     DISC = 0.10;

 {Declaring variables}
var
   fn, ln, sc: array[1..30] of string;
   amount: ARRAY [1..30] OF INTEGER;
   cost: ARRAY [1..30] OF REAL;
   subtotal, total_cost, discount_given: ARRAY [1..30] OF REAL;
   m_count, b_count, c_count, p_count:integer;
   menu:char;
   a, b: INTEGER;



begin
   {Initialization of specific variables}
   m_count := 0;
   b_count := 0;
   c_count := 0;
   p_count := 0;
   a := 0;
   b := 0;
   menu := ' ';

   repeat
      clrscr();
      writeln();
      writeln();
      writeln();
      writeln('READ-A-LOT BOOK STORE - MAIN MENU'); {Dispalys the main menu of the program}
      writeln();
      writeln('PRESS [A] TO ADD PURCHASE');
      writeln();
      writeln('PRESS [V] TO VIEW ALL PURCHASES');
      writeln();
      writeln('PRESS [D] TO DISPLAY TOTALS');
      writeln();
      writeln('PRESS [E] TO EXIT');
      writeln();
      write('SELECT LETTER AND PRESS ENTER: ');
      readln(menu);

      if (menu = 'a') OR (menu = 'A') then begin
      clrscr();
      writeln();
      writeln();               {This section adds new customer purchse}
      writeln();
      writeln('READ-A-LOT BOOK STORE');
      writeln('******* ADD PURCHASE *******');
      writeln();
      write('Please enter First Name: ');
      readln(fn[a]);
      writeln();
      WRITE('Please enter Last Name: ');
      READLN(ln[a]);
        repeat
           writeln();    {Ensures that only these options for the subject are used}
           WRITE('Please enter Subject choice: [ma = Maths, bi= Biology, ch = Chemistry, ph = Physics]: ');
           READLN(sc[a]);
        until(sc[a] = 'ma') OR (sc[a] = 'bi') OR (sc[a] = 'ch') OR (sc[a] = 'ph');

        if sc[a] = 'ma' then
           cost[a] := MATHCOST;   {Based on the subject category, the CORRECT COST is assigned}

        if sc[a] = 'bi' then
           cost[a] := BIOCOST;

          if sc[a] = 'ch' then
           cost[a] :=  CHEMCOST;

           if sc[a] = 'ph' then
           cost[a] := PHYCOST;
      writeln();
      writeln('COST: $',cost[a]:0:2);

      REPEAT
      writeln();
      WRITE('Please enter the amount of Books: ');
       READ(amount[a]);
      UNTIL (amount[a] <=15);

         subtotal[a] := amount[a] * cost[a];               {CALCULATIONS ACCORDINGLY}

           if amount[a] >= 10 then
              discount_given[a] := cost[a] * DISC
           else
               discount_given[a] := 0;

            total_cost[a]:= subtotal[a] - discount_given[a];

             if sc[a] = 'ma' then
             m_count := m_count +1;     {keeps a count of the various subject categories}

             IF sc[a] = 'bi' THEN
             b_count := b_count +1;

             IF sc[a] = 'ch' THEN
             c_count := c_count +1;

             IF sc[a] = 'ph' THEN
             p_count := p_count +1;

             writeln();
             write('PURCHASE COMPLETED! PRESS ENTER TO CONTINUE: ');
             readln();
             a := a + 1;
               end;

           if (menu = 'v') OR (menu = 'V') then begin
           clrscr();
           writeln();
           writeln();          {SUMMARY of customer's puchase(s)}
           writeln();
           writeln('READ-A-LOT BOOK STORE');
           WRITELN('####### VIEW ALL PURCHASES #######');
               for b := 0 to a-1 do begin
                    WRITE('NAME: ',fn[b],' ',ln[b]);
                WRITELN();
                     WRITE('SUBJECT: ',sc[b],' [ma = Math, bi = Bio, ch = Chem, ph = Phy]');
                writeln();
                    WRITE('AMOUNT: ',amount[b]);
                writeln();
                    write('COST: $',cost[b]:0:2);
                writeln();
                WRITE('SUB-TOTAL: $',subtotal[b]:0:2);
                writeln();
                    WRITE('DISCOUNT: $', discount_given[b]:0:2);
                writeln();
                WRITE('TOTAL: $',total_cost[b]:0:2);
                writeln();
                readln();
               end;
          end;

      if (menu = 'd') OR (menu = 'D') then begin
      clrscr();
      writeln();
      writeln();      {SUMMARY of number of books based on book category}
      writeln();
      writeln('READ-A-LOT BOOK STORE');
      writeln('******* DISPLAY TOTALS *******');
      writeln();
      WRITELN('TOTAL MATHEMATICS BOOK(S): ',m_count);
      WRITELN();
      WRITELN('TOTAL BIOLOGY BOOK(S): ',b_count);
      WRITELN();
      WRITELN('TOTAL CHEMISTRY BOOK(S): ',c_count);
      WRITELN();
      WRITELN('TOTAL PHYSICS BOOK(S): ',p_count);
      writeln();
      writeln();
      write('PRESS ENTER TO CONTINUE.....');
      readLN();
      END;
until (menu = 'e') OR (menu = 'E');
end.             {end of program}




          
Comments: