⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recordexample3.pas

📁 学生的姓
💻 PAS
字号:
program RecordExample(input,output);Const	FIRST_NAME_MAX  = 30;	LAST_NAME_MAX	= 30;	MAX_STUDENTS	= 100;Type	First_Name_Type 	= array[1..FIRST_NAME_MAX] of char;	Last_Name_Type		= array[1..LAST_NAME_MAX] of char;	Student_Record_Type	= Record		Fname	: First_Name_Type;		Lname	: Last_Name_Type;		Id		: integer;				Gpa		: real;	end; 	Student_Collection_Type = array[1..MAX_STUDENTS] 									of Student_Record_Type;var	Debug : boolean;procedure Display_Record(Student : Student_Record_type; 					recordno : integer);Begin	with Student do	Begin		writeln('----------------------------');		writeln('      Record# ',recordno);		writeln('----------------------------');			writeln('First Name: ':15, Fname);		writeln('Last Name: ':15, Lname);		writeln('Id: ':15, Id);		writeln('GPA: ':15, Gpa:0:2);		writeln;	End;End;procedure Initialize_Collection(var Students : Student_Collection_Type);Begin	var i : integer;	for i := 1 to MAX_STUDENTS do	with Students[i] do	Begin			Fname := 'XXXXXXXXX';		Lname := 'YYYYYYYYY';		Id := 999999;		Gpa := 9.9;	end;End;Procedure Display_Collection(var Students : Student_Collection_Type;								n : integer);Begin	var i : integer;	for i:=1 to n do		Display_Record(Students[i],i);end;procedure Read_Collection(var database : Student_Collection_Type;							var record_count : integer);Begin	var data_file : Text;	record_count:=0;	reset(data_file,"students.dat");	while  not EOF(data_file) do	Begin		{*************** Read one record *************}		record_count:=record_count + 1;		if debug then writeln('Reading record....',record_count);		with database[record_count] do		Begin			Readln(data_file,fname);			Readln(data_file,lname);			Readln(data_file,Id);			Readln(data_file,Gpa);			Readln(data_file);		end;	end;	close(data_file);End;procedure Search_GPA(var database:Student_Collection_Type;					total_records : integer; key_GPA : real);Begin	var i : integer;	var found : integer;	found :=0;	for i:=1 to total_records do	begin		if (database[i].Gpa>=key_GPA) then		begin			Display_Record(database[i],i);			found:=found+1;			{break;} 			{**** Add when you only want to extract one record ***}		end;	end;		if found=0 then 		writeln('No record found...')	else		writeln(found, " records found...");End;begin	var A : Student_Collection_Type;	var i : integer;	var n : integer;	debug:=true;	if debug then writeln('Initializing...');	Initialize_Collection(A);	if debug then writeln('Reading from file...');	Read_Collection(A,n);		if debug then writeln('Now Displaying');	Display_Collection(A,n);	writeln;	writeln("*****************************");	writeln(" Displaying GPA >= 3.3");	writeln("*****************************");	search_GPA(A,n,3.3);end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -