Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Question!


Name: morgan
Title:
  help to correct this work
Question:
program inheritances_ tax;
var F : text; inheritances price, proportional deduction ,tax base, tax : longint; exemptions : = word 
begin
assign (F,’C://documents/tax’)
reset(F);
whiles not eof do begin
inheritances price:=0;
proportional deduction;=0;
tax base:=0;
 tax:=0;
readln: (F giver receives, relationship, Residential Address , movable property, savings, debts and other fees )
if  relationship = 0 then do begin
if movable property>20000 then exemptions;=20000;
else exemptions :=movable property;
if saving >20000 then exemptions:=exemptions  20000;
else exemptions :=exemptions   savings;
proportional deduction :=( Residential Address- exemptions)/ inheritances price*debts;
tax base:= inheritances price- exemptions- proportional deduction;
if tax base <1 then :=0.07*tax base;
else if(tax base >1)and(tax base <2)then tax:=(tax base-1)*0.09 70000;
else if(tax base >2)and(tax base <5)then tax:=(tax base-2)*0.12 160000;
else if(tax base >5)and(tax base <7)then tax:=(tax base-5)*0.14 520000;
else if(tax base >7)and(tax base <10)then tax:=(tax base-7)*0.18 820000;
else if(tax base >10)and(tax base <20)then tax:=(tax base-10)*0.21 1360000;
else if(tax base >20)and(tax base <30)then tax:=(tax base-20)*0.25 3460000;
else if(tax base >30)and(tax base <40)then tax:=(tax base-30)*0.30 5960000;
else if(tax base >40)and(tax base <50)then tax:=(tax base-40)*0.35 8960000;
else if(tax base >50) then tax:= (tax base-50)*0.40  12460000;
end;
Answers:

Name: DirBeer [email protected]
I agree with you

Name: DirBeer [email protected]
Hi! I'll help you, so you need to replace last character ";" to "."
The most problem can be that you use function "readln" because Pascal contains it basically. Use other name.
Next problem that you using variables that contain spaces.
Use variables like that: tax_base
Next mistake that you can't declare function in BEGIN.
So in Russia you can get call "Shit programmer".

Working code:
program inheritances_tax;

var
     f: text;
     inheritances_price, proportional_deduction, exemptions, relationship, residential_address, movable_property, savings, debts_and_other_fees: longint;
     tax, tax_base: float;

begin
     assign(f, 'C:/documents/tax');
     reset(f);
     while not EOF(f) do begin
          inheritances_price:=0;
          proportional_deduction;=0;
          tax_base:=0;
          tax:=0;
     end;
     
     {
          I can't understand what you wanted to do in your code.
          //function readln (f giver_receives, relationship, residential_address, movable_property, savings, debts_and_other_fees)
     }
     
     if (relationship == 0) then begin begin
          if (movable_property > 20000) then begin begin exemptions;=20000; end
     else
          begin exemptions :=movable_property; end;
     end;
     
     if (saving > 20000) then begin begin exemptions:=exemptions   20000; end else exemptions:=exemptions   savings; end;
     proportional_deduction:=(residential_address - exemptions) div inheritances_price * debts;
     tax_base:= inheritances_price - exemptions - proportional_deduction;
     if (tax_base < 1) then begin tax_base:=0.07 * tax_base; end
     else begin if (tax_base > 1) and (tax_base < 2) then begin tax:=(tax_base-1)*0.09   70000; end; end;
     else begin if (tax_base > 2) and (tax_base < 5) then begin tax:=(tax_base-2)*0.12   160000; end; end;
     else begin if (tax_base > 5) and (tax_base < 7) then begin tax:=(tax_base-5)*0.14   520000; end; end;
     else begin if (tax_base > 7) and (tax_base < 10 ) then begin tax:=(tax_base-7)*0.18   820000; end; end;
     else begin if (tax_base > 10) and (tax_base < 20) then begin tax:=(tax_base-10)*0.21   1360000; end; end;
     else begin if (tax_base > 20) and (tax_base < 30) then begin tax:=(tax_base-20)*0.25   3460000; end; end;
     else begin if (tax_base > 30) and (tax_base < 40) then begin tax:=(tax_base-30)*0.30   5960000; end; end;
     else begin if (tax_base > 40) and (tax_base < 50) then begin tax:=(tax_base-40)*0.35   8960000; end; end;
     else begin if (tax_base > 50) then begin tax:=(tax_base-50)*0.40   12460000; end; end;
end.

Name: kma
you've been born in a river