[pascal] Problem z wyszukiwaniu w pliku.

0

Witam!
Na wstepie chcialbym sie przywiac z forum :-)
Otoz napisalem mala baze danych i mam problem poniewaz przy wyszukiwaniu w pliku program znajduje to co ma znalezc ale wyswietla tez niepotrzbne informacje.

szukaj:
begin
  assign(tekst, 'dane.txt');
  reset(tekst);
  writeln('Podaj nazwisko do wyszukania: ');
  readln(dana);
           while not eof(tekst) do
           begin
           readln(tekst,nazwisko);
           if nazwisko=dana then begin
                                          znalazl:=true;                               
                                          writeln('Nazwisko: ',nazwisko);
                                          readln(tekst,imie);
                                          writeln('Imie: ',imie);
                                          readln(tekst,numer);
                                          writeln('Numer telefonu : ',numer);
                                          end;
          if znalazl=false then writeln('brak');
          end;
          readln;
close(tekst);
end;

powiedzmy ze w tym pliku 'dane.txt' mam 9 wierszy i gdy wpisze jakies nazwisko zeby przeszukal ten plik i gdy je znajdzie to wyswietla cos takiego:
brak
brak
brak
nazwisko: kowalski
imie: jan
numer: 34355224
brak
brak
brak
sytuacja w ktorej nie znajdzie zadnego nazwiska ktore podalismy wyglada tak:
brak
brak
brak
brak
brak
brak
brak
brak
brak

Jak zrobic aby nie byly wyswietlane te zbedne "brak"?
Pozdrawiam!

0

wrzuć to w <delphi >< /delphi> bo nikomu się nie będzie chciało tego czytać ;)

pzdr.</delphi>

0
wilek napisał(a)

if znalazl=false then writeln('brak');

Wywal tą linie. I na przyszłość używaj odpowiednich znaczników, bo bardzo ułatwiają czytanie ;-)

0
WIktorDelphi napisał(a)
wilek napisał(a)

if znalazl=false then writeln('brak');

Wywal tą linie. I na przyszłość używaj odpowiednich znaczników, bo bardzo ułatwiają czytanie ;-)

No tak ale gdy ktos wpisze jakies nazwisko ktorego nie bedzie w tym pliku to nic go nie poinformuje ze NIE MA takiego nazwiska...

0
znalazl = false;

while not eof(plik) do
begin
 ReadLn(plik, s);
 if s = nazwisko then 
  begin
   znalazl := true;
   // reszta operacji
  end;
end;

if not znalaz then Komunikat();
0

Ok! Problem rozwiazany.
Dziekuje bardzo wszystkim ktorzy zechcieli mi pomoc.
Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0