Witam! Proszę o pomoc. Piszę program na zaliczenie I semestru z przedmiotu Metodologia Programowania. Niestety nie miałem nic o tablicach, ani rekordach, dlatego zwracam się do was z prośbą.
Mam coś takiego:
program zal2;
uses crt,dos;
const
twoje='a';
var
zabezp,haslo,hass:string;
w:byte;
w2:char;
plik:text;
napis:string;
label menu;
label next;
procedure jedynka;
begin
clrscr;
assign(plik,'C:\persony.txt');
rewrite(plik);
REPEAT
readln(napis);
writeln(plik,napis);
UNTIL napis=('@@@');
close(plik);
rename(plik, 'C:\persony.sys');
SetFAttr(plik,hidden)
end;
procedure dwojka;
begin
clrscr;
assign(plik,'C:\persony.sys');
reset(plik);
while not Eof (plik) do
begin
readln(plik,napis);
writeln(napis);
end;
readln;
close(plik);
end;
procedure trojka;
begin
clrscr;
dwojka;
assign(plik, 'C:\persony.sys');
append(plik);
REPEAT
readln(napis);
writeln(plik,napis);
until napis=('@@@');
close(plik);
end;
begin
clrscr;
writeln('Witam w programie Niezapominajka!');
writeln('W programie mozesz przechowywac adresy,tel i inne przydatne rzeczy.');
writeln('Wcisnij dowolny klawisz aby przejsc dalej.');
readln;
repeat
clrscr;
writeln('DOSTEP ZABLOKOWANY!');
writeln('Podaj haslo:');
readln(haslo);
until(haslo=twoje);
writeln('Haslo poprawne!');
delay(2000);
menu:
clrscr;
writeln('MENU:');
writeln('1. Stworz baze danych');
writeln('2. Odczytaj baze danych');
writeln('3. Dopisz do bazy danych');
writeln('K. Koniec');
writeln('0. Autorzy');
writeln;
writeln('Wybierana opcja: ');
read(w);
case w of
1:jedynka;
2:dwojka;
3:trojka;
4:begin
clrscr;
read(w2);
writeln('Czy na pewno chcesz usunac swoja baze danych?');
case w2 of
'n','N':begin
write('Ok. Powrot do menu.');
delay(5000);
goto menu;
end;
't','T':begin
write('Podaj haslo, aby usunac plik: ');
readln(hass);
if hass='abc' then erase(plik);
write('Plik zostal usuniety!');
delay (1800);
goto menu;
if hass<>'abc' then write('Haslo bledne! Powrot do menu!');
goto menu;
end;
end;
end;
0:goto next;
end;
readln;
next:
end.
Czy możecie mi powiedzieć, czemu jak wybieram w 'case' numer '4' to pojawia mi się napis z zapytaniem o usunięciu pliku, wpisuję: n,N,t,T-nie zależnie którą z tych literek, to i tak wychodzi z programu ;/
I chciałbym, aby:
1. W procedurze 1 było:
- program wyprowadza: 'nazwisko'-użytkownik wpisuje, daje enter, program wyświetla: 'imię:'-użytkownik podaje immię i klika enter, i program pyta o, 'nr telefonu'-użytkownik wpisuje daje ENTER i program pyta, 'Czy chcesz dodać kolejną osobę?' jeśli 'tak', to powraca do: 'nazwisko', jeśli 'nie' to zapisuje plik i powraca do głównego menu wyboru;; po odczytaniu wygląda to tak:
Nazwisko: PODANE PRZEZ URZYTKOWNIKA
Imię: PODANE PRZEZ URZYTKOWNIKA
Numer Telefonu: PODANE PRZEZ URZYTKOWNIKA
- jeśli jest już dany plik, to program pyta użytkownika czy nadpisać;
Bardzo proszę o pomoc