帮朋友问,求程序算法原码??

designonline 2004-12-03 09:12:40
定义一个学生成绩类来统计一次考试的成绩。 要求:
(1) 从 records.txt 读入每个学生每门功课成绩。
(2) 求出每个学生的总分并输出到文件 mark.txt。
(3) 求出每门功课的平均分并输出到文件average.txt

提示: 假设有90名学生, 5门课。
定义数据成员 数组 mark[90][5] 表示 90个学生 5 门功课的成绩。对每个要求设计一个公有函数,分别为Input(), Total(), Average()。在主函数中分别调用这三个函数。

records.txt 的格式:
陈大 85 79 84 78 90
王二 89 92 73 89 80
张三 65 97 60 58 62
李四 85 86 84 82 83
王五 91 93 89 87 95
…………………………………….
mark.txt 的格式:
姓名 总分

average.txt 的格式:
科目编号(1-5) 平均分
...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
designonline 2004-12-05
  • 打赏
  • 举报
回复
Student=class(TObject)
private
nums:array[1..5] of integer;//某个学生的各科成绩;
name:string;//某个学生名字;
public
property nums:integer read GetValue write SetValue;
property name:string read GetName write SetName;
procedure Input();
procedure Total();
procedure Average();
end ;
好象有错误。。我真的不知道dephhi的属性定义这么麻烦
ICMGDCHN 2004-12-05
  • 打赏
  • 举报
回复
定义类时前面要加type的,而且要在interface段定义
ICMGDCHN 2004-12-04
  • 打赏
  • 举报
回复
还有,那三个函数不要放到函里面去
ICMGDCHN 2004-12-04
  • 打赏
  • 举报
回复
Student=class
private
num:array[1..5] of integer;//某个学生的各科成绩;
name:string;//某个学生名字;
public
property nums read GetValue write SetValue;
property name read GetName write SetName;
...
end;

定义时
var
students:array[1..90] of Student;//建立学生类的数组



designonline 2004-12-04
  • 打赏
  • 举报
回复
这里定义类的数组属性怎么定义。。
大家帮忙看看
Student=class(TObject)
private
public
//property mState[90,5]:integer red GetValue write SetValue;
procedure Input();
procedure Total();
procedure Average();
end ;
designonline 2004-12-03
  • 打赏
  • 举报
回复
ICMGDCHN((梦醒泪湿襟)->喜欢明月) 说的很对,本来就是作业来的
因为我朋友根本没有学多dephi,而我都是写c sharp的,根本帮不上忙,所以求帮助
nyf1220 2004-12-03
  • 打赏
  • 举报
回复
hehe,so easy啊,
楼上的高
ICMGDCHN 2004-12-03
  • 打赏
  • 举报
回复

var
name:string;
num1,num2,num3,num4,num5:integer;
namelist:array[1..90] of string;
---------------------------------------
读文件:
readln(F,name,num1,num2,num3,num4,num5)

namelist[i]:=name;
mark[i][1]:=num1;
...
mark[i][5]:=num5;

--------------------------------------------
计算总分:
var
totalnum:array[1..90] of integer;

for i:=1 to 90
for j:=1 to 5 do
totalnum[i]:=totalnum[i]+mark[i][j];

writeln(F,namelist[i],totalnum[i]

---------------------------------------------
计算平均分
var
avernum:array[1..5] of float;
sum:integer;

for j:=1 to 5 do
begin
for i:=1 to 90 do
begin
sum:=sum+mark[i][j];
avernum[j]:=sum/90;
end;
writeln(f,j,avernum[j]);
end
---------------------------------------

只给出算法,实现代码没写出来,感觉你这是作业题,所以不打算全部写出来,都是很基础的东西,多看下书就能做出来的东西.有时要自己多想想,编程这东西不是靠看和靠听就能学会的,不动手的话永远也学不了,更别说学好.


16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