Ir ao conteúdo
  • Cadastre-se

Meu programa VisualG dando erro? (Portugol)


Posts recomendados

Meu pequeno programa está dando erro, ele pede nome, idade, salario, quantidade de filhos da pessoas, depois te tudo informado, ela dá opções do que o usario que fazer no Menu, porém, quando eu quero procurar o nome da pessoa digita , ele diz que nao a encontrou. 
 
Na opção do Menu (2), eu não consigo somar os valores do  vetor para poder dividir por 3
 
Na (3), eu nao consigo dizer a maior e menor idade e dizer o nome da pessoa com maior e menor idade.

algoritmo "semnome"// Função :// Autor :// Data : 27/11/2015// Seção de Declarações varnome: vetor [1..3] de caractereidade, Qfilhos: vetor [1..5] de inteirosalario: vetor [1..3] de reali, numero: inteiroMI,MS,MF, menor, maior, somai: realnomep: caractereinicio// Seção de Comandos Para i de 1 ate 3 facaescreva ("Seu nome: ")  Leia(nome[i])escreva ("Sua idade: ")  Leia (idade[i])escreva ("Seu salario: ")  Leia (salario[i])escreva ("Quantos filhos você tem?: ")  Leia (Qfilhos[i])fimparaLimpatelaescreval("Menu")escreval ()escreval ("(1) Procurar se existe um determinado NOME cadastrado")escreval ("(2) Media de idade")escreval ("(3) Maior idade e menor idade")escreval ("(4) Media de Salario")escreval ("(5) Quantidade de pessoas acima da Media de salario")escreval ("(6) Total de Filhos e Media de filhos por pessoa")escreval ()escreva ("Escolha um numero do Menu: ")    Leia(numero)    escreval ()Se (numero) = 1 então  escreva ("Digite um nome para procura: ")      Leia (nomep)   se nomep = nome[i] então     escreval ("Sim, essa pessoa está cadastrada")fimsefimseSe  (numero) = 2 então  somai <- (salario[i])+(soma)    MI <- (somai)/3escreva ("Media idade é de",Mi)fimsese (numero) = 3 então  se (idade[i]) > maior) então    maior <- notas[i]  se (idade[i] > menor) então    menor <- (idade[i])escreval ("Maior idade",maior,nome[i])escreval ("menor idade",menor, nome[i])fimsefimsefimseSe (numero) = 4 então  MS <- (salario[i]/3escreval ("a media de salario é de",MS)fimsese (numero) = 5 então    (salario[i])/3Para i de 1 ate 3 faca se (salario[i]) > AM) então     AM <- salario[i]escreval ("Pessoas acima da media",AM)fimsefimparafimseSe (numero) = 6 entãoMF <-  salario[i]+somaMS <- (salario[i]/3escreval ("Total de filhos é de",MF)escreval ("A media de filhos por pessoa é de",MS)fimsefimalgoritmo
Link para o comentário
Compartilhar em outros sites

amigo o visualg tem um identificador de erro vá ate alinha que o erro esta causando e veja se algum código está escrito errado estudei muito no visualg mais comecei a estudar algoritmo e programação em C fica muito melhor.

Estava aqui no Visualg dando uma olha e sim tem algumas palavras reservadas faltando ^_^ comecei com Visualg tambem, As palavras reservadas não utilizam acentos peleza "O erro ta nas palavras reservadas por exemplo a você escreveu então correto é sem acento

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

Só um comentário inicial:
 

Para poder pesquisar a pessoa que você tem que fazer um algoritmo que envie os dados para a db do programa assim os valores não serão apagados

Então, não necessariamente precisa de um db (database) para efetuar as pesquisas. Os bancos de dados podem servir basicamente para criar uma "persistência de dados", ou seja, "salvar os registros" e possibilitar ser carregados posteriormente.
 
Na, suposta, fase atual de programação, podem-se utilizar a variáveis comuns mesmo (uso da memória ram)... O uso de db seria algo mais avançado, começar a pensar mais pra frente.


***
 
 
 

Meu pequeno programa está dando erro, ele pede nome, idade, salario, quantidade de filhos da pessoas, depois te tudo informado, ela dá opções do que o usario que fazer no Menu, porém, quando eu quero procurar o nome da pessoa digita , ele diz que nao a encontrou.

 
Para pesquisar, a primeira coisa que precisa é ter os dados, correto?... no caso, você armazenou em vetores. Logo, já fica implícito que você precisa fazer as pesquisa no vetor... :)

Trecho do código:

se (numero) = 1 entao  escreva ("Digite um nome para procura: ")  Leia (nomep)  se nomep = nome[i] entao    escreval ("Sim, essa pessoa está cadastrada")  fimsefimse

Veja que você está somente comparando com nome, ou seja, uma única posição... e "pior": qual o valor de i nesse momento?
RESUMINDO
Você precisa fazer uma comparação para cada posição dos armazenados... (usar um for)
 

 

***
 

 

Na opção do Menu (2), eu não consigo somar os valores do  vetor para poder dividir por 3

Aqui mesma coisa... você precisa acessar cada posição do vetor...

 

Trecho do código:

se (numero) = 2 então  somai <- (salario[i])+(soma)    MI <- (somai)/3escreva ("Media idade é de",Mi)fimse

Você está acessando a posição i, e por sinal, qual o valor de i nesse momento? ou seja, é preciso controlar antes o valor da variável que vai acessar o vetor...
RESUMINDO
Você precisa somar cada posição dos armazenados... (dá para usar um for também).

 

***
 

Na (3), eu nao consigo dizer a maior e menor idade e dizer o nome da pessoa com maior e menor idade.

 

Essa estrutura de "maior" e "menor" idade é bem comum... por favor, dê uma pesquisada no Fórum ou no "Google"... se ainda precisar de ajuda, é só perguntar...


***

No aguardo

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...