Prosím o pomoc s pascalom

Programovacie jazyky, rady, poradňa...
peponr
Novice
Novice
Príspevky: 4
Registrovaný: 15 okt 2008, 22:40

Prosím o pomoc s pascalom

Príspevok od používateľa peponr »

Kód: Vybrať všetko

procedure nacitaj_hosti;
var x, volba :integer;
begin
 A[pocet_hosti].cislo_izby := 0;
 pocet_hosti := 0;
  repeat
   clrscr;
   inc (pocet_hosti);
   writeln ('Zadajte meno hosta:');
   readln (A[pocet_hosti].meno);
   writeln ('Zadajte datum zaciatku ubytovania:');
   readln (A[pocet_hosti].datum);
   writeln ('Zadajte dlzku pobytu hosta:');
   readln (A[pocet_hosti].dlzka_pobytu);
   writeln ('Zadajte cislo izby v ktorej bude byvat host:');
    repeat
     repeat
      readln (x);
      if x > 5 then
       writeln ('Zadane cislo je vacsie nez pocet izieb, zadajte ine!');
     until x <= 5;
     inc (B[x].obs_lozka);
     if (B[x].lozka - B[x].obs_lozka) < 0 then
      writeln ('Izba je plna, vyberte inu')
     else
      begin
       A[pocet_hosti].cislo_izby := x;
       B[x].obsadenost := true;
      end;
    until A[pocet_hosti].cislo_izby = 1;
   writeln ('Host cislo ',pocet_hosti,'. bol uspesne pridany!');
   readln;
   clrscr;
   writeln ('1. Pokracovat v zadavani');
   writeln ('2. Navrat do menu');
   readln (volba);
  until volba = 2;
end;
Zdravím, chcel by som vás požiadať o pomoc s ročníkovou prácou, jedná sa o databázu hotela. Program ako taký funguje v poriadku, pole hostí (A :array[1..50] of host;) a pole izieb (B :array[1..5] of izby;) sú naplnené správne. Jediný zádrheľ je v tejto procedúre, v ktorej načítavam hostí, a to ten, že môžem hostí dávať len do jednej izby (až pokým mi to kapacita B[x].lozka dovolí). Uvediem príklad: Fero pôjde do izby číslo 1. Emil tiež do 1-tky. Zatiaľ všetko funfuje tak ako má. Ale keď chcem Evu dať do inej izby (2-5), program si vypýta hodnotu x a ďalej sa nepohne. Môžem hodnotu odentrovávať o dušu, nepokračuje v normálnom chode, len odriadkúva. Jediným východiskom je násilné ukončenie priebehu a návrat do TP.

Vopred ďakujem za pomoc :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Prosím o pomoc s pascalom

Príspevok od používateľa audiotrack »

tebe to brzdí tá podmienka v until:

Kód: Vybrať všetko

until A[pocet_hosti].cislo_izby = 1;
Neviem či je to nejaký tvoj pozostatok z nejakých testov, lebo to nemá logiku ale celkom jasne si tam napísal že sa vyžaduje zadať jednotka do izby a preto ti žiadne iné nebere
peponr
Novice
Novice
Príspevky: 4
Registrovaný: 15 okt 2008, 22:40

Re: Prosím o pomoc s pascalom

Príspevok od používateľa peponr »

Mhm, slepota moja... to má byť

Kód: Vybrať všetko

until A[pocet_hosti].ubytovany = true;
fakt vďaka, asi ani neviem jak som to mohol prehliadnuť :)
Napísať odpoveď