Ir ao conteúdo

Posts recomendados

Postado
Program MiniMercado ;
 Var
	 produto1,produto2,produto3,produto4:string;
   	 qtde1,qtde2,qtde3,qtde4:integer;
   	 qtdv1,qtdv2,qtdv3,qtdv4:integer;
   	 v1,v2,v3,v4:real;
   	 cod1,cod2,cod3,cod4:integer;
   	 codf:integer;
   	 valor1,valor2,valor3,valor4:real;
   	 troco:real;
   	 valorrec:real;
   	 faltadin:real;
   	 totaldavenda:real;
   	 op:integer;
 Begin
      // Primeira Abertura, recepção do usuario.
      Textcolor(blue); 
 	 writeln('================================================================================');
      writeln('=============================== MINI MERCADO ===================================');
      writeln('================================================================================');
      textcolor(lightgreen);
      writeln('Bem Vindo!');
      writeln;
      readkey;
      clrscr;
     
      // Inicio do menu, uso do repeat para tornar o menu funcional.
	 repeat
	      Textcolor(white);
     	 writeln('================================================================================');
           writeln('=============================== MINI MERCADO ===================================');
           writeln('================================================================================');
           writeln('======================================================= Total: ',totaldavenda:2:2);
           writeln;
           textcolor(lightgreen);
           writeln('Menu:');
		 writeln('1-Cadastrar Produto');
 	      writeln('2-Iniciar Venda');
 	      writeln('3-Encerrar Compra');
 	      // Adicionada uma opção a mais para controle dos cadastros feitos.
           writeln('4-Controle de Estoque');
           //--------------------------------------------------------------//
           writeln('5-Sair');
           writeln;
           writeln('Escolha uma das opções acima: ');
 	      read(op);
 	      writeln;
 	      clrscr;
 	      // Opção Um: Cadastrar (necessita ajustes e embelezamento do layout).
        	 if(op=1)then
 	      begin
 	      	//Primeiro Cadastro
 	          writeln('================================================================================');
               writeln('=============================== MINI MERCADO ===================================');
               writeln('================================================================================');
               writeln('======================================================= Total: ',totaldavenda:2:2);
               writeln;
	    		writeln('cadastre seus produtos:');
      		writeln;
	    		Writeln('digite nome do produto 1');
 	    		readln(produto1);
 	    		writeln;
 	    		Writeln('digite codigo do produto 1');
	    		readln(cod1);
	    		writeln;
 	    		Writeln('digite valor do produto 1');
 	    		readln(valor1);
 	    		writeln;
 	    		writeln('digite quantidade de estoque do produto 1');
 	    		readln(qtde1);
 	    		writeln;
 	    		writeln('================================================================================');
 	    		writeln('Tecle Enter para cadastrar outro produto:');
 	    		readkey;
 	    		clrscr;
 	    		//===========================================================================================================
 	    		//Segundo Cadastro
 	    		writeln('================================================================================');
               writeln('=============================== MINI MERCADO ===================================');
               writeln('================================================================================');
               writeln('======================================================= Total: ',totaldavenda:2:2);
               writeln;
 	    		writeln('digite nome do produto 2');
 	    		readln(produto2);
 	    		writeln;
 	    		Writeln('digite codigo do produto 2');
 	    		readln(cod2);
 	    		writeln;
 	    		Writeln('digite valor do produto 2');
 	    		readln(valor2);
 	    		writeln;
 	    		writeln('digite quantidade de estoque do produto 2');
 	    		readln(qtde2);
 	    		writeln;
 	    		writeln('================================================================================');
 	    		writeln('Tecle Enter para cadastrar outro produto:');
 	    		readkey;
 	    		clrscr;
 	    		//===========================================================================================================
 	    		//Terceiro Cadastro
 	    		writeln('================================================================================');
               writeln('=============================== MINI MERCADO ===================================');
               writeln('================================================================================');
               writeln('======================================================= Total: ',totaldavenda:2:2);
               writeln;
 	    		writeln('digite nome do produto 3');
 	    		readln(produto3);
 	    		writeln;
 	    		Writeln('digite codigo do produto 3');
 	    		readln(cod3);
 	    		writeln;
 	    		Writeln('digite valor do produto 3');
 	    		readln(valor3);
 	    		writeln;
 	    		writeln('digite quantidade de estoque do produto 3');
 	    		readln(qtde3);
 	    		writeln;
 	    		writeln('================================================================================');
 	    		writeln('Tecle Enter para cadastrar outro produto:');
 	    		readkey;
 	    		clrscr;
 	    		//===========================================================================================================
 	    		//Quarto Cadastro
 	    		writeln('================================================================================');
               writeln('=============================== MINI MERCADO ===================================');
               writeln('================================================================================');
               writeln('======================================================= Total: ',totaldavenda:2:2);
               writeln;
 	    		writeln('digite nome do produto 4');
 	    		readln(produto4);
 	    		writeln;
 	    		Writeln('digite codigo do produto 4');
 	    		readln(cod4);
 	    		writeln;
 	    		Writeln('digite valor do produto 4');
 	    		readln(valor4);
 	    		writeln;
 	    		writeln('digite quantidade de estoque do produto 4');
 	    		readln(qtde4);
 	    		writeln;
 	    		writeln('================================================================================');
 	    		writeln('Tecle Enter para voltar ao menu inicial:');
 	    		readkey;
 	    		clrscr;
 	    		//===========================================================================================================
		 end
 	      else
 	      begin
 	      	//Opção Dois: Iniciar Venda.
 	          if(op=2)then
 	    	     begin
 	    	       writeln('================================================================================');
                 writeln('=============================== MINI MERCADO ===================================');
                 writeln('================================================================================');
                 writeln('======================================================= Total: ',totaldavenda:2:2);
                 writeln;
 	            writeln('Digite código do produto desejado: ');
 	            readln(codf);
 	            writeln;
 	            writeln('Tecle Enter para continuar');
 	            totaldavenda:=v1+v2+v3+v4;
	     	  v1:=qtdv1*valor1;
	     	  v2:=qtdv2*valor2;
	     	  v3:=qtdv3*valor3;
	     	  v4:=qtdv4*valor4;
 	            readkey;
 	            clrscr;
 	            if(codf=cod1)then
 	            begin
				writeln('================================================================================');
                    writeln('=============================== MINI MERCADO ===================================');
                    writeln('================================================================================');
                    writeln('======================================================= Total: ',totaldavenda:2:2);
                    writeln;
 	     		writeln('Venda: ');
 	     		writeln('Produto/Quantidade');
 	     		writeln;
 	     		writeln('Nome do produto: ',produto1);
 	     		writeln;
 	     		writeln('Cód. Produto: ',cod1);
 	     		writeln;
 	     		writeln('Qtd: ');
	     		readln(qtdv1);
	     		totaldavenda:=v1+v2+v3+v4;
	     		v1:=qtdv1*valor1;
	     		v2:=qtdv2*valor2;
	     		v3:=qtdv3*valor3;
	     		v4:=qtdv4*valor4;
	     		writeln;
	     		writeln('Tecle Enter para concluir o pedido.');
	     		
	     	  end
	            else
	            begin
	     	  	if(codf=cod2)then
	     		begin
 	     			writeln('================================================================================');
                    	writeln('=============================== MINI MERCADO ===================================');
                    	writeln('================================================================================');
                    	writeln('======================================================= Total: ',totaldavenda:2:2);
 	     			writeln;
 	     			writeln('Venda: ');
 	     		     writeln('Produto/Quantidade');
 	     		     writeln;
 	     			writeln('Nome do produto: ',produto2);
 	     			writeln;
 	     		     writeln('Cód. Produto: ',cod2);
 	     	  	     writeln;
 	     			writeln('Qtd: ');
 	     			readln(qtdv2);
 	     			totaldavenda:=v1+v2+v3+v4;
 	     			v1:=qtdv1*valor1;
	     		     v2:=qtdv2*valor2;
	     		     v3:=qtdv3*valor3;
	     		     v4:=qtdv4*valor4;
 	     			writeln;
	     		     writeln('Tecle Enter para concluir o pedido.');
 	     	     end
 	               else
 	               begin
 	               	if(codf=cod3)then
 	                	begin
 	     				writeln('================================================================================');
                    		writeln('=============================== MINI MERCADO ===================================');
                    		writeln('================================================================================');
                    		writeln('======================================================= Total: ',totaldavenda:2:2);
 	 	    				writeln;
 	 	    				writeln('Venda: ');
 	     		     	writeln('Produto/Quantidade');
 	     		     	writeln;
 	     				writeln('Nome do produto: ',produto3);
 	     				writeln;
 	     		     	writeln('Cód. Produto: ',cod3);
 	     		     	writeln;
 	     				writeln('Qtd: ');
 	     	 			readln(qtdv3);
 	     	 			totaldavenda:=v1+v2+v3+v4;
 	     	 			v1:=qtdv1*valor1;
	     		     	v2:=qtdv2*valor2;
	     		     	v3:=qtdv3*valor3;
	     		     	v4:=qtdv4*valor4;
 	     	 			writeln;
	     		     	writeln('Tecle Enter para concluir o pedido.');
 	     	 	 	end
 	              		else
 	              		begin
 	                  		if(codf=cod4)then
 	                  		begin
 	     	     			writeln('================================================================================');
                    			writeln('=============================== MINI MERCADO ===================================');
                    			writeln('================================================================================');
                    			writeln('======================================================= Total: ',totaldavenda:2:2);
 	     					writeln;
 	     					writeln('Venda: ');
 	     		          	writeln('Produto/Quantidade');
 	     		          	writeln;
 	     					writeln('Nome do produto: ',produto4);
 	     					writeln;
 	     		          	writeln('Cód. Produto: ',cod4);
 	     		          	writeln;
 	     					writeln('Qtd: ');
 	     					readln(qtdv4);
 	     					totaldavenda:=v1+v2+v3+v4;
 	     					v1:=qtdv1*valor1;
	     		          	v2:=qtdv2*valor2;
	     		          	v3:=qtdv3*valor3;
	     		          	v4:=qtdv4*valor4;
 	     					writeln;
	     		          	writeln('Tecle Enter para concluir o pedido.');
 	     		   		end;	
 	     		     		if(qtdv1>qtde1)then
 	     		     		begin
 	     		     			writeln('================================================================================');
                      				writeln('=============================== MINI MERCADO ===================================');
                      				writeln('================================================================================');
                      				writeln('======================================================= Total: ',totaldavenda:2:2);
                      				writeln;
 	     		  				writeln('quantidade do ',produto1,' requerida não disponivel em estoque!');
 	     		  				totaldavenda:=v1+v2+v3+v4;
 	     		  				v1:=qtdv1*valor1;
	     		          		v2:=qtdv2*valor2;
	     		          		v3:=qtdv3*valor3;
	     		         		 	v4:=qtdv4*valor4;
 	     		     		end;
 	     		     			if(qtdv2>qtde2)then
 	     		       			begin
 	     		       	  			writeln('================================================================================');
                      		  			writeln('=============================== MINI MERCADO ===================================');
                      		  			writeln('================================================================================');
                      		  			writeln('======================================================= Total: ',totaldavenda:2:2);
                      		  			writeln;
 	     		   		  			writeln('quantidade do ',produto2,' requerida não disponivel em estoque!');
 	     		   		  			totaldavenda:=v1+v2+v3+v4;
 	     		   		  			v1:=qtdv1*valor1;
	     		            			v2:=qtdv2*valor2;
	     		            			v3:=qtdv3*valor3;
	     		            			v4:=qtdv4*valor4;
 	     		       			end;
 	     		        				if(qtdv3>qtde3)then
 	     		        				begin
 	     		        	   				writeln('================================================================================');
                      		   				writeln('=============================== MINI MERCADO ===================================');
                      		   				writeln('================================================================================');
                      		   				writeln('======================================================= Total: ',totaldavenda:2:2);
                      		   				writeln;
 	     		   		   				writeln('quantidade do ',produto3,' requerida não disponivel em estoque!');
 	     		   		   				totaldavenda:=v1+v2+v3+v4;
 	     		   		   				v1:=qtdv1*valor1;
	     		             				v2:=qtdv2*valor2;
	     		             				v3:=qtdv3*valor3;
	     		             				v4:=qtdv4*valor4;
 	     		        				end;
 	     		          				if(qtdv4>qtde4)then
 	     		          				begin
 	     		          					writeln('================================================================================');
                      							writeln('=============================== MINI MERCADO ===================================');
                      							writeln('================================================================================');
                      							writeln('======================================================= Total: ',totaldavenda:2:2);
                      							writeln;
 	     		     						writeln('quantidade do ', produto4,' requerida não disponivel em estoque!');
 	     		     						totaldavenda:=v1+v2+v3+v4;
 	     		     						v1:=qtdv1*valor1;
	     		               				v2:=qtdv2*valor2;
	     		               				v3:=qtdv3*valor3;
	     		               				v4:=qtdv4*valor4;
 	     		          				end
 	                       					else
 	                       					begin
 	     		            					if(qtdv1<0)or(qtdv2<0)or(qtdv3<0)or(qtdv4<0)then
 	     		          					begin
 	     		            	  					writeln('================================================================================');
                      			  					writeln('=============================== MINI MERCADO ===================================');
                      			  					writeln('================================================================================');
                      								writeln('======================================================= Total: ',totaldavenda:2:2);
                      			  					writeln;
                      			  					totaldavenda:=v1+v2+v3+v4;
                      			  					v1:=qtdv1*valor1;
	     		                 					v2:=qtdv2*valor2;
	     		                 					v3:=qtdv3*valor3;
	     		                 					v4:=qtdv4*valor4;
 	     		       							writeln('Quantia invalida');
	                           					end;
	                           				end
					end
				end;		
	                           readkey;   
		                      clrscr;
				  
			    
 	        end
 	      else  //O erro refere-se a esse Else.
 	        //===========================================================================================================
 	            //Opção Três: Encerrar Venda.
 	      	  if(op=3)then
 	            begin
 	                 writeln('================================================================================');
                      writeln('=============================== MINI MERCADO ===================================');
                      writeln('================================================================================');
                      writeln('======================================================= Total: ',totaldavenda:2:2);
                      writeln;
                      if(qtdv1>qtde1)then
                      begin
                  		qtdv1:=(0);
                      end
                    else  
                      	if(qtdv1<=qtde1)then
			       	begin
			    	  		v1:=qtdv1*valor1
                      	end;
                  			if(qtdv2>qtde2)then
                  			begin
                  				qtdv2:=(0);
                  			end
                	       else
                    	   		if(qtdv2<=qtde2)then
                    	   		begin
								v2:=qtdv2*valor2
					   		end;
						 		if(qtdv3>qtde3)then
                  			 		begin
                  			 			qtdv3:=(0);
                  			 		end
                  		             else
						    			if(qtdv3<=qtde3)then
				 		    			begin
						    				v3:=qtdv3*valor3;
				 		    			end;
				 			  			if(qtdv4>qtde4)then
                  				  			begin
                  				  				qtdv4:=(0);
                  				  			end
                  			                 else
                  							 if(qtdv4<=qtde4)then
                  					           begin
										 	v4:=qtdv4*valor4;
								           end;
				 writeln;
				 writeln('Produto: ',produto1,' Cod: ',cod1,' Qtd: ',qtdv1,' Valor Un.: ',valor1:2:2,' Un x Qtd: ',v1:2:2);
				 qtde1:=(qtde1-qtdv1);
				 writeln;
				 writeln('Produto: ',produto2,' Cod: ',cod2,' Qtd: ',qtdv2,' Valor Un.: ',valor2:2:2,' Un x Qtd: ',v2:2:2);
				 qtde2:=(qtde2-qtdv2);
				 writeln;
				 writeln('Produto: ',produto3,' Cod: ',cod3,' Qtd: ',qtdv3,' Valor Un.: ',valor3:2:2,' Un x Qtd: ',v3:2:2);
				 qtde3:=(qtde3-qtdv3);
				 writeln;
				 writeln('Produto: ',produto4,' Cod: ',cod4,' Qtd: ',qtdv4,' Valor Un.: ',valor4:2:2,' Un x Qtd: ',v4:2:2);
				 qtde4:=(qtde4-qtdv4);
				 writeln;
				 writeln;
				 totaldavenda:=v1+v2+v3+v4;
				 writeln('================================================================================');
				 writeln('Total R$:______________________________________________________',totaldavenda:2:2);
				 writeln;
				 writeln('Valor Recebido: ');
				 readln(valorrec);
                     troco:=valorrec-totaldavenda;
                        if(valorrec<totaldavenda)then
                        begin
                     		faltadin:=totaldavenda-valorrec;
                     		writeln('Dinheiro insuficiente faltam:  R$',faltadin:2:2);
                        end;
                     writeln('Dinheiro recebido: ',valorrec:2:2,' Troco: ',troco:2:2);
                     writeln;
 	      		 writeln('Agradecemos pela Preferência');
 	      		 writeln('         Volte Sempre!      ');
 	      		 readkey;
 	      		 clrscr;
 	            end
 	          else
 	            //===========================================================================================================
 	              //Opção Quatro: Exibir Cadastros.
 	              if(op=4)then
 	              begin
 	                    writeln('================================================================================');
                         writeln('=============================== MINI MERCADO ===================================');
                         writeln('================================================================================');
                         writeln;
 	           		writeln('Controle de Estoque:');
 	           	     writeln;
 	           		writeln('Produto: ',produto1,' Cód: ',cod1,' Qtd Estoque: ',qtde1,' Valor Un: ',valor1:2:2);
 	           		writeln;
 	           		writeln('Produto: ',produto2,' Cód: ',cod2,' Qtd Estoque: ',qtde2,' Valor Un: ',valor2:2:2);
 	           		writeln;
 	           		writeln('Produto: ',produto3,' Cód: ',cod3,' Qtd Estoque: ',qtde3,' Valor Un: ',valor3:2:2);
 	           		writeln;
 	           		writeln('Produto: ',produto4,' Cód: ',cod4,' Qtd Estoque: ',qtde4,' Valor Un: ',valor4:2:2);
 	           		writeln('Tecle Enter para voltar ao Menu');
 	           		readkey;
 	           		clrscr;
 	              end
 	            else
 	              //===========================================================================================================
 	                //Opção Cinco: Sair do programa.
 	       	      if(op=5)then
 	       	      begin         	
		                  writeln('================================================================================');
                            writeln('=============================== MINI MERCADO ===================================');
                            writeln('================================================================================');
                            writeln;
 	      			   writeln('Até Logo, nos veremos em breve!');
 	      			   readkey;
 	      			   clrscr;
 	       	      end
 	             else
 	               //===========================================================================================================
 	                 //Caso usuario introduza um comando invalido no menu.
 	     	       if(op>=0)or(op<=6)then
 	                 begin
 	          			writeln('================================================================================');
                    		writeln('=============================== MINI MERCADO ===================================');
                    		writeln('================================================================================');
                    		writeln('======================================================= Total: ',totaldavenda:2:2);
                    		v1:=qtdv1*valor1;
	     		          v2:=qtdv2*valor2;
	     		          v3:=qtdv3*valor3;
	     		          v4:=qtdv4*valor4;
               			writeln;
 	  					writeln('Opção Invalida! Escolha uma das opções citadas.');
 	  					readkey;
 	  					clrscr;
 	                 end;
 	                 //===========================================================================================================
 	           
     Until(op=5);
