Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Popão

Pascal

Recommended Posts

Olá, tenho algoritmo feito aqui NÃO consigo executa-lo! Alguem de bom coração poderia me ajudar programação desse algoritmo? É um programa de cadastro de produtos. relatorio do erro: Erro de sintaxe na ultima linha "fim do arquivo" inesperado.

 

program projintegrador;
{importação da biblioteca CRT}
 uses crt;
 const
	{quantidade de arquivos que podem ser armazenados}
	LArquivos=5;
	{quantidade de campos}
	Ncampos=3;
 var
	{criação de variáveis do tipo caractere}
	opG,opConf1,opConf2:char;
	{criação de variáveis do tipo inteira}
	ind1,ind2,Ncad:integer;
	{criação de variáveis do tipo texto}
	busca,encontrado:string;
	{LINHA1 E COLUNAS1-3:Armazena os nomes dos campos}
	{LINHA2-5 COLUNAS1-3:Armazena os dados}
	campos:array[1..LArquivos,1..Ncampos] of string[35];
 
 {INÍCIO DO PROGRAMA}
 begin
	{Nome dos campos}
	campos[1,1]:='Nome: ';campos[1,2]:='Matricula: ';campos[1,3]:='Telefone: ';
 
	{Demais configuracoes}
	encontrado:='Nada foi encontrado';
	opConf2:='N';
	Ncad:=2;
	{configura toda a matriz linha e coluna a nada}
	for ind1:=2 to Larquivos do
	 for ind2:=1 to Ncampos do
		campos[ind1,ind2]:='';
 
	repeat
	 {limpa a tela}
	 clrscr;
	 {criação de um menu e configurando suas cores}
	 textcolor(7);
	 writeln(':=Cadastro de Alunos=:');
	 textcolor(14);
	 writeln(':===MENU DE OPCOES===:');
	 writeln('1. Cadastrar Aluno');
	 writeln('2. Consultar Cadastro');
	 writeln('3. Editar Cadastro');
	 writeln('4. Excluir Cadastro');
	 writeln('5. Encerrar Sistema');
	 {espera que o usuário insira algum valor}
	 readln(opG);
	 {se opG for 1, faça}
	 if opG='1' then
	 begin
		{configure o valor de opConf1 como S}
		opConf1:='S';
		repeat {iicie um laço de repetição}
		   {limpe a tela}
		   clrscr;
		   {do ind 2 a o valor de LArquivos, faça}
		   for ind1:=2 to LArquivos do
		   begin
			  {se campos na pocição linha e coluna for nada e opConf1 for S, faça}
			  if ((campos[ind1,1]='')and(opConf1='S')) then
			  begin
				 {do ind 1 até o valor de Ncampos, faça}
				 for ind2:=1 to Ncampos do
				 begin
					{escreva no prompt de comando}
					write(campos[1,ind2]);
					{espera que o usuário insira algum valor}
					readln(campos[ind1,ind2]);
				 end;
				 {escreva no prompt de comando}
				 writeln('Deseja efetuar um novo cadastro S/N?');
				 {espera que o usuário insira algum valor}
				 readln(opConf1);
				 {limpa a tela}
				 clrscr;
				 {atribui esse valor a ele mesmo sendo em maiúsculo com o uso de upcase}
				 opConf1:=upcase(opConf1);
			  end;
		   end;
	   {repita enquanto opConf1 não for N}
	   until opConf1='N';
	 end
	 {do contrário se opG for 5, faça}
	 else if (OpG<>'5') then
	 begin
		{escreva no prompt de comando}
		Write('Digite o numero da matricula: ');
		{espera que o usuário insira algum valor}
		readln(busca);
		{limpa a tela}
		clrscr;
		{do ind 2 até o valor Larquivos faça}
		for ind1:=2 to Larquivos do
		begin
		   {se a matriz campos na posição determinada for igual a busca, faça}
		   if ((campos[ind1,2])=busca) then
		   begin
			  {configure encontrado com nada}
			  encontrado:='';
			  {do ind 1 até o valor de Ncampos, faça}
			  for ind2:=1 to Ncampos do
			  begin
				 {escreva no prompt de comando}
				 writeln(campos[1,ind2],campos[ind1,ind2]);
				 {se opG for igual a 3, faça}
				 if opG='3' then
				 begin
					{escreva no prompt de comando}
					write('Digite o novo(a) ',campos[1,ind2]);
					{espera que o usuário insira algum valor}
					readln(campos[ind1,ind2]);
				 end
				 {do contrário se opG for igual a 4 faça}
				 else if opG='4' then
				 begin
					{se opConf2 for igual a N, faça}
					if opConf2='N' then
					begin
					   {escreva no prompt de comando}
					   writeln('Tem certeza que deseja excluir (S/N)?');
					   {espera que o usuário insira algum valor}
					   readln(opConf2);
					   {torna esse valorem maiúsculo com o uso de upcase}
					   opConf2:=upcase(opConf2);
					end
					{do contrário se opConf2 for igual a S, faça}
					else if opConf2='S' then
					begin
					   {atribui a matriz campos na posição de linha ind1 e coluna ind2 o valor de nada}
					  campos[ind1,ind2]:='';
					  {limpa a tela}
					  clrscr;
					end;
				 end;
			  end;
		  end;
	   end;
	   {reconfigura a cor do texto}
	   textcolor(15);
	   {imporme no prompt de comando}
	   Writeln(encontrado);
	   {reconfigura a cor do texto}
	   textcolor(14);
	   {atribui valor as variáveis}
	   encontrado:='Nada foi encontrado';
	   opConf2:='N';
	   {espera que alguma tecla seja prescionada pelo usuário}
	   readkey;
	   {limpa a tela}
	   clrscr;
	 end;
{repita enquanto opG for diferente de 5}
until (opG='5')
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

em pascal n sei.

+ normalmente é pq você esqueceu algum end ow coisa do genero.

tente identar melhor seu código e veja se tem algum begin end, faltando ow a +;

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.