Pascal学生管理
2024-09-04 02:17:40
program Project2; {$APPTYPE CONSOLE} uses
SysUtils; const N=;M=;
type date=record
day:..;
month:..;
year:..;
end;
student=record
number:string[];
name:string[];
birthday:date;
score:array[..M]of real;
average:real;
end;
var
stu:array[..N] of student;
counter,s,i,j,k:integer;
t:real;
a:student;
temp:student;
ch:string[];
begin
{ TODO -oUser -cConsole Main : Insert code here }
for k:= to N do
begin
with a,birthday do
begin
write(k:,'number:');readln(number);
write(k:,'name:');readln(name);
write(k:,'day:');readln(day);
write(k:,'month:');readln(month);
write(k:,'year:');readln(year);
t:=;
for i:= to M do
begin
write('score[',i,']=');read(a.score[i]);
t:=t+a.score[i]
end;
readln;
stu[k]:=a;
stu[k].average:=t/M;
end;
end;
for j:= to N do
for k:= to N-j do
if stu[k].average<stu[k+].average then
begin
temp:=stu[k];
stu[j]:=stu[k+];
stu[k+]:=temp;
end;
Writeln('按平均分从高到低排');
writeln('----------------------------------------------------------');
write('num','':,'name','':,'mm/dd/yy':,'':);
writeln('chinese','':,'math','':,'english','':,'average');
writeln('-----------------------------------------------------------');
for j:= to N do
with stu[j],birthday do
begin
write(number:,name:,'':,month:,'/',day:,'/',year:,' ');
for i:= 1to M do write(score[i]::);
writeln(stu[j].average::) end;
for j:= to N do
for k:= to N-j do
if (stu[k].name)>(stu[k+].name) then
begin
temp:=stu[k];
stu[j]:=stu[k+];
stu[k+]:=temp;
end;
Writeln('按学生姓名的字典顺序排');
writeln('----------------------------------------------------------');
write('num','':,'name','':,'mm/dd/yy':,'':);
writeln('chinese','':,'math','':,'english','':,'average');
writeln('-----------------------------------------------------------');
for j:= to N do
with stu[j],birthday do
begin
write(number:,name:,'':,month:,'/',day:,'/',year:,' ');
for i:= 1to M do write(score[i]::);
writeln(stu[j].average::) end;
writeln('按姓名查找学生信息');
readln(ch);
s:=;
for j:= to N do
if (stu[j].name)=ch then
begin
writeln('----------------------------------------------------------');
write('num','':,'name','':,'mm/dd/yy':,'':);
writeln('chinese','':,'math','':,'english','':,'average');
writeln('-----------------------------------------------------------');
with stu[j],birthday do
begin
write(number:,name:,'':,month:,'/',day:,'/',year:,' ');
for i:= 1to M do write(score[i]::);
writeln(stu[j].average::)
end;
end else s:=s+;
if s=N then Writeln('没有找到该学生信息');
writeln('将数学不及格的学生信息输出,并统计数学成绩不及格人数');
counter:=;
for j:= to N do
if (stu[j].score[])< then
begin
counter:=counter+;
writeln('----------------------------------------------------------');
write('num','':,'name','':,'mm/dd/yy':,'':);
writeln('chinese','':,'math','':,'english','':,'average');
writeln('-----------------------------------------------------------');
with stu[j],birthday do
begin
write(number:,name:,'':,month:,'/',day:,'/',year:,' ');
for i:= 1to M do write(score[i]::);
writeln(stu[j].average::)
end;
end;
writeln('数学不及格人数:',counter);
readln;
end.
最新文章
- LCA最近公共祖先 ST+RMQ在线算法
- oracle 内联同时删除多表
- Java获取字符串编码方式
- jsp的el表达式
- asp.net跳转页面的三种方法比较
- UVALive 6811 Irrigation Line(二分图最小点覆盖--匈牙利算法)
- Unity3D的几种坐标系
- ==和equals
- SQLServer中数据库文件的存放方式,文件和文件组
- (3)选择元素——(5)为项目列表加样式(Styling list-item levels)
- XPath语法
- qt 如何安装 Debuggers 调试器 ?
- Java基础-1
- SqlServer添加触发器死锁的原因
- windows 公司内部搭建禅道(项目管控)
- export,import ,export default是什么
- 异常日志框架Exceptionless结合.NET Core(本地部署)
- sam9260 闲鱼
- 2cmd 窗口 javac 错误:编码GBK的不可映射字符
- html 中怎么设置div的位置
热门文章
- @JoinColumn 匹配关联多个字段
- CodeForces - 356A Knight Tournament
- OpenJudge 6042 雇佣兵
- 【HDOJ5640】King&#39;s Cake(数论)
- Reactor和Proactor模式的讲解(关于异步,同步,阻塞与非阻塞)
- poj2767,单向连通图判定,缩点+重新建图+新图DFS
- 代理服务器squid简介
- Object.getOwnPropertyNames()
- OSWorkFlow流程配置文件具体解释
- 关于 equals()与hashcode()方法