End.
 

Esse código refere-se ao meu projeto do primeiro modulo da faculdade. O erro apresentado é: Erro de sintático na linha 351, Else não esperado...

Estou com dificuldades para identificar onde está meu erro, alguém pode me ajudar? (devido a ausência de numeração nas linhas, sinalizei o referido else cujo programa apresenta falhas.) Desde já, grato pelo auxilio.  

 

  • Amei 1
  • Solução
Postado

Há um "begin" desnecessário antes de "if(op=2)then" e antes do "else" do "if(op=3)" falta um "end".

Nos casos onde há apenas um comando após o else, este não precisa ficar entre "begin/end".Por exemplo:

else

begin

   if(codf=cod2)then

   begin

      codigo...

   end

end



Pode ser escrito como:

else

if(codf=cod2)then

begin

   codigo...

end

 

Usar uma IDE pode ajudar nestes casos, inclusive com a identação.

Outra opção é usar o comando switch.

  • Curtir 1
  • Obrigado 1
  • Amei 1
Postado

Muito obrigado, irei seguir suas instruções. Grato pelo auxílio no meu processo de aprendizado. Retornarei com o feedback sobre a correção.

  • Curtir 1
  • Obrigado 1
Postado

@Simon Viegas Na verdade eu gostava do "Gedit" 😁. Depois quando fui criar formulários, passei pro Delphi (Lazarus é uma alternativa gratuita). Mas acho que existem outras opções ...

  • Curtir 3
  • Membro VIP
