Está en la página 1de 3

PRCTICA COMPUTACIONAL

Desarrollo de una aplicacin con men, funciones, variables globales, registros y archivo en
disco para control de inventario de los artculos de un almacn.

Datos de cada artculo:

Cdigo
Nombre
Cantidad actual del artculo

Men
1) Ingresar: Ingreso de un nuevo artculo con la cantidad inicial
2) Agregar: Agregar cantidad a un artculo existente
3) Vender: Vender una cantidad de un artculo existente
4) Consultar: Conocer la cantidad disponible de un artculo
5) Eliminar: Eliminar o dar de baja un artculo
6) Salir

Variables
art: Nombre del vector de registros en memoria (variable global)
data: Nombre del archivo en disco

Nombres de los componentes de cada registro


cod: Cdigo del artculo
nomb: Nombre del artculo
cant: Cantidad actual

NOTA. La funcin ismember no permite buscar elementos en un vector de registros, por lo


cual se modificar nuestra conocida funcin buscar adaptndola a esta aplicacin.

Programa para manejo de la aplicacin

%Manejo de inventario
global art
try
load data art
catch
art=[ ];
end
opc=0;
while opc ~= 6
menu1;
opc=input('Elija una opcin ');
switch opc
case 1, ingresar;
case 2, agregar;
case 3, vender;
case 4, consultar;
case 5, eliminar
end
end
save data art;
function menu1
clc;
disp('1) Ingresar artculo');
disp('2) Agregar');
disp('3) Vender');
disp('4) Consultar');
disp('5) Eliminar');
disp('6) Salir');

function ingresar
global art
c=input('Cdigo del artculo ');
r=buscar1(c);
if r==0
t.cod=c;
t.nomb=input('Nombre del artculo ');
t.cant=input('Cantidad inicial ');
art=[art, t];
else
disp('Artculo ya existe');
pause
end

function agregar
global art;
c=input('Ingrese cdigo de artculo ');
[r,p]=buscar1(c);
if r==1
ct=input('Ingrese cantidad ');
art(p).cant=art(p).cant + ct;
else
disp('Artculo no existe');
pause;
end

function vender
global art;
c=input('Ingrese cdigo de artculo ');
[r,p]=buscar1(c);
if r==1
ct=input('Ingrese cantidad ');
if art(p).cant>=ct
art(p).cant=art(p).cant - ct;
else
disp('Cantidad insuficiente');
pause
end
else
disp('Artculo no existe');
pause;
end
function consultar
global art;
c=input('Ingrese cdigo de artculo ');
[r,p]=buscar1(c);
if r==1
t=art(p);
disp(t.nomb);
disp(t.cant);
pause;
else
disp('Artculo no existe');
pause;
end

function eliminar
global art;
c=input('Ingrese cdigo de artculo ');
[r,p]=buscar1(c);
if r==1
art(p)=[ ];
else
disp('Artculo no existe');
pause;
end

function [r,p]=buscar1(c)
global art;
n=length(art);
r=0;
p=0;
for i=1:n
if c==art(i).cod
r=1;
p=i;
return
end
end

También podría gustarte