Forum www.ispwsznysa.fora.pl Strona Główna www.ispwsznysa.fora.pl
Informatyka Stosowania PWSZ NYSA
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

list 5 zad 1 dudek

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.ispwsznysa.fora.pl Strona Główna -> Programowania I
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
stramik
Administrator



Dołączył: 02 Gru 2007
Posty: 126
Przeczytał: 0 tematów

Skąd: Grodków

PostWysłany: Sob 0:05, 29 Gru 2007    Temat postu: list 5 zad 1 dudek

Wersja robocza tak na szybko




program zad1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
TCzas=record
minuta:byte;
sekunda:byte;
end;

TData=record
dzien:byte;
miesiac:byte;
rok:byte;
end;

TUtwor=record
wykonawca:string[20];
tytul:string[20];
czas:Tczas;
end;

TCd=record
autor:string[20];
tytul:string[20];
data:TData;
cena:real;
utwor:array [1..20] of TUtwor;
end;

var
cd:TCd;
i,n:integer;


begin
write('Podaj wykonawce, jezeli skladanka nacisnij enter ');
readln(cd.autor);
if cd.autor='' then cd.autor:='Rozni wykonawcy';
write('Podaj tytul plyty: ');
readln(cd.tytul);
write('Podaj date wydania w formacie DD MM RR : ');
readln(cd.data.dzien,cd.data.miesiac,cd.data.rok);
write('Podaj cene plyty w pln PLN.GR : ');
readln(cd.cena);
write('Podaj liczbe utworow na plycie : ');
readln(n);
for i:=1 to n do
begin
if cd.autor='Rozni wykonawcy' then
begin
write('Podaj wykonawce ',i,' utworu: ');
readln(cd.utwor[i].wykonawca);
end;
write('Podaj tytul ',i,' utworu: ');
readln(cd.utwor[i].tytul);
write('Podaj czas utworu w formacie MM SS ');
readln(cd.utwor[i].czas.minuta,cd.utwor[i].czas.sekunda);
end;
writeln;
writeln;
writeln;

writeln('Wykonawca: ',cd.autor,' Tytul plyty: ',cd.tytul);
writeln('Data wydania: ',cd.data.dzien,'.',cd.data.miesiac,'.',cd.data.rok,'r.');
writeln('Cena: ',cd.cena:3:2);
writeln('Lista utworow:');
for i:=1 to n do
begin
write(i:3);
if cd.autor='Rozni wykonawcy' then
write(cd.utwor[i].wykonawca:22);
write(cd.utwor[i].tytul:22);
write(cd.utwor[i].czas.minuta:4,':',cd.utwor[i].czas.sekunda);
writeln;
end;
readln;

{ TODO -oUser -cConsole Main : Insert code here }
end.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
roy
Administrator



Dołączył: 02 Gru 2007
Posty: 70
Przeczytał: 0 tematów

Skąd: Głuchołazy

PostWysłany: Sob 9:20, 29 Gru 2007    Temat postu:

hej ciekawy pomysl a co do typow to mozesz i tak zadeklarowac troche mniej zajmuja i "latwiej" sie polapac ktory duzy Smile

Kod:

type
TCzas=record
godzina: 1..24;
minuta: 1..60;
sekunda: 1..60;
end;

TData=record
dzien: 1..31;
miesiac: 1..12;
rok:byte;
end;

TUtwor=record
wykonawca:string[20];
tytul:string[20];
czas:Tczas;
end;

TCd=record
autor:string[20];
tytul:string[20];
data:TData;
cena:real;
utwor:array [1..20] of TUtwor;
end;


Ostatnio zmieniony przez roy dnia Sob 9:20, 29 Gru 2007, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
stramik
Administrator



Dołączył: 02 Gru 2007
Posty: 126
Przeczytał: 0 tematów

Skąd: Grodków

PostWysłany: Nie 13:03, 30 Gru 2007    Temat postu:

HEhe widzę , że się siedzi nad Pascalem, albo byla o tym mowa gdzieś, nie wiedziałem, że można deklarować np 1..60 Razz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Lukasiu
Nowicjusz



Dołączył: 05 Gru 2007
Posty: 12
Przeczytał: 0 tematów

Skąd: Gałązczyce

PostWysłany: Śro 21:49, 02 Sty 2008    Temat postu:

widze ze mozna bylo krucej ale.....



Kod:
program zad1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

//////////////////
  type tdata =record
  rok:integer;
  miesiac:byte;
  end;
  //////////////////
  tczas=record
  min:byte;
  sek:byte;
  end;
  //////////////////
  tutwory=record
  nr:byte;
  wykonawca:string;
  tytul:string;
  czas:tczas;
  end;
  //////////////////
  tplyta=record
  cena:real;
  tytulcd:string;
  data:tdata;
  utwory:array [1..20] of tutwory;
  end;
//////////////
var cd: tplyta;
z:char;
n:byte;
i:byte;
//////////////

begin
writeln ('Podaj tytul plyty');
readln(cd.tytulcd);
writeln('Podaj date wydania plyty (mm rr)');
readln(cd.data.miesiac, cd.data.rok);
writeln('jaka jest cena plyty?(zl.gr)' );
readln(cd.cena);
Writeln('Plyta jest singlem? (t/n)');
readln(z);
 if z<>('t') then
  begin
   writeln ('podaj ilosc piosenek na plycie (max 20)');
   readln(n);
   for i:=1 to n do
    begin
     writeln ('Podaj wykonawce piosenki nr: ',i);
     readln (cd.utwory[i].wykonawca);
     writeln ('podaj tytul pisenki nr: ',i);
     readln(cd.utwory[i].tytul);
     writeln('podaj czas trwania piosenki nr; ',i, '(mm ss)');
     readln (cd.utwory[i].czas.min, cd.utwory[i].czas.sek);
     cd.utwory[i].nr:=i;
    end ;
  end
  else
   begin
    writeln ('podaj ilosc piosenek na plycie (max 20)');
    readln(n);
    writeln ('Podaj autora plyty');
    readln (cd.utwory[1].wykonawca);
    for i:=2 to n do cd.utwory[i].wykonawca:=cd.utwory[1].wykonawca;
    for i:=1 to n do
     begin
      writeln ('podaj tytul pisenki nr: ',i);
      readln(cd.utwory[i].tytul);
      writeln('podaj czas trwania piosenki nr; ',i, '(mm ss)');
      readln (cd.utwory[i].czas.min, cd.utwory[i].czas.sek);
      cd.utwory[i].nr:=i;
     end
   end;
writeln;
writeln;
writeln('tytul plyty: ',cd.tytulcd);
Writeln('data wydania: ',cd.data.miesiac,' ',cd.data.rok);
writeln('cena: ' ,cd.cena:2:2,'zl');
writeln('utwory:');
for i:=1 to n do
 begin
 with cd.utwory[i] do
  begin
   writeln (nr,': ',wykonawca:20,' ',tytul:20,' ',czas.min:2,':',czas.sek:2);
  end
 end;
readln;
end.
  { TODO -oUser -cConsole Main : Insert code here }
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.ispwsznysa.fora.pl Strona Główna -> Programowania I Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin