带字符串的Pascal记录
我正试图用一张唱片来储存人们的名字和电话 这是我第一次在pascal中尝试这一点,但我陷入了一种永远不会实现的状态,因为我还不知道如何实现这一点 如果我在外面尝试,如果它有效,但它永远不会进入我的状态 此情况在过程中,包括\u pessoa 主程序带字符串的Pascal记录,pascal,Pascal,我正试图用一张唱片来储存人们的名字和电话 这是我第一次在pascal中尝试这一点,但我陷入了一种永远不会实现的状态,因为我还不知道如何实现这一点 如果我在外面尝试,如果它有效,但它永远不会进入我的状态 此情况在过程中,包括\u pessoa 主程序 program agenda1; uses agenda1_procedures; begin processar_agenda; end. 程序 unit agenda1_procedures; interface uses crt,
program agenda1;
uses agenda1_procedures;
begin
processar_agenda;
end.
程序
unit agenda1_procedures;
interface
uses crt, ReadAnyKey1;
type type_sexo = (feminino, masculino, outro);
type Type_pessoa = record
primeiro_nome, ultimo_nome: string;
sexo: type_sexo;
telefone: string;
end;
type type_pessoas = array of type_pessoa;
var pessoa: type_pessoas;
procedure processar_agenda;
procedure imprimir_menu(var escolha: char);
procedure processar_escolha(var escolha: char);
procedure incluir_pessoa(var pessoa: type_pessoas);
implementation
//---------------------------------------
// PROCESSAR AGENDA
//---------------------------------------
procedure processar_agenda;
var escolha: char;
begin
repeat
imprimir_menu(escolha);
processar_escolha(escolha);
until escolha = '0';
end;
//---------------------------------------
// IMPRIMIR MENU
//---------------------------------------
procedure imprimir_menu(var escolha: char);
begin
clrscr;
writeln('****************************************************************************************');
writeln('* MENU *');
writeln('****************************************************************************************');
writeln('* 0-Sair *');
writeln('* 1-Incluir pessoa *');
writeln('* 2-Modificar pessoa *');
writeln('* 3-Excluir pessoa *');
writeln('* *');
writeln('* *');
writeln('****************************************************************************************');
gotoxy(3,9); write('Digite uma escolha: '); read(escolha);
end;
//---------------------------------------
// INCLUIR PESSOA
//---------------------------------------
procedure incluir_pessoa(var pessoa: type_pessoas);
var i: integer;
begin
if length(pessoa) = 0 then
setlength(pessoa,1);
writeln('Incluir pessoa na agenda');
writeln;
readln;
for i:=0 to length(pessoa) do
begin
readln;
//***** CONDITION WHICH NEVER COME TRUE !!!!! <------------------- *****
if pessoa[0].primeiro_nome = ' ' then
begin
write('Primeiro nome: '); readln(pessoa[0].primeiro_nome);
//test
writeln(pessoa[0].primeiro_nome);
readln;
end;
end;
//test
write('Primeiro nome: '); readln(pessoa[0].primeiro_nome);
write('Pessoa:',pessoa[0].primeiro_nome);
readln;
end;
//---------------------------------------
// PROCESSAR escolha
//---------------------------------------
procedure processar_escolha(var escolha: char);
begin
case escolha of
'0': exit;
'1': incluir_pessoa(pessoa);
// 2:
// 3:
end;
end;
end.
单元代理程序;
接口
使用crt,ReadAnyKey1;
类型_sexo=(女性、男性、女性);
type type_pessoa=记录
primeiro_nome,ultimo_nome:字符串;
sexo:type_sexo;
电传机:弦;
结束;
type type_pessoas=type_pessoa的数组;
var pessoa:类型_pessoas;
程序进程议程;
程序改进菜单(var-escolha:char);
程序处理程序(var-escolha:char);
程序包括pessoa(var pessoa:类型pessoas);
实施
//---------------------------------------
//进程议程
//---------------------------------------
程序进程议程;
var-escolha:char;
开始
重复
改进菜单(escolha);
埃斯科尔哈进程(埃斯科尔哈);
直到escolha='0';
结束;
//---------------------------------------
//即兴菜单
//---------------------------------------
程序改进菜单(var-escolha:char);
开始
clrsc;
书面文件(‘*****************************************************************************************************************************************************************’);
writeln(“*菜单*”);
书面文件(‘*****************************************************************************************************************************************************************’);
writeln('*0-Sair*');
writeln('*1-Incluir-pessoa*');
writeln('*2-Modificar-pessoa*');
writeln('*3-Excluir pessoa*');
writeln('**');
writeln('**');
书面文件(‘*****************************************************************************************************************************************************************’);
gotoxy(3,9);写('Digite uma escolha:');雷德(埃斯科拉);
结束;
//---------------------------------------
//INCLUIR PESSOA
//---------------------------------------
程序包括pessoa(var pessoa:类型pessoas);
varⅠ:整数;
开始
如果长度(pessoa)=0,则
设定长度(pessoa,1);
书面文件(“包括议程”);
书面语;
readln;
对于i:=0到长度(pessoa)do
开始
readln;
//*****永远不会实现的条件 是否要检查名称是否为空?或者如果它是一个空格字符?因为在你的情况下,你需要一个空间。谢谢你,伙计。我的错误。我在我的状态中放了一个空格,但帕斯卡不需要空格,我的IF如下。错误:如果pessoa[0].primeiro_nome=''那么|正确:如果pessoa[0].primeiro_nome=''那么