Postado

@Jão386, massa!

 

Eu gostava muito do Turbo Pascal, mas é 16bits... 😄

 

 

@DanielFRD, nessa fase de implementação, é possível evitar essa parte do cadastro de dados já deixando os dados cadastrados no próprio código. Pois imagine: cada vez que você for testar, terá que cadastrar tudo novamente... Não é nada produtivo e também chato pra daná.

 

Exemplo:

    produto1 := 'Ovo';    cod1 := 1427; valor1 := 24.00; qtde1 := 3;
    produto2 := 'Água';   cod2 := 6295; valor2 := 0.75;  qtde2 := 2;    
    produto3 := 'Arroz';  cod3 := 3790; valor3 := 9.00;  qtde3 := 1; 
    produto4 := 'Feijão'; cod4 := 1427; valor4 := 24.00; qtde4 := 5;
    
    writeln(' *** MODO DESENVOLVEDOR ATIVADO ***');
    writeln('Produtos cadastrados automaticamente com sucesso');
    writeln('Para a versão de PRODUÇÃO será disponibilizado o cadastro manual');
    ReadKey();
    
    {
    //Primeiro Cadastro
    writeln('================================================================================');
    writeln('=============================== MINI MERCADO ===================================');
    writeln('================================================================================');
    writeln('======================================================= Total: ',totaldavenda:2:2);
    writeln;
    writeln('cadastre seus produtos:');
    writeln;
    .
    .
    .
    }

 

