can someone please help me with this pascal program, does this look right?

Program StudentScores;

``````var
c: integer;
s: integer;
t: integer;
n: integer;
p: integer;
f: integer;
h: integer;
l: integer;
ave: integer;
max: integer;
am: integer;
hi: integer;
li: integer;
scores: integer;

Begin
For c:= 1 to 15 do;
Begin
writeln('Enter the name of student: ',n);
readln(n);
writeln('Enter the test scores for Class A: ',s);
readln(s);
If scores > 80 then
writeln('This student gets an A: ',p)
Else
writeln('This student has Failed: ',f);
read(scores);
End;
scores:=0
max:=0
read(scores);
Begin
writeln('The highest score is: ',h);
read(h);
writeln('The lowest score is: ',l);
read(l);
Writeln('Enter all students who have an A: ',a);
read(a);
writeln('Enter all students who failed: ',failed);
read(failed);
ave:=scores/15;
read(ave);
End;
For c:= 1 to 15 do;
Begin
writeln('Enter the name of student ',n);
readln(n);
writeln('Enter the test scores for Class B ',s);
readln(s);
If scores > 80 then
writeln('This student gets an A ',p);
Else
writeln('This student has Failed ',f);
read(scores);
End;
scores:=0
max:=0
read(scores);
Begin
writeln('The highest score is ',h);
read(h);
writeln('The lowest score is ',l);
read(l);
Writeln('Enter all students who have an A ',a);
read(a);
writeln('Enter all students who failed ',failed);
read(failed);
ave2:=scores/15;
read(ave2);
End;
Begin
average mark:=ave+ave2/2
writeln('The average mark is ',am);
readln(am);
writeln('The highest individual mark is ',hi);
readln(hi);
writeln('The lowest individual mark is ',li);
readln(li);

End;
Readln;
Readln;
``````

End.

Without knowing what the program is supposed to do it is difficult to judge if it looks right. However there are one or two things worth commenting on regardless of that.

First, I suggest you use meaningful variable names because c, s, t, n, p, f, h, and l tell nothing about the values they will hold.

Second, the semi-colon at the end of the line:

``````For c:= 1 to 15 do;
``````

Probably should not be there. It means this line is the same as:

``````For c:= 1 to 15 do {nothing};
``````

I guess you want the repeat the following begin...end block 15 times, not the null statement before the semicolon. You repeat the same logic later in the code.

Be a part of the DaniWeb community

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