Resolução dos Problemas da Apostila de Registros
Exercício 1
1
- Faça um programa que leia as informações (iguais a do exemplo acima) de 1
funcionário e as imprima na tela. Obs. Leia as informações de um funcionário,
limpe a tela e imprima as suas informações;
Algoritmo
Programa Registro;
Tipo
ficha = registro {DECLARACAO DO
REGISTRO}
inscrição : inteiro;
nome : literal[30];
rua : literal[45];
numero : inteiro;
cep : inteiro;
cpf : literal[15];
sexo : char;
data_nasc : literal[8];
depfimente : char;
horas_trab : real;
fim_registro;
Inicio
escreva('Inscricao: '); leia (ficha.inscricao);
escreva('Nome: '); leia (ficha.nome);
escreva('Rua: '); leia (ficha.rua);
escreva('Numero: '); leia (ficha.numero); {LEITURA
DOS CAMPOS}
escreva('CEP: '); leia (ficha.cep); { DO REGISTRO}
escreva('CPF: '); leia (ficha.CPF);
escreva('Sexo: '); leia (ficha.sexo);
escreva('Data de Nascimento: '); leia (ficha.data_nasc);
escreva('Tem depfimentes (S/N): '); leia
(ficha.depfimente);
escreva('Horas Trabalhadas: '); leia (ficha.horas_trab);
escreva
('FICHA LIDA');
escreva
('Inscricao: ',ficha.inscricao);
escreva
('Nome: ',ficha.nome);
{IMPRESSAO}
escreva
('Rua: ',ficha.rua);
escreva
('Numero: ',ficha.numero);
escreva
('CEP: ',ficha.cep);
escreva
('CPF: ',ficha.CPF);
escreva
('Sexo: ',ficha.sexo);
escreva
('Data de Nascimento: ',ficha.data_nasc);
escreva
('Tem depfimentes (S/N): ',ficha.depfimente);
escreva
('Horas Trabalhadas: ',ficha.horas_trab);
Fim.
Código implementado no Dev-C++ 4.9.9.2
#include
<iostream>
#include
<stdio.h>
using namespace std;
struct cadastro //declaração
do tipo registro
{
char
sexo, dep, nome[30], rua[45], cpf[15], nascimento[8];
float
htrabalhadas;
int
inscricao, numero, cep;
};
int main()
{
cadastro
ficha; //variável ficha do tipo
registro
cout
<< "Inscricao: "; //leitura dos
campos do registro ficha
cin
>> ficha.inscricao;
cin.sync(); //sincronização
do buffer de entrada de dados
cout << "Nome: ";
gets(ficha.nome);
cout << "Rua: ";
gets(ficha.rua);
cout << "Numero: ";
cin >> ficha.numero;
cout << "CEP: ";
cin >> ficha.cep;
cout << "CPF: ";
cin >> ficha.cpf;
cout << "Sexo: ";
cin >> ficha.sexo;
cout
<< "Data de nascimento: ";
cin
>> ficha.nascimento;
cout
<< "Dependentes(s/n): ";
cin
>> ficha.dep;
cout
<< "Horas trabalhadas: ";
cin
>> ficha.htrabalhadas;
system("cls");
cout
<< "FICHA LIDA" << "\n\n"; //impressão
dos campos do registro ficha
cout
<< "Inscricao: " << ficha.inscricao << endl;
cout << "Nome: "
<< ficha.nome << endl;
cout << "Rua: "
<< ficha.rua << endl;
cout
<< "Numero: " << ficha.numero << endl;
cout << "CEP: "
<< ficha.cep << endl;
cout << "CPF: " <<
ficha.cpf << endl;
cout << "Sexo: " <<
ficha.sexo << endl;
cout << "Data de
nascimento: " << ficha.nascimento << endl;
cout << "Dependentes:
" << ficha.dep << endl;
cout << "Horas
trabalhadas: " << ficha.htrabalhadas << "\n\n";
system("PAUSE");
}
Exercício 2
2
- Escrever um programa que, dados 20 CÓDIGOS DE PROFISSÃO, emita o NOME das
profissões correspondentes. Como estrutura de dados, devemos ter um vetor com
20 posições, onde cada posição refere-se à um registro com dois campos: CODIGO
e NOME.
Algoritmo
Programa Profissoes;
Tipo
registro
= REGISTRO {TIPO QUE
REPRESENTA}
codigo:
inteiro; {A TABELA DE CODIGOS E PROFISSOES}
nome: literal[8];
FIM;
Var
tabela:
vetor[1..20] de registro;
codigodesejado, i, k: inteiro;
Inicio
Escreva('LEITURA
DOS CODIGOS DAS PROFISSOES');
Para iß1
até 20 Faça
Inicio
escreva('codigo : ');
leia
(tabela[i].codigo);
escreva('nome : ');
leia
(tabela[i].nome);
Fim;
escreva
('IDENTIFICACAO DE CODIGOS DAS PROFISSOES');
Para iß1
até 10 Faça
Inicio
escreva('codigo desejado: ');
leia
(codigodesejado);
kß1;
Enquanto
(tabela[k].codigo <> codigodesejado) AND (k<20) do
k<--k+1;
Se
tabela[k].codigo = codigodesejado então
Inicio
escreva ('nome: ',tabela[k].nome);
Fim
Senão
Inicio
escreva ('CODIGO INVALIDO');
Fim;
Fim;
Fim.
Código implementado no Dev-C++ 4.9.9.2
#include
<iostream>
#include
<stdio.h>
using namespace std;
struct profissao //declaração
do tipo registro
{
int codigo;
char
nome[15];
};
int main()
{
profissao tabela[20]; //vetor tabela
do tipo profissão
int i,
k, codigodesejado;
char
codigocerto;
cout
<< "LEITURA DOS CODIGOS DAS PROFISSOES" <<
"\n\n";
for (i =
0; i < 20; i++) //leitura dos
dados das profissões
{
cout << "Codigo:
";
cin
>> tabela[i].codigo;
cout
<< "Nome: ";
cin
>> tabela[i].nome;
}
cout
<< "\n" << "IDENTIFICACAO DE CODIGOS DAS
PROFISSOES" << "\n\n";
for (i =
0; i < 20; i++) //identificação
dos códigos das profissões
{
cout
<< "Codigo desejado: ";
cin
>> codigodesejado;
cout << "\n";
codigocerto = 'n';
k =
0;
while (k < 20)
{
if (tabela[k].codigo == codigodesejado) //impressão
dos resultados
{
codigocerto = 's';
cout << "Nome: " << tabela[k].nome;
}
k = k + 1;
}
if
(codigocerto == 'n') //verificação
de código inexistente
{
cout << "CODIGO INVALIDO";
}
cout
<< "\n\n";
}
system("PAUSE");
}
Nenhum comentário:
Postar um comentário