Hey guys im new to this programming thing and im starting of with pascal.I have a small problem here is the program i want to input a number and that number will determine how man times the for loop runs the problem is the program is compliling but is stoping after i enter "Item Name"(see in red) what the heck am i doing wrong?

Program Array12 ;
uses crt;
Var
ItemN:array[1..5] of integer;
UnitP:array [1..5] of integer;
Quantity:array [1..5] of integer;
UnitT,totalprice,discount:real;
index,n:integer;

Begin
clrscr;
Writeln('Group Assignment');
Writeln('----------------');
Writeln('Enter amount of goods');
readln(n);

for index := 1 to n do

begin

Writeln('Enter Item name');
Readln(ItemN [index]);

Writeln('Enter Price');
Readln(UnitP [index]);

Writeln('Enter the quantity of item');
Readln(Quantity [index]);

UnitT:= (UnitP[index]* Quantity[index]);
totalprice:= (totalprice + UnitT);
End;

If totalprice > 5000 then
discount:=( 0.2 * totalprice);
index:= 0;

End.

## Recommended Answers

You will need to read that variable as a string and then convert it to an integer.

## All 4 Replies

You will need to read that variable as a string and then convert it to an integer.

lol yea how the heck did i miss that...yea the program calculation is done i just need to present the info of the variables in a neat and organized fashion thanks

This worked for me in Lazarus environment (even it is brittle due to possibility of non-numeric input to number variables)

``````program Project1;

uses
Classes, SysUtils, crt;

Var
ItemN:array[1..5] of string;
UnitP:array [1..5] of integer;
Quantity:array [1..5] of integer;
UnitT,totalprice,discount:real;
index,n:integer;

Begin
clrscr;
Writeln('Group Assignment');
Writeln('----------------');
Writeln('Enter amount of goods');
readln(n);

for index := 1 to n do

begin
Writeln;
Writeln('Enter Item name');
Readln(ItemN [index]);

Writeln('Enter Price');
Readln(UnitP [index]);

Writeln('Enter the quantity of item');
Readln(Quantity [index]);

UnitT:= (UnitP[index]* Quantity[index]);
Writeln('Unit total: \$':20,UnitT:0:2);
totalprice := (totalprice + UnitT);
End;

If totalprice > 5000 then begin
discount:=( 0.2 * totalprice);
Writeln('Discount \$':20, -discount:0:2);
end else discount:= 0.0;
writeln('-------------------------------------------');
writeln('Total price \$':20, totalprice - discount:0:2);
writeln('Finished, push enter!');
readln();
end.``````

wow thanks man! i think i should do show the amount the item costs before moving on to the next one thanks for that :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.