[ programer9 @ 21.01.2014. 00:30 ] @
Da li neko zeli da mi pomogne da uradim potrpogram za obradu, u sledecem zadatku: Sastaviti program na programskom jeziku Pascal, koji radi sa tekst datotekama po sledećem redosledu izvršavanja: a) poziva potprogram koji učitava imena datoteka sa kojima će raditi, b) poziva odgovarajući potprogram koji izvrši traženu obradu nad datotekama, c) ponavlja prethodne korake sve dok korisnik za ime datoteke ne zada prazan string. Zadatak je sledeci: Čita ulaznu datoteku sa podacima o partijama jedne kartaške igre, gde je svaki red po formatu idPartija idIgrač karta1 karta2 karta3 karta4 (identifikacija partije i identifikacija igrača – celi brojevi; karte – dvoslovna oznaka, prvi znak boja K, P, H ili T, drugi znak vrednost 2, 3, ... 9, X, A, J, Q ili K) i koja može u susednim redovima imati podatke o istoj partiji; program u izlaznu datoteku treba da upiše za svaku partiju da li je ispravna ili nije, po formatu idPartija ispravna (ispravnost – string „Ispavan“ ili „Neispravan“); partija se igra sa jednim špilom od 52 karte; partija je ispravna ako se svaka karta u partiji javlja najviše jedanput; Podatke iz datoteka nije dozvoljeno smeštati u bilo kakvu zbirku podataka u memoriji (na primer, niz ili ulančanu listu). Potreban mi je potprogram za obradu, sastavio sam sledece: program zadatak; type partija=record idpartije:integer; idigraca:integer; karta1:string[2]; karta2:string[2]; karta3:string[2]; karta4:string[2]; end; var f1, f2:text; dat1,dat2:string; temp,part:partija; procedure procitajRec(var f:text; var s:string); var c:char; n:integer; begin read(f, c); while (c = ' ') do read(f, c); n:=1; while (c <> ' ') do begin s[n]:=c; n:=n+1; read(f, c); end; s[0] := chr(n-1); end; procedure obrada(var f1:text; var f2:text); ................................................ ................................................ procedure imenaDatoteka(var dat1:string; var dat2:string); begin write('Prvo ime: '); readln(dat1); write('Drugo ime: '); readln(dat2); end; begin while true do begin imenaDatoteka(dat1,dat2); if (dat1='') or (dat2='') then break; assign(f1, dat1); assign(f2, dat2); reset(f1); rewrite(f2); obrada(f1,f2); close(f1); close(f2); end; end. |