Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带字符串的Pascal记录_Pascal - Fatal编程技术网

带字符串的Pascal记录

带字符串的Pascal记录,pascal,Pascal,我正试图用一张唱片来储存人们的名字和电话 这是我第一次在pascal中尝试这一点,但我陷入了一种永远不会实现的状态,因为我还不知道如何实现这一点 如果我在外面尝试,如果它有效,但它永远不会进入我的状态 此情况在过程中,包括\u pessoa 主程序 program agenda1; uses agenda1_procedures; begin processar_agenda; end. 程序 unit agenda1_procedures; interface uses crt,

我正试图用一张唱片来储存人们的名字和电话

这是我第一次在pascal中尝试这一点,但我陷入了一种永远不会实现的状态,因为我还不知道如何实现这一点

如果我在外面尝试,如果它有效,但它永远不会进入我的状态

此情况在过程中,包括\u pessoa

主程序

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=''那么