Modúlo 004 exercício 062 não sei oque fiz de errado

Home Fóruns Programação Básica Modúlo 004 exercício 062 não sei oque fiz de errado

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #70400
      programa
      {
      /*	.Estudonauta Programação Básica
      	
      	.Modúlo		-	004
      
      	.Exercicío	-	062	.Listagem de dados
      
      	.Objetivo:Ler Nome,	sexo	e	salário de 6 pessoas para apresentar esses dados de forma tabular
       
       	.Autor da resolução: Antonio Cesar
       */	
      	
      	//Biblíotecas
      	inclua biblioteca Util
      	inclua biblioteca Texto	-->	t
      	inclua biblioteca Tipos	
      			
      	funcao inicio()
      	{
      		//Declaração de variaveis
      		cadeia	nome[6],	validador	
      		
      		caracter	sexo[6]
      		
      		real		salario
      [6]
      	
      		//Cabeçalho do Exercicío
      		escreva("\n-------------------------------------------------\n\tEXERCICÍO 062 - Listagem de dados")
      		escreva("\n-------------------------------------------------\n")
      		
      		para(inteiro	indice	=	0;	indice	<	Util.numero_elementos(salario);	indice	++)
      		{
      			//Quebra de linha
      			escreva("\n====== ",	indice	+	1,	"° Cadastro ======\n")
      			
      			enquanto(verdadeiro)
      			{	
      				//Entrada de dados
      				escreva("Nome: ")
      				leia(validador)
      				
      				se(	Tipos.cadeia_e_inteiro	(validador)	ou	Tipos.cadeia_e_real	(validador)	ou
      				   	Tipos.cadeia_e_caracter	(validador)	ou	Texto.caixa_alta(validador)	==	"MASCULINO"
      				   									ou	Texto.caixa_alta(validador)	==	"FEMININO")
      			 	
      			 }	   									
      			
      			enquanto(verdadeiro)
      			{	//lendo sexo
      				escreva("Sexo [M/F]: ")
      				leia(validador)
      				
      				//VERIFICANDO SE É MASCULINO
      				se(t.caixa_alta(validador)	==	"M"	ou
      				   t.caixa_alta(validador)	==	"MASCULINO" )
      				{	
      						sexo[indice]	=	'M'
      						pare
      				}
      								
      				senao 
      				{	//VERIFICANDO SE É FEMININO	
      					se(t.caixa_alta(validador)	==	"F"	ou	
      			         	   t.caixa_alta(validador)	==	"FEMININO")
      					{
      						sexo[indice]	=	'F'	
      						pare
      					}
      
      					//Instruindo
      					senao	escreva("\n***ERRO*** dados ínvalidos digite f para feminino ou m para masculino")
      				}
      			 }
      
      			enquanto(verdadeiro)
      			{	//lendo salário		
      				escreva("Salário: R$")
      				leia(validador)
      				
      				//verificando se o dado foi digitado adequadamente 
      				se(Tipos.cadeia_e_inteiro(validador,10)	ou	Tipos.cadeia_e_real(validador)	) 
      				{
      					salario[indice]	=	Tipos.cadeia_para_real(validador)
      					pare	
      				}
      
      				//INSTRUINDO
      				senao escreva("\n***ERRO*** O salário foi digitado incorretamente") 
      			}
      		
      		}//Fim_Para	
      
      		//Limpa Tela
      		limpa()
      		
      		//Criação da Tabela
      		escreva("\tListagem Completa\n--------------------------------------------------\n"
      				   +	"NOME\t\t\tSEXO\t\tSALÁRIO\n--------------------------------------------------\n") 
      		
      		//Saída de Dados
      		para(inteiro	indice	=	0;	indice	<	Util.numero_elementos(salario);	indice	++)		
      		{
      			escreva(nome[indice])
      			Util.aguarde(300)
      			
      			escreva("\t\t\t",	sexo[indice])
      			Util.aguarde(300)
      			
      			escreva("\t\t",	salario[indice],	"\n")
      			Util.aguarde(300)
      		}
      		
      		escreva("\n--------------------------------------------------\n")
      	}
      }

      O problema está aqui`/*enquanto(verdadeiro)
      {
      //Entrada de dados
      escreva(“Nome: “)
      leia(validador)

      se( Tipos.cadeia_e_inteiro (validador) ou Tipos.cadeia_e_real (validador) ou
      Tipos.cadeia_e_caracter (validador) ou Texto.caixa_alta(validador) == “MASCULINO”
      ou Texto.caixa_alta(validador) == “FEMININO”)

      }*/`

    • #70401

      vou substituir depois esse tanto de enquanto(verdadeiro) por um escolha caso. e na linha 27 devo ter dado tab na hora de copiar o código sem querer mas tirando a parte comentada da linha 36 a 46 o programa está funcionando

      • #70518
        Tutora Mayla
        Mestre

        Antonio, pelo que pude ver no seu código os principais problemas são:

        • O bloco `se( Tipos.cadeia_e_inteiro (validador) ou Tipos.cadeia_e_real (validador) ou
          Tipos.cadeia_e_caracter (validador) ou Texto.caixa_alta(validador) == “MASCULINO”
          ou Texto.caixa_alta(validador) == “FEMININO”)não tem nada dentro, nem mesmo {} logo acontece o erro dizendo que as chaves}que vem logo a seguir estão no lugar errado. Coloque as chaves{}neste blocose` que este erro irá parar de acontecer
        • A função cadeia_e_inteiro necessita de 2 parâmetros, sendo o segundo a base numérica, o correto então seria Tipos.cadeia_e_inteiro(validador,10)
        • O primeiro enquanto(verdadeiro) não tem nada que pare o laço, ou seja fica lendo nomes para sempre. Crie a condição para que o laço pare em algum momento.

        Preste bastante atenção em como seu código está estruturado e se o máximo de leituras possíveis está realmente sendo o número desejado (6).
        Tente corrigir esses erros, que atualmente impedem seu código de rodar, e se ainda houver dúvidas mande-nos para que continuemos te ajudando.

      • #70520

        Muito obrigado !!!

Visualizando 1 resposta da discussão
  • Você deve fazer login para responder a este tópico.