ďťż

Ładny brzuch

Czesc programisci !

mam taki ot problemik, przedstawie wam wpierw program baze danych napisanego za pomoca tablicy:
Var Imie,nazwisko,telefon:array[1..30] of string; {1} c,c2:char; iloscosob:byte; {2} t1:byte; {3} PROCEDURE Wprowadz; Begin ClrScr; Iloscosob:=iloscosob+1; {4} Write('Imie : '); ReadLn( imie[iloscosob] ); {5} Write('Nazwisko : '); ReadLn( nazwisko[iloscosob] ); {6} Write('Telefon : '); ReadLn( telefon[iloscosob] ); {7} End; PROCEDURE Wyswietl; Begin ClrScr; Write('Numer wpisu ? (1..', iloscosob ,') :'); {8} ReadLn(t1); {9} WriteLn('Imie : ',imie[t1] ); {10} WriteLn('Nazwisko : ',nazwisko[t1] ); {11} WriteLn('Telefon : ',telefon[t1] ); {12} WriteLn; Write('Wcisnij jakis klawisz...'); c2:=readkey; End; Begin Iloscosob:=0; {13} Repeat ClrScr; Write('1. Nowy wpis 2. Wyswietlenie wpisu 3.Koniec programu : '); Repeat c:=readkey; Until (c='1') OR (c='2') OR (c='3'); If c='1' Then Wprowadz; If c='2' Then Wyswietl; Until c='3'; End.

otoz rozumiem caly program, ale nie rozumiem zmiennej t1 otoz chodzi o linijke:

Write('Numer wpisu ? (1..', iloscosob ,') :'); {8} ReadLn(t1);

Otoz wie, ze (t1) to zmienna wyswietlajaca dany rekord, ale zastanawiam sie jak program ma wiedziec, ze np chodzi o jakis rekord np :[t2] ? przeciez w progamie nie ma zadnej instrukcji typu
ze 2 rekord to bedzie {t2) typu t := t+1; wtedy rekord bedzie np 2 i wyswietli 2 rekord, w programie przeciez jest podane czytaj t1, czyli ok przeczyta to jako wyswietl pozniej rekord 1 a 2 3 ? jak program zamienia rekord np 3 tzn ta zmienna ??
niech mi ktos to wytlumaczy
Użytkownik B-L-I-z-Z-A-R-D edytował ten post 18 październik 2006, 19:07


t1 to tylko nazwa zmiennej typu byte która może przyjmować wartości będące liczbami całkowitymi z zakresu 0-255. Skoro tablice mają po 30 elementów to taka zmienna wystarczy do poruszania sie po ich indeksach. Program pyta się o numer wpisu do wyświetlania, a potem wyświetla dane z różnych tabel.

ps. i znów program wątpliwej poprawności względem programowania strukturalnego :P

Revis znowu ty mi pomagasz :) Czemu watpliwej :( ;]

revis wiem, ze program sie pyta itp, ale czyta wlasnie ta wartosc np jak uzytkownik wpisze dajmy na to 2 to wtedy wczyta ja jako t2 prawda czy t1? czyli dalej
imie[t1]
nazwi..[t1]
telef ..[t1]

ok..
ale skad on bedzie wiedzial zeby odwolac to t1 do indeksu tablicy o jakims indeksie??

no chyba,ze nazwa t[1] jest unikalna chodzi mi o t czy zawsze sie stosuje t czy np moze byc r[1] ?
Użytkownik B-L-I-z-Z-A-R-D edytował ten post 18 październik 2006, 19:50
Ok no to inaczej. t1 jest zmienną globalną... i tylko zmienną. Równie dobrze możesz ją zastąpić przez dowolna inną nazwę. Cały sens polega na tym, żę użytkownik wpisuje liczbę która jest przypisywana pod zmienną t1 za której pomocą są indeksowane tablice (imie, nazwisko, telefon). Wpiszesz 3 to t1=3 czyli imie[t1]=imie[3] itd. t1 to tylko nazwa...



Aha :))) juz czaje dzieki Rvis !
Użytkownik B-L-I-z-Z-A-R-D edytował ten post 18 październik 2006, 20:46
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •