SlideShare una empresa de Scribd logo
1 de 5
EXEMPLO ESTRUTURA 
1.º PASSO: definir a estrutura 
Estrutura Simples 
Número da conta 
Nome do cliente 
Saldo 
TYPE REGISTRO = RECORD 
num : INTEGER; 
nome : STRING[35]; 
saldo : REAL; 
END; 
2.º PASSO: Construir o Conjunto da Estrutura 
Um vetor de 15 posições. Cada posição tem uma estrutura dentro . 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 
Membro1 
Membro2 
Membro3 
Membro1 
Membro2 
Membro3 
conta: ARRAY[1..15] OF REGISTRO; 
3.º PASSO: Definir as Variáveis 
i, op, posi, achou, num_conta : INTEGER; 
saldo_cliente, menor_saldo : REAL; 
nome_cliente :STRING[35]; 
4.º PASSO: Inicializar as variáveis e estruturas 
FOR i := 1 TO 15 DO 
BEGIN 
conta[i].num := 0; 
conta[i].nome:=''; 
conta[i].saldo := 0; 
END; 
5.º PASSO: Fazer um repeat para trabalhar com as opções do menu 
Quando OP for igual a 5, o programa é encerrado! Enquanto for diferente de 5, o usuário deve 
escolher alguma opção do menu! 
Repeat 
//comandos; 
Until(op!=5) 
6.º PASSO: Comandos que vão dentro do repeat
O valor digitado para OP deve estar dentro da faixa de valores entre 1 e 4. Se estiver fora, uma 
mensagem deve ser mostrada ao usuário, pedindo para que ele digite o valor de opção correto; 
IF((op < 1) OR (op > 5)) THEN 
WRITELN(' Opcao Invalida '); 
Criar o IF ou então um Switch/Case para trabalhar as opções de cadastro, visualização e exclusão. 
if ( op = 1 ) then 
begin 
//comandos – cadastro; 
End; 
if ( op = 2 ) then 
begin 
//comandos – visualização; 
End; 
if ( op = 3 ) then 
begin 
//comandos – exclusão; 
End; 
if ( op = 4 ) then 
begin 
//comandos – visualização; 
End; 
Implementar os códigos que vão em cada IF. 
OPÇÃO1: 
a) Solicitar que o usuário digite o número da conta a ser cadastrada 
WRITELN(' Digite o n£mero da conta a ser incluida '); 
READLN(num_conta); 
b) Verificar se a conta digitada pelo usuário já existe no vetor. O vetor pode incialmente, estar vazio 
e não ter registro algum, mas o contrário também é verdadeiro. O FOR percorre o vetor de estrutura 
comparando o número digitado pela pessoa com os números de contas cadastradas no vetor de 
estrutura. Se achar algum registro com o mesmo número digitado pelo usuário, seta o valor da 
variável ACHOU com 1. 
FOR i := 1 TO 15 DO 
BEGIN 
IF(num_conta = conta[i].num) THEN 
achou := 1; 
END;
c) Em seguida, um IF é implementado de forma a avaliar o valor armazenado em ACHOU, que é a 
nossa variável auxiliar. Se ACHOU for igual a um, então, um registro foi encontrado, portanto, este 
número de conta não pode ser cadastrado. O usuário terá que digitar outro número. 
IF achou = 1 THEN 
WRITELN(' Ja existe conta cadastrada com esse numero '); 
d) Se o ACHOU for diferente de um, então, o número da conta digitada pelo usuário pode ser usado 
para cadastrar uma nova conta. Nesse ponto temos que verificar se ainda há posições disponíveis no 
vetor para realizar o armazenamento de mais uma conta. Para isso, inicializamos o valor de POSI 
com zero (indica que não há mais posições disponíveis) e i com um. O While vai percorrer o vetor 
de estrutura, todas as quinze posições e dentro dele, uma verificação é feita usando IF. Se o número 
da conta da posição i for igual a zero, então, POSI receberá o valor de i e i receberá o valor 16. 
posi := 0; 
i := 1; 
WHILE(i <= 15) DO 
BEGIN 
IF(conta[i].num = 0) THEN 
BEGIN 
posi := i; 
i := 16; 
END; 
i := i + 1; 
END; 
Teste de Mesa (usando como base quatro posições no vetor!) 
posi i i < 4 conta[i].num = 0 posi := i i = 16 i++ 
0 1 
1 < 4 
V 
conta[1].num = 0 
10 = 0 
F 
pula pula 1+1=1 
0 2 
2 < 4 
V 
conta[2].num = 0 
5 ==0 
F 
pula pula 2+1=3 
0 3 
3 < 4 
V 
conta[3].num = 0 
0 = 0 
V 
posi = 3 i = 16 3+1 =4 
3 4 
4 < 4 
F 
pula pula pula pula 
De acordo com o teste de mesa, a posição 3 está livre, pois contém o valor zero. Lembre-se, 
o vetor de estrutura foi inicializado com zero em todas as posições. Portanto, ainda há uma posição 
livre no vetor que pode ser usada para inserir uma nova conta. 
e) Agora, podemos verificar se há ou não posições disponíveis no vetor. Se o valor da variável 
auxiliar POSI for igual a 0, isso significa que não há posições disponíveis. Uma mensagem deve ser 
emitida ao usuário. 
IF(posi = 0) THEN 
WRITELN(' Impossivel cadastrar novas contas ')
f) Caso contrário, isto é, se o valor armazenado em POSI for diferente de zero, isso significa que 
ainda temos posições disponíveis para usar no vetor. Então, os valores serão solicitados ao usuário e 
a conta será cadastrada. Devemos usar POSI como índice neste momento, para que os dados sejam 
inseridos na posição do vetor que está vazia! 
ELSE //else2 
BEGIN 
WRITE(' Digite o nome do cliente '); 
READLN(nome_cliente); 
WRITE(' Digite o saldo do cliente '); 
READLN(saldo_cliente); 
conta[posi].num := num_conta; 
conta[posi].nome := nome_cliente; 
conta[posi].saldo := saldo_cliente; 
WRITELN(' Conta cadastrada com sucesso '); 
END; //fim do else 1 
END; //fim do else 2 
OPÇÃO 2: 
a) A opção 2 deve permitir visualizar todas as contas de um determinado cliente. Primeiro, o 
usuário deve digitar o nome do cliente que ele quer visualizar. 
WRITE('Digite o nome do cliente a ser consultado '); 
READLN(nome_cliente); 
achou := 0; 
b) O For abaixo percorre o vetor de estrutura verificando se o nome digitado pelo usuário é igual a 
algum nome registrado no vetor. 
FOR i := 1 TO 15 DO 
BEGIN 
IF(conta[i].nome = nome_cliente) THEN 
BEGIN 
WRITELN(' || CONTA || SALDO ||'); 
WRITELN(' || ', conta[i].num, ' || ', conta[i].saldo:5:2, ' || '); 
achou := 1; 
END; 
END; 
Teste de Mesa para quatro posições 
achou = 0 i=1 i<4 i++ conta[i].nome = nome_cliente conta[i].num conta[i].saldo 
achou = 
1 
achou = 0 i= 1 
1<4 
V 
1+1=2 
conta[1].nome = “Elaine” 
“Edson” = “Elaine” 
F 
pula pula pula 
achou = 0 i=2 
2<4 
V 
2+1=3 
conta[2].nome = “Elaine” 
“Franciele” = “Elaine” 
F 
pula pula Pula 
achou = 0 i=3 
3<4 
V 
3+1=4 
conta[3].nome = “Elaine” 
“Elaine” = “Elaine” 
V 
conta[3].num 
20 
conta[3].saldo 
200 
achou=1 
achou = 1 i=4 
4<4 
F 
4+1=5 pula pula pula pula
c) Se a variável auxiliar ACHOU for igual a zero, então o cliente não está cadastrado. 
IF(achou = 0) THEN 
WRITELN(' Nao existe conta cadastrada para este cliente '); 
OPÇÃO 3: 
a) 
b) Agora que já temos o valor da variável ACHOU, podemos fazer as verificações. Primeiro, 
verificamos se ACHOU é igual a zero. Se sim, então nenhuma conta não foi cadastrada. 
IF achou = 0 
THEN WRITELN('Nenhuma conta foi cadastrada') 
c) 
d) Não esqueça do getchar(); 
Você pode ainda incluir uma opção para imprimir o vetor inteiro: 
if(op==4){ 
for(i=0;i<15;i++){ 
printf(" -------------------------------------------- 
------- "); 
printf(" n Numero da Conta: %d", conta[i].num); 
printf(" n Nome do Cliente: %s", conta[i].nome); 
printf(" n Saldo da Conta do Cliente: R$ %5.3f", 
conta[i].saldo); 
printf(" n n "); 
} 
printf(" ---------------------------------------------- 
----- "); 
}

Más contenido relacionado

Más de Elaine Cecília Gatto

Más de Elaine Cecília Gatto (20)

entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...
 
Número de Bell
Número de BellNúmero de Bell
Número de Bell
 
Coeficiente da Silhueta
Coeficiente da SilhuetaCoeficiente da Silhueta
Coeficiente da Silhueta
 
Exercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS EmbarcadosExercicios Resolvidos Série MIPS Embarcados
Exercicios Resolvidos Série MIPS Embarcados
 

Último

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 

Último (20)

INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 

Exemplo Registro

  • 1. EXEMPLO ESTRUTURA 1.º PASSO: definir a estrutura Estrutura Simples Número da conta Nome do cliente Saldo TYPE REGISTRO = RECORD num : INTEGER; nome : STRING[35]; saldo : REAL; END; 2.º PASSO: Construir o Conjunto da Estrutura Um vetor de 15 posições. Cada posição tem uma estrutura dentro . 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Membro1 Membro2 Membro3 Membro1 Membro2 Membro3 conta: ARRAY[1..15] OF REGISTRO; 3.º PASSO: Definir as Variáveis i, op, posi, achou, num_conta : INTEGER; saldo_cliente, menor_saldo : REAL; nome_cliente :STRING[35]; 4.º PASSO: Inicializar as variáveis e estruturas FOR i := 1 TO 15 DO BEGIN conta[i].num := 0; conta[i].nome:=''; conta[i].saldo := 0; END; 5.º PASSO: Fazer um repeat para trabalhar com as opções do menu Quando OP for igual a 5, o programa é encerrado! Enquanto for diferente de 5, o usuário deve escolher alguma opção do menu! Repeat //comandos; Until(op!=5) 6.º PASSO: Comandos que vão dentro do repeat
  • 2. O valor digitado para OP deve estar dentro da faixa de valores entre 1 e 4. Se estiver fora, uma mensagem deve ser mostrada ao usuário, pedindo para que ele digite o valor de opção correto; IF((op < 1) OR (op > 5)) THEN WRITELN(' Opcao Invalida '); Criar o IF ou então um Switch/Case para trabalhar as opções de cadastro, visualização e exclusão. if ( op = 1 ) then begin //comandos – cadastro; End; if ( op = 2 ) then begin //comandos – visualização; End; if ( op = 3 ) then begin //comandos – exclusão; End; if ( op = 4 ) then begin //comandos – visualização; End; Implementar os códigos que vão em cada IF. OPÇÃO1: a) Solicitar que o usuário digite o número da conta a ser cadastrada WRITELN(' Digite o n£mero da conta a ser incluida '); READLN(num_conta); b) Verificar se a conta digitada pelo usuário já existe no vetor. O vetor pode incialmente, estar vazio e não ter registro algum, mas o contrário também é verdadeiro. O FOR percorre o vetor de estrutura comparando o número digitado pela pessoa com os números de contas cadastradas no vetor de estrutura. Se achar algum registro com o mesmo número digitado pelo usuário, seta o valor da variável ACHOU com 1. FOR i := 1 TO 15 DO BEGIN IF(num_conta = conta[i].num) THEN achou := 1; END;
  • 3. c) Em seguida, um IF é implementado de forma a avaliar o valor armazenado em ACHOU, que é a nossa variável auxiliar. Se ACHOU for igual a um, então, um registro foi encontrado, portanto, este número de conta não pode ser cadastrado. O usuário terá que digitar outro número. IF achou = 1 THEN WRITELN(' Ja existe conta cadastrada com esse numero '); d) Se o ACHOU for diferente de um, então, o número da conta digitada pelo usuário pode ser usado para cadastrar uma nova conta. Nesse ponto temos que verificar se ainda há posições disponíveis no vetor para realizar o armazenamento de mais uma conta. Para isso, inicializamos o valor de POSI com zero (indica que não há mais posições disponíveis) e i com um. O While vai percorrer o vetor de estrutura, todas as quinze posições e dentro dele, uma verificação é feita usando IF. Se o número da conta da posição i for igual a zero, então, POSI receberá o valor de i e i receberá o valor 16. posi := 0; i := 1; WHILE(i <= 15) DO BEGIN IF(conta[i].num = 0) THEN BEGIN posi := i; i := 16; END; i := i + 1; END; Teste de Mesa (usando como base quatro posições no vetor!) posi i i < 4 conta[i].num = 0 posi := i i = 16 i++ 0 1 1 < 4 V conta[1].num = 0 10 = 0 F pula pula 1+1=1 0 2 2 < 4 V conta[2].num = 0 5 ==0 F pula pula 2+1=3 0 3 3 < 4 V conta[3].num = 0 0 = 0 V posi = 3 i = 16 3+1 =4 3 4 4 < 4 F pula pula pula pula De acordo com o teste de mesa, a posição 3 está livre, pois contém o valor zero. Lembre-se, o vetor de estrutura foi inicializado com zero em todas as posições. Portanto, ainda há uma posição livre no vetor que pode ser usada para inserir uma nova conta. e) Agora, podemos verificar se há ou não posições disponíveis no vetor. Se o valor da variável auxiliar POSI for igual a 0, isso significa que não há posições disponíveis. Uma mensagem deve ser emitida ao usuário. IF(posi = 0) THEN WRITELN(' Impossivel cadastrar novas contas ')
  • 4. f) Caso contrário, isto é, se o valor armazenado em POSI for diferente de zero, isso significa que ainda temos posições disponíveis para usar no vetor. Então, os valores serão solicitados ao usuário e a conta será cadastrada. Devemos usar POSI como índice neste momento, para que os dados sejam inseridos na posição do vetor que está vazia! ELSE //else2 BEGIN WRITE(' Digite o nome do cliente '); READLN(nome_cliente); WRITE(' Digite o saldo do cliente '); READLN(saldo_cliente); conta[posi].num := num_conta; conta[posi].nome := nome_cliente; conta[posi].saldo := saldo_cliente; WRITELN(' Conta cadastrada com sucesso '); END; //fim do else 1 END; //fim do else 2 OPÇÃO 2: a) A opção 2 deve permitir visualizar todas as contas de um determinado cliente. Primeiro, o usuário deve digitar o nome do cliente que ele quer visualizar. WRITE('Digite o nome do cliente a ser consultado '); READLN(nome_cliente); achou := 0; b) O For abaixo percorre o vetor de estrutura verificando se o nome digitado pelo usuário é igual a algum nome registrado no vetor. FOR i := 1 TO 15 DO BEGIN IF(conta[i].nome = nome_cliente) THEN BEGIN WRITELN(' || CONTA || SALDO ||'); WRITELN(' || ', conta[i].num, ' || ', conta[i].saldo:5:2, ' || '); achou := 1; END; END; Teste de Mesa para quatro posições achou = 0 i=1 i<4 i++ conta[i].nome = nome_cliente conta[i].num conta[i].saldo achou = 1 achou = 0 i= 1 1<4 V 1+1=2 conta[1].nome = “Elaine” “Edson” = “Elaine” F pula pula pula achou = 0 i=2 2<4 V 2+1=3 conta[2].nome = “Elaine” “Franciele” = “Elaine” F pula pula Pula achou = 0 i=3 3<4 V 3+1=4 conta[3].nome = “Elaine” “Elaine” = “Elaine” V conta[3].num 20 conta[3].saldo 200 achou=1 achou = 1 i=4 4<4 F 4+1=5 pula pula pula pula
  • 5. c) Se a variável auxiliar ACHOU for igual a zero, então o cliente não está cadastrado. IF(achou = 0) THEN WRITELN(' Nao existe conta cadastrada para este cliente '); OPÇÃO 3: a) b) Agora que já temos o valor da variável ACHOU, podemos fazer as verificações. Primeiro, verificamos se ACHOU é igual a zero. Se sim, então nenhuma conta não foi cadastrada. IF achou = 0 THEN WRITELN('Nenhuma conta foi cadastrada') c) d) Não esqueça do getchar(); Você pode ainda incluir uma opção para imprimir o vetor inteiro: if(op==4){ for(i=0;i<15;i++){ printf(" -------------------------------------------- ------- "); printf(" n Numero da Conta: %d", conta[i].num); printf(" n Nome do Cliente: %s", conta[i].nome); printf(" n Saldo da Conta do Cliente: R$ %5.3f", conta[i].saldo); printf(" n n "); } printf(" ---------------------------------------------- ----- "); }