Ayuda por favor soy nuevo en esto y no se que hacer
{Espero verte entendido lo que querías te dejo este sencillo programa para que te ayude suerte}
program autos;
uses
crt;
type
fichaautos = record
modelo : string[80];
ventas : integer;
end;
const
fichas : integer = 0;
var
auto : array[1..20] of fichaautos;
error, numera, cont : integer;
tecla : char;
procedure entra_datos_fichas;
var
datoaut : string[80];
s, co : integer;
begin
cont := 1;
co := 1;
s := 1;
gotoxy(10,2);write('Entrada de datos [ESC] = ternina');
gotoxy(9,4);write('Modelo : ');
gotoxy(9,5);write('Ventas : ');
gotoxy(18,4);
repeat
tecla := readkey;
if co = 1 then
begin
if tecla in[#48..#90,#165,#32,#97..#122,#164] then
begin
datoaut[s] := upcase(tecla);
datoaut[0] := chr(s);
gotoxy(17 + s,4);write(datoaut[s]);
s := s + 1;
if s > 80 then
s := 80;
end;
end;
if co = 2 then
begin
if tecla in[#48..#57] then
begin
datoaut[s] := upcase(tecla);
datoaut[0] := chr(s);
gotoxy(17 + s,5);write(datoaut[s]);
s := s + 1;
if s > 15 then
s := 15;
end;
end;
if tecla = #13 then
begin
if co = 1 then
begin
auto[cont].modelo := copy(datoaut,1,s - 1);
s := 1;
gotoxy(18,5);
end;
if co = 2 then
begin
val(datoaut,numera,error);
auto[cont].ventas := numera;
s := 1;
cont := cont + 1;
gotoxy(18,4);clreol;
gotoxy(18,5);clreol;
gotoxy(18,4);
end;
co := co + 1;
if co > 2 then
co := 1;
end;
if tecla = #8 then
begin
if co = 1 then
begin
s := s - 1;
if s < 1 then
s := 1;
datoaut[s] := ' ';
datoaut[0] := chr(s);
gotoxy(17 + s,4);write(datoaut[s]);
end;
if co = 2 then
begin
s := s - 1;
if s < 1 then
s := 1;
datoaut[s] := ' ';
datoaut[0] := chr(s);
gotoxy(17 + s,5);write(datoaut[s]);
end;
end;
until (tecla = #27) or (cont > 20);
fichas := cont - 1;
end;
procedure presenta(desd, asta : integer);
var
pue, pa : integer;
begin
pue := asta;
if pue <= fichas then
pue := asta
else
pue := fichas;
pa := desd;
clrscr;
repeat
writeln(auto[pa].modelo,' ',auto[pa].ventas);
pa := pa + 1;
until pa > pue;
end;
procedure presenta_ventas;
var
pasar, ventas : integer;
te : char;
begin
ventas := fichas;
pasar := 1;
presenta(1,ventas);
writeln;
writeln('Pulsa [Enter]');
repeat
te := readkey;
until te = #13;
end;
procedure autos_ardena_max_men(ver : boolean);
var
nu, cual, rs, cs : integer;
canvi : fichaautos;
puls : char;
begin
rs := 1;
cs := 2;
repeat
if auto[rs].ventas < auto[cs].ventas then
begin
canvi := auto[rs];
auto[rs] := auto[cs];
auto[cs] := canvi;
end;
cs := cs + 1;
if cs > fichas then
begin
cs := rs + 1;
rs := rs + 1;
end;
until rs > fichas;
if ver = true then
begin
writeln('La Marca mas Vendida Pulse [Enter]');
writeln;
writeln(auto[1].modelo,' ',auto[1].ventas);
writeln;
writeln('Desea presentas los mas vendidos Asta : ','[S/N]');
repeat
puls := readkey;
if puls in['s','S'] then
begin
writeln('Entre Numero ');
readln(nu);
end;
until puls in['s','S','n','N'];
if puls in['s','S'] then
begin
clrscr;
for rs := 1 to fichas do
begin
if auto[rs].ventas >= nu then
writeln(auto[rs].modelo,' ',auto[rs].ventas);
end;
writeln;
writeln('Pulse [Enter]');
readln;
end;
end;
end;
procedure autos_ardena_men_max(ver : boolean);
var
nu, cual, rs, cs : integer;
canvi : fichaautos;
puls : char;
begin
rs := 1;
cs := 2;
repeat
if auto[rs].ventas > auto[cs].ventas then
begin
canvi := auto[rs];
auto[rs] := auto[cs];
auto[cs] := canvi;
end;
cs := cs + 1;
if cs > fichas then
begin
cs := rs + 1;
rs := rs + 1;
end;
until rs > fichas;
if ver = true then
begin
writeln('La Marca menos Vendida Pulse [Enter]');
writeln;
writeln(auto[1].modelo,' ',auto[1].ventas);
writeln;
writeln('Desea presentas los menos vendidos Asta : ','[S/N]');
repeat
puls := readkey;
if puls in['s','S'] then
begin
writeln('Entre Numero ');
readln(nu);
end;
until puls in['s','S','n','N'];
if puls in['s','S'] then
begin
clrscr;
for rs := 1 to fichas do
begin
if auto[rs].ventas <= nu then
writeln(auto[rs].modelo,' ',auto[rs].ventas);
end;
writeln;
writeln('Pulse [Enter]');
readln;
end;
end;
end;
procedure presenta_mayor_menor;
var
cl : integer;
begin
autos_ardena_max_men(false);
writeln('Listado de Mayor a Menor Pulse [Enter]');
for cl := 1 to fichas do
writeln(auto[cl].modelo,' ',auto[cl].ventas);
readln;
end;
procedure presenta_menor_mayor;
var
cl : integer;
begin
autos_ardena_men_max(false);
writeln('Listado de Menor a Mayor Pulse [Enter]');
for cl := 1 to fichas do
writeln(auto[cl].modelo,' ',auto[cl].ventas);
readln;
end;
procedure menu;
var
tec : char;
sal : boolean;
begin
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
sal := false;
gotoxy(1,1);
repeat
tec := readkey;
case tec of
#49 : begin
clrscr;
entra_datos_fichas;
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#50 : begin
clrscr;
presenta_ventas;
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#51 : begin
clrscr;
autos_ardena_max_men(true);
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#52 : begin
clrscr;
autos_ardena_men_max(true);
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#53 : begin
clrscr;
presenta_mayor_menor;
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#54 : begin
clrscr;
presenta_menor_mayor;
clrscr;
gotoxy(3,2);write('ELIJA OPCION MENU');
gotoxy(2,4);write('1 = Entradas');
gotoxy(2,6);write('2 = Ver Autos');
gotoxy(2,8);write('3 = Max Ventas');
gotoxy(2,10);write('4 = Men Ventas');
gotoxy(2,12);write('5 = Listado de > a <');
gotoxy(2,14);write('6 = Listado de < a >');
gotoxy(2,16);write('7 = Salir');
end;
#55 : sal := true;
end;
until (sal = true) or (tec = #27);
clrscr;
end;
begin
clrscr;
menu;
end.
{Que aya suerte}