Controle de biblioteca. Faça um programa que controle os usuários de uma biblioteca.
Neste programa deverão ser guardados os seguintes dados: nome do usuário, tipo de
usuário (G-graduação, M-mestrado, D-doutorado, P-professor, O-outros), situação (Aativo,
I-inativo, E-excluído) e quantidade de empréstimos realizados. O programa deve
permitir as seguintes operações:
• cadastrar os dados dos usuários da biblioteca (no momento do cadastro, o número de
empréstimos deve ser zerado);
• excluir os dados de um usuário da biblioteca, neste caso, os dados devem ser mantidos,
mas a situação deve ser marcada como excluído;
• consultar todos os dados de um determinado usuário pelo nome;
• listar os usuários separados pelo seu tipo e mostrar o total de empréstimos realizados
por cada tipo;
• mostre os usuários com maior e menor número de empréstimos;
• listar os usuários por situação.
• Os dados do controle de biblioteca deverão ser armazenados em um arquivo, sendo os
dados agrupados na forma de registro.
A seguinte operação deve ser permitida no programa:
- registrar empréstimo(s) para um determinado usuário (um ou vários empréstimos);
Exemplo:
Usuário André com 2 empréstimos já registrados.
Opção do Programa:
Deseja inserir empréstimos para qual usuário?
André
Quantos empréstimos devem ser registrados para o usuário André?
5
Foram registrados 5 empréstimos para o usuário André.
O usuário possui um total de 7 empréstimos realizados
Copyright © 2024 1QUIZZ.COM - All rights reserved.
Answers & Comments
Verified answer
¡Hola!
El español no es mi primera lengua, pero he traducido su especificación y entender lo que quieres.
Por lo tanto, voy a escribir un programa en Pascal, pero necesito saber qué compilador que está usando (hay muchos diferentes compiladores de Pascal, Virtual Pascal, Turbo Pascal, Free Pascal, por nombrar algunos)?
No voy a ser capaz de publicar el código en Yahoo Respuestas, porque va a ser demasiado largo; por favor, ¿puede enviarme un e-mail a mystic.smeg yahoo.co.uk @ para que pueda enviar el código cuando se hace .
No se olvide de premio a la mejor respuesta, y su el único pago que necesito.
na
Código de abajo es sólo el comienzo (no completa). Voy a necesitar el e-mail. Además, me diga si esto es demasiado complejo.
---- listing ----
Program espStud1;
uses Crt;
type
TUserType = (utDesconocida, utGraduate, utMA, utDoctorate, utProfessor, utOthers);
TLocation = (lAativo, lInactive, lDeleted);
TStudentRec = record
UserName: string[50];
UserType: TUserType;
Location: TLocation;
Loans: Integer;
end; {TStudentRec}
var
Students: array[1..99] of TStudentRec;
StudCount: Integer;
procedure Init;
var i: integer;
begin
{inicializar las variables}
StudCount:=0;
for i:=1 to 99 do
begin
Students[i].UserName :='';
Students[i].UserType :=utDesconocida;
Students[i].Location :=lAativo;
Students[i].Loans :=0;
end; {for i}
end; {Init}
function UpperStr(value: string): string;
var Res: string;
i: integer;
begin
{Convertir una cadena a mayúsculas sólo}
Res:=value;
for i:=1 to Length(Res) do
if Res[i] in ['a'..'z'] then
Res[i] := Char(Ord(Res[i])-32);
end; {UpperStr}
function Locate(Name: string; var Index: Integer): boolean;
var Res: boolean;
i: integer;
begin
{Buscar a un usuario en el arsenal del estudiante; si es cierto retorno que se encuentran + índice de registro}
Res:=False; i:=1;
while (i<99) and (not Res) do
begin
if UpperStr(Name)= UpperStr( Students[i].UserName ) then
begin
Index := i;
Res := True;
end else
Inc(i);
end; {while}
Locate := Res;
end; {Locate}
procedure AddStudent(Name: string; uType: TUserType; lLoc: TLocation; Loans: Integer);
var i: integer;
begin
{rec Añadir estudiante, si existe rec (partido por su nombre) añadir a préstamo y actualización de otros campos}
if not Locate(Name, i) then
begin
{Formación Académica no se encuentra, agregar nuevo registro}
if StudCount<99 then
begin
Inc(StudCount);
Students[i].UserName:= Name;
Students[i].UserType := uType;
Students[i].Location := lLoc;
Students[i].Loans := Loans;
end else
WriteLn('Database is full.');
end else
{Formación Académica fue encontrado hasta actualizar el registro}
Students[i].Loans := Students[i].Loans + Loans;
{¿Necesitamos otro conjunto de datos expediente académico aquí también?}
end; {AddStudent}
{adivinando que tendrá el usuario del menú}
begin
{inicializar y llamar a menú principal}
ClrScr;
end.