Witam serdecznie,
Mam problem, którego rozwiązanie jest pilne niczym sprawa Państwowa- dla mnie rzecz jasna :D
Muszę zrobić program (na jutro!) walczę z nim od dłuższego czasu, chciałem się sam uporać, ale już popadam w desperację bo nie dam rady a muszę to mieć na jutro.
Chodzi o to że program ma działać jak wypożyczalnia. Jest baza (plik tekstowy) z samochodami oraz plik z klientami. Teraz trzeba zrobić rezerwację danego auta do danego klienta. Myślałem zrobić to na podstawie "dostępności" w postaci okienek ale za grosz mi to nie wychodzi.
Głupio mi prosić, ale gdyby ktoś mógłby podesłać mi procedurę jak to zrobić będę cholernie wdzięczny. (wazy to na moje zaliczenie;/)
zamieszczę poniżej kod:
program project1;
uses crt;
const maxk=15;
const maxaut=10;
type
auto = record
marka:string;
model:string;
przebieg:integer;
rocznik:integer;
end;
type
klient = record
imie:string;
nazw:string;
end;
var
tauto:array[0..maxaut-1] of auto;
kli:array[0..maxk-1] of klient;
plik,plik1:text;
nrauta,nrkli:integer;
odp1,odp2:char;
// ------------------DODANIE AUTA DO BAZY----------------------//
procedure dodajauto;
begin
clrscr;
repeat
nrauta:=nrauta+1;
write('Podaj marke samochodu: '); readln(tauto[nrauta].marka);
write('Podaj model samochodu: '); readln(tauto[nrauta].model);
write('Podaj rocznik samochodu: '); readln(tauto[nrauta].rocznik);
write('Podaj przebieg samochodu: '); readln(tauto[nrauta].przebieg);
writeln;
write('Dopisujesz dalej? T/N: '); readln(odp1);
writeln
until (odp1='n') or (odp1='N')
end;
// ------------------DODANIE KLIENTA DO BAZY----------------------//
procedure dodajklienta;
begin
clrscr;
repeat
nrkli:=nrkli+1;
write('Podaj imie: '); readln(kli[nrkli].imie);
write('Podaj nazwisko: '); readln(kli[nrkli].nazw);
writeln;
write('Dopisujesz dalej? T/N: '); readln(odp2);
writeln
until (odp2='n') or (odp2='N')
end;
//----------------------ZAPIS ZMIAN WPROWADZONYCH DANYCH---------//
procedure zapiszzmiany;
var
i,j,k:integer;
begin
clrscr;
assign(plik,'C:\Users\Artur\Desktop\autka\AUTA_BAZA.txt');
rewrite(plik);
writeln(plik,nrauta);
assign(plik1,'C:\Users\Artur\Desktop\autka\KLIENT_BAZA.txt');
rewrite(plik1);
writeln(plik1,nrkli);
for i:=1 to nrauta do
begin
writeln(plik,tauto[i].marka);
writeln(plik,tauto[i].model);
writeln(plik,tauto[i].rocznik);
writeln(plik,tauto[i].przebieg);
end;
for k:=1 to nrkli do
begin
writeln(plik1,kli[k].imie);
writeln(plik1,kli[k].nazw);
end;
close(plik);
close(plik1);
for j:=1 to 4 do
begin
delay(250);
write('. ');
end;
writeln;
writeln('Zapisywanie przebieglo pomyslnie! Kliknij Klawisz by powrocic do menu...');
readkey;
end;
//---------------------ODCZYT I WYSWIETLENIE PLIKOW W BAZIE-------//
procedure odczytajplik;
var i,k:integer;
begin
assign(plik,'C:\Users\Artur\Desktop\autka\AUTA_BAZA.txt');
reset(plik);
readln(plik,nrauta);
assign(plik1,'C:\Users\Artur\Desktop\autka\KLIENT_BAZA.txt');
reset(plik1);
readln(plik1,nrkli);
for i:=1 to nrauta do
begin
readln(plik,tauto[i].marka);
readln(plik,tauto[i].model);
readln(plik,tauto[i].rocznik);
readln(plik,tauto[i].przebieg);
end;
for k:=1 to nrkli do
begin
readln(plik1,kli[k].imie);
readln(plik1,kli[k].nazw);
end;
close(plik);
close(plik1);
end;
procedure listaaut;
var i:integer;
begin
clrscr;
odczytajplik;
if nrauta=0 then
writeln('Obecnie nie ma dostepnych aut')
else
for i:=1 to nrauta do
begin
writeln('Auto nr. ',i,':');
writeln('Marka: ',tauto[i].marka);
writeln('Model: ',tauto[i].model);
writeln('Rocznik: ',tauto[i].rocznik,'r.');
writeln('Przebieg: ',tauto[i].przebieg,'km');
writeln;
end;
writeln('Kliknij klawisz by powrocic...');
readkey;
end;
procedure listaklientow;
var k:integer;
begin
clrscr;
odczytajplik;
if nrkli=0 then
writeln('Obecnie nie ma klientow')
else
for k:=1 to nrkli do
begin
writeln('Klient nr. ',k,':');
writeln('Imie: ',kli[k].imie);
writeln('Naziwsko: ',kli[k].nazw);
writeln;
end;
writeln('Kliknij klawisz by powrocic...');
readkey;
end;
//---------------------------------PROGRAM GLOWNY---------------------//
var odpmenu:char;
begin
repeat
clrscr;
writeln('---------------WYPOZYCZALNIA SAMOCHODOW--------------');
writeln('1. Dodaj Samochod');
writeln('2. Dodaj klienta');
writeln('3. Lista Aut');
writeln('4. Lista klientow');
writeln('5. Zapisz zmiany');
writeln('0. Wyjscie');
readln(odpmenu);
if odpmenu='1' then dodajauto;
if odpmenu='2' then dodajklienta;
if odpmenu='3' then listaaut;
if odpmenu='4' then listaklientow;
if odpmenu='5' then zapiszzmiany;
if odpmenu='0' then halt;
until keypressed;
end.
Mam nadzieję że ktoś pomoże :)
dodanie znacznika <code class="pascal"> - fp