Lá mais para frente, volta para implementar esse cadastro manual.

 

Obs.: as "{ }" funcionam como um "bloco comentário", ou seja, nessa fase de implementação, deixa o código do cadastro desabilitado. Se preferir remove tudo para deixar o código mais limpo. É possível também utilizar "(**)" para comentários.

 

  • Curtir 3
Postado

@Simon Viegas isso, o pascalzim, consegui fazer o programa funcionar, agora irei começar as melhorias, as implementações.

@Simon Viegas excelente sugestão, farei isso, muito obrigado.

eu não estava utilizando nenhuma IDE, porém começarei a usar. vou seguir a sugestão de vocês.

@Jão386 Meu programa voltou a funcionar, fiz essa correção adicional do begin extra, que já é um dado obsoleto de uma tentativa falha de correção da minha parte. Muito grato mesmo pelo suporte. Continuarei na jornada de aprimoramento.

  • Curtir 1
  • Obrigado 1
  • Membro VIP
Postado

Dicas:

  • Nomei alguns end; para deixar o código mais organizado. Facilita muito, sobretudo o código começa a ficar muito grande;
  • SEMPRE DEIXE SEU CÓDIGO COMPILÁVEL, ou seja, vá fazendo o código por etapas e não acumule erros. 

 

Segue um exemplo de fluxo...

 

