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

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.