یکی این برنامه پاسکال رو توی کامپیوترش اجرا کنه
دوستان خواهشا این برنامه رو توی کامپیوترتون اجرا کنید بعد از اینکه داده ها رو وارد کردید یک منو ظاهر می شه
بعد وقتی منو ظاهر شد شماره 4 رو بزنید ببینید کار می کنه
خواهش می کنم کمک کنید
کد:
uses wincrt;
type
a=record
ID:integer;
name:string;
family:string;
age:integer;
nom:record
dars1:real;
dars2:real;
dars3:real;
end;
end;
mosh=array[1..50] of a ;
var
name:string;aveM,aveN:real;
t,ar,number,i,n,j,l:integer;
flag:boolean;
mosh1:mosh;temp:string;
{*******************************************************************}
function ave1(name:string ;n:integer;b:mosh) : real;
var
x:real;flag:boolean;
l:integer;
begin
l:=1;flag:=false;
while (l<=n) and (flag) do
begin
if b[l].name=name then
begin
x:=(b[l].nom.dars1) + (b[l].nom.dars2) + (b[l].nom.dars3) ;
flag:=true;
end;
l:=l+1;
end;
ave1:=x/3;
end;
{*********************************************************************}
function aveAll(b:mosh;n:integer):real;
var
x,d:real;
begin
for i:=1 to n do
begin
x:=((b[i].nom.dars1) + (b[i].nom.dars2) + (b[i].nom.dars3))/3 ;
d:=x+d;
end;
aveAll:=d/n
end;
{*********************************************************************}
procedure ADD(n:integer;mosh1:mosh);
begin
n:=n+1;
writeln('please enter New number of student');
writeln('Enter ID');
readln(mosh1[n].id);
writeln('Enter name');
readln(mosh1[n].name);
writeln('Enter family');
readln(mosh1[n].family);
writeln('Enter Age');
readln(mosh1[n].age);
writeln('Enter 3 nomreye darsi');
readln(mosh1[n].nom.dars1);
readln(mosh1[n].nom.dars2);
readln(mosh1[n].nom.dars3);
end;
{**********************************************************************}
begin
writeln('please enter number of student');
readln(n);
for i:=1 to n do
begin
gotoxy(0,3+i);
writeln('EnterID:');gotoxy(9,3+i);
readln(mosh1[i].id);gotoxy(13,3+i);
writeln('EnterName:');gotoxy(23,3+i);
readln(mosh1[i].name);gotoxy(30,3+i);
writeln('EnterFamily:');gotoxy(42,3+i);
readln(mosh1[i].family);gotoxy(49,3+i);
writeln('EnterAge:');gotoxy(58,3+i);
readln(mosh1[i].age);gotoxy(61,3+i);
writeln('Enter3NUM:');gotoxy(71,3+i);
readln(mosh1[i].nom.dars1);gotoxy(73,3+i);write(',');gotoxy(75,3+i);
readln(mosh1[i].nom.dars2);gotoxy(77,3+i);write(',');gotoxy(79,3+i);
readln(mosh1[i].nom.dars3);
end;
writeln('press number 1 to ADD');
writeln('press number 2 to Delete');
writeln('press number 3 to AVE one student');
writeln('press number 4 to ave all student');
writeln('press number 5 to manage name&family');
readln(number);
case number of
1 :ADD(n,mosh1);
{*****************************************************************}
2 :begin
writeln('please enter name to delete all information');
readln(name);
l:=1;flag:=false;
while (l<=n) and (flag) do
begin
if mosh1[l].name=name then
begin
mosh1[l].name:='';
mosh1[l].family:='';
mosh1[l].id:=0;
mosh1[l].age:=0;
mosh1[i].nom.dars1:=0;
mosh1[i].nom.dars2:=0;
mosh1[i].nom.dars3:=0;
flag:=true;
end;
l:=l+1;
end;
end;
{********************************************************************}
3 :begin
writeln(' enter student name') ;
readln(name);
aveM:=ave1(name,n,mosh1);
writeln(aveM:5:4);
end;
{*****************************************************************}
4 :begin
aveN:=aveALL(mosh1,n);
writeln(aveN:6:6);
end;
{********************************************************************}
5 :begin
for i:=1 to n do
for j:=1 to n-1 do
if mosh1[j].name>mosh1[i].name then
begin
temp:=mosh1[j].name;
mosh1[j].name:=mosh1[i].name;
mosh1[i].name:=temp;
end;
for i:=1 to n+1 do
for j:=1 to n do
if mosh1[j].family>mosh1[i].family then
begin
temp:=mosh1[j].family;
mosh1[j].family:=mosh1[i].family;
mosh1[i].family:=temp;
end;
for i:=1 to n do
writeln(mosh1[i].name:7,mosh1[i].family);
end;
end;
{***************************************************************************}
end.