program MiniMercado;
var
  // Dados do produto
  produto1, produto2, produto3, produto4 : string;


BEGIN
writeln('Teste maroto');

END.

 

Sempre que pressionar Ctrl+F9, o código deve compilar sem erros. Lembre-se sempre ir salvando também. A depender, crie cópias de arquivos separados quando fizer mudanças muitos grandes...

 

"Vou iniciar a implementação do menu"...

 

program MiniMercado;
var
  // Dados do produto
  produto1, produto2, produto3, produto4 : string;
  cod1, cod2, cod3, cod4 : integer;
  valor1, valor2, valor3, valor4 : real; 
  qtdEstoque1, qtdEstoque2, qtdEstoque3, qtdEstoque4 : integer;
   
  op : integer;
BEGIN
repeat
  ClrScr;
  TextColor(White);
  writeln('================================================================================');
  writeln('=============================== MINI MERCADO ===================================');
  writeln('================================================================================');
  writeln('================================================================================');
  writeln();
  TextColor(LightGreen);
  writeln('Menu:');
  writeln('1-Cadastrar Produto  ');
  writeln('2-Iniciar Venda      ');
  writeln('3-Encerrar Compra    ');
  writeln('4-Controle de Estoque'); // Adicionada uma opção a mais para controle dos cadastros feitos.
  writeln('5-Sair               ');
  writeln;
  writeln('Escolha uma das opções acima: ');
  readln(op);
  writeln();
  ClrScr();
  
until (op = 5);
END.

 

O código continua compilável/executável.

 

"Em vez de if/else, vou implementar com case ("switch")... 

 

program MiniMercado;
var
  // Dados do produto
  produto1, produto2, produto3, produto4 : string;
  cod1, cod2, cod3, cod4 : integer;
  valor1, valor2, valor3, valor4 : real; 
  qtdEstoque1, qtdEstoque2, qtdEstoque3, qtdEstoque4 : integer;
   
  op : integer;
BEGIN
repeat
  ClrScr;
  TextColor(White);
  writeln('================================================================================');
  writeln('=============================== MINI MERCADO ===================================');
  writeln('================================================================================');
  writeln('================================================================================');
  writeln();
  TextColor(LightGreen);
  writeln('Menu:');
  writeln('1-Cadastrar Produto  ');
  writeln('2-Iniciar Venda      ');
  writeln('3-Encerrar Compra    ');
  writeln('4-Controle de Estoque'); // Adicionada uma opção a mais para controle dos cadastros feitos.
  writeln('5-Sair               ');
  writeln;
  writeln('Escolha uma das opções acima: ');
  readln(op);
  writeln();
  ClrScr();
  
  case op of
    1 :begin
  
       end; //op 1
       
    2 :begin
    
       end; //op 2
     
    3 :begin
   
       end; //op 3 
    else
       begin
      
       end; //else op  
  end; //case op
until (op = 5);
END.

 

Vai implementando e testando... A medida que os erros vão aparecendo, já vai corrigindo/melhorando.. Mas sempre deixe "executável".

 

Por aí vai...

 

program MiniMercado;
var
  // Dados do produto
  produto1, produto2, produto3, produto4 : string;
  cod1, cod2, cod3, cod4 : integer;
  valor1, valor2, valor3, valor4 : real; 
  qtdEstoque1, qtdEstoque2, qtdEstoque3, qtdEstoque4 : integer;
  
  totalVenda : real;
            
  op : integer;
BEGIN

totalVenda := 1234.56; //REMOVER - Apenas para testes

repeat
  ClrScr;
  TextColor(White);
  writeln('================================================================================');
  writeln('=============================== MINI MERCADO ===================================');
  writeln('================================================================================');
  write  ('=============================================================='); TextColor(Yellow); writeln(' Total: R$ ', totalVenda:7:2);
  TextColor(White); {Sempre lembrar de voltar para a cor padrão da tela quando o trecho mudou a cor}
  writeln();
  TextColor(LightGreen);
  writeln('Menu:');
  writeln('1-Cadastrar Produto  ');
  writeln('2-Iniciar Venda      ');
  writeln('3-Encerrar Compra    ');
  writeln('4-Controle de Estoque'); // Adicionada uma opção a mais para controle dos cadastros feitos.
  writeln('5-Sair               ');
  writeln();
  writeln('Escolha uma das opções acima: ');
  write  ('=> '); TextColor(Yellow); readln(op);
  TextColor(White);
  writeln();
  ClrScr();
  
  writeln('================================================================================');
  writeln('=============================== MINI MERCADO ===================================');
  writeln('================================================================================');
  write  ('=============================================================='); TextColor(Yellow); writeln(' Total: R$ ', totalVenda:7:2);
  TextColor(White);
  writeln();
  
  case op of
    1 :begin
       produto1 := 'Ovo';    cod1 := 1427; valor1 := 24.00; qtdEstoque1 := 3;
       produto2 := 'Água';   cod2 := 6295; valor2 := 0.75;  qtdEstoque2 := 2;    
       produto3 := 'Arroz';  cod3 := 3790; valor3 := 9.00;  qtdEstoque3 := 1; 
       produto4 := 'Feijão'; cod4 := 1427; valor4 := 24.00; qtdEstoque4 := 5;
       writeln(' *** MODO DESENVOLVEDOR ATIVADO *** ');
       writeln('Produtos cadastrados automaticamente com sucesso');
       writeln('Para a versão de PRODUÇÃO será disponibilizado o cadastro manual');
       ReadKey();
       end; //op 1
                                                                                              
    2 :begin
       writeln(' EM CONSTRUÇÃO ');
       ReadKey();
       end; //op 2
     
    5 :begin
       writeln();
       writeln('Até Logo! Nos veremos em breve!');
       ReadKey(); 
       end; //op 5
    else
       begin;
       writeln();
       writeln('Opção Inválida! Escolha uma das opções citadas');
       ReadKey();  
       end; //else op  
  end; //case op
  
until (op = 5);
END.

 

  • Curtir 1
  • Obrigado 1
  • DiF alterou o título para Como depurar um código feito em Pascal?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: Aprenda a Ler Resistores e Capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!