program Konfiguracija; uses crt; type pokazivac=^struktura; struktura=record {Maticna varijable} mat:integer; nm1:string; nm2:string; nm3:string; nm4:string; nms1:string; nms2:string; nms3:string; nms4:string; nmc1:integer; nmc2:integer; nmc3:integer; nmc4:integer; socketm1:string; socketm2:string; socketm3:string; socketm4:string; {Procesor varijable} proc:integer; np1:string; np2:string; np3:string; np4:string; nps1:string; nps2:string; nps3:string; nps4:string; npc1:integer; npc2:integer; npc3:integer; npc4:integer; socketp1:string; socketp2:string; socketp3:string; socketp4:string; {Graficka varijable} graf:integer; ng1:string; ng2:string; ng3:string; ng4:string; ngs1:string; ngs2:string; ngs3:string; ngs4:string; ngc1:integer; ngc2:integer; ngc3:integer; ngc4:integer; {RAM varijable} ram:integer; nr1:string; nr2:string; nrs1:string; nrs2:string; nrc1:integer; nrc2:integer; {Disk varijable} di:integer; nd1:string; nd2:string; nds1:string; nds2:string; ndc1:integer; ndc2:integer; {Napajanje varijable} nap:integer; nn1:string; nn2:string; nns1:string; nns2:string; nnc1:integer; nnc2:integer; {Pokazivac} p:pokazivac;
end;
var trenutni,pocetni,prethodni:pokazivac; a,b,c,d,e,i,x,y,z:integer; ms,p1s,p2s,p3s,p4s:string;
{PROCEDURE ZA UNOS NOVIH KOMPONENATA} procedure dodajmat; begin clrscr(); writeln('UNOS NOVIH MATICNIH PLOCA (KOLICINA - 4)'); writeln('Socketi: A - AMD, I - INTEL'); writeln('======'); write('Maticna ploca 1 => '); readln(trenutni^.nm1); write('Socket (A/I) => '); readln(trenutni^.socketm1); write('Specifikacija => '); readln(trenutni^.nms1); write('Cijena => '); readln(trenutni^.nmc1); writeln(''); write('Maticna ploca 2 => '); readln(trenutni^.nm2); write('Socket (A/I) => '); readln(trenutni^.socketm2); write('Specifikacija => '); readln(trenutni^.nms2); write('Cijena => '); readln(trenutni^.nmc2); writeln(''); write('Maticna ploca 3 => '); readln(trenutni^.nm3); write('Socket (A/I) => '); readln(trenutni^.socketm3); write('Specifikacija => '); readln(trenutni^.nms3); write('Cijena => '); readln(trenutni^.nmc3); writeln(''); write('Maticna ploca 4 => '); readln(trenutni^.nm4); write('Socket (A/I) => '); readln(trenutni^.socketm4); write('Specifikacija => '); readln(trenutni^.nms4); write('Cijena => '); readln(trenutni^.nmc4); trenutni^.p:=pocetni; pocetni:=trenutni; end;
procedure dodajproc; begin clrscr(); writeln('UNOS NOVIH PROCESORA (KOLICINA - 4)'); writeln('Socketi: A - AMD, I - INTEL'); writeln('======'); write('Procesor 1 => '); readln(trenutni^.np1); write('Socket (A/I) => '); readln(trenutni^.socketp1); write('Specifikacija => '); readln(trenutni^.nps1); write('Cijena => '); readln(trenutni^.npc1); writeln(''); write('Procesor 2 => '); readln(trenutni^.np2); write('Socket (A/I) => '); readln(trenutni^.socketp2); write('Specifikacija => '); readln(trenutni^.nps2); write('Cijena => '); readln(trenutni^.npc2); writeln(''); write('Procesor 3 => '); readln(trenutni^.np3); write('Socket (A/I) => '); readln(trenutni^.socketp3);; write('Specifikacija => '); readln(trenutni^.nps3); write('Cijena => '); readln(trenutni^.npc3); writeln(''); write('Procesor 4 => '); readln(trenutni^.np4); write('Socket (A/I) => '); readln(trenutni^.socketp4); write('Specifikacija => '); readln(trenutni^.nps4); write('Cijena => '); readln(trenutni^.npc4); trenutni^.p:=pocetni; pocetni:=trenutni; end;
procedure dodajgraf; begin clrscr(); writeln('UNOS NOVIH GRAFICKIH KARTI (KOLICINA - 4)'); writeln('======'); write('Graficka karta 1 => '); readln(trenutni^.ng1); write('Specifikacija => '); readln(trenutni^.ngs1); write('Cijena => '); readln(trenutni^.ngc1); writeln(''); write('Graficka karta 2 => '); readln(trenutni^.ng2); write('Specifikacija => '); readln(trenutni^.ngs2); write('Cijena => '); readln(trenutni^.ngc2); writeln(''); write('Graficka karta 3 => '); readln(trenutni^.ng3); write('Specifikacija => '); readln(trenutni^.ngs3); write('Cijena => '); readln(trenutni^.ngc3); writeln(''); write('Graficka karta 4 => '); readln(trenutni^.ng4); write('Specifikacija => '); readln(trenutni^.ngs4); write('Cijena => '); readln(trenutni^.ngc4); trenutni^.p:=pocetni; pocetni:=trenutni; end;
procedure dodajram; begin clrscr(); writeln('UNOS NOVIH MEMORIJA (RAM) (KOLICINA - 2)'); writeln('======'); write('RAM 1 => '); readln(trenutni^.nr1); write('Specifikacija => '); readln(trenutni^.nrs1); write('Cijena => '); readln(trenutni^.nrc1); writeln(''); write('RAM 2 => '); readln(trenutni^.nr2); write('Specifikacija => '); readln(trenutni^.nrs2); write('Cijena => '); readln(trenutni^.nrc2); trenutni^.p:=pocetni; pocetni:=trenutni; end;
procedure dodajdisk; begin clrscr(); writeln('UNOS NOVIH TVRDIH DISKOVA (KOLICINA - 2)'); writeln('======'); write('Tvrdi disk 1 => '); readln(trenutni^.nd1); write('Specifikacija => '); readln(trenutni^.nds1); write('Cijena => '); readln(trenutni^.ndc1); writeln(''); write('Tvrdi disk 2 => '); readln(trenutni^.nd2); write('Specifikacija => '); readln(trenutni^.nds2); write('Cijena => '); readln(trenutni^.ndc2); trenutni^.p:=pocetni; pocetni:=trenutni; end;
procedure dodajnap; begin clrscr(); writeln('UNOS NOVIH NAPAJANJA (KOLICINA - 2)'); writeln('======'); write('Napajanje 1 => '); readln(trenutni^.nn1); write('Specifikacija => '); readln(trenutni^.nns1); write('Cijena => '); readln(trenutni^.nnc1); writeln(''); write('Napajanje 2 => '); readln(trenutni^.nn2); write('Specifikacija => '); readln(trenutni^.nns2); write('Cijena => '); readln(trenutni^.nnc2); trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos maticne} procedure maticna; begin clrscr(); writeln('Raspolozive maticne ploce'); writeln('======'); writeln('1. ',trenutni^.nm1,'; ',trenutni^.socketm1,'; ',trenutni^.nms1,' - ',trenutni^.nmc1,' kn'); writeln('2. ',trenutni^.nm2,'; ',trenutni^.socketm2,'; ',trenutni^.nms2,' - ',trenutni^.nmc2,' kn'); writeln('3. ',trenutni^.nm3,'; ',trenutni^.socketm3,'; ',trenutni^.nms3,' - ',trenutni^.nmc3,' kn'); writeln('4. ',trenutni^.nm4,'; ',trenutni^.socketm4,'; ',trenutni^.nms4,' - ',trenutni^.nmc4,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.mat:=trenutni^.nmc1; 2: trenutni^.mat:=trenutni^.nmc2; 3: trenutni^.mat:=trenutni^.nmc3; 4: trenutni^.mat:=trenutni^.nmc4; end; if trenutni^.mat=trenutni^.nmc1 then ms:=trenutni^.socketm1; if trenutni^.mat=trenutni^.nmc2 then ms:=trenutni^.socketm2; if trenutni^.mat=trenutni^.nmc3 then ms:=trenutni^.socketm3; if trenutni^.mat=trenutni^.nmc4 then ms:=trenutni^.socketm4; a:=trenutni^.mat; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos procesora} procedure procesor; begin clrscr(); trenutni^.socketp1:=p1s; trenutni^.socketp2:=p2s; trenutni^.socketp3:=p3s; trenutni^.socketp4:=p4s; writeln('Raspolozivi procesori'); writeln('======'); writeln('NAPOMENA! Pazi na socket! (A - AMD, I - INTEL)'); if trenutni^.mat=trenutni^.nmc1 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm1,';') else if trenutni^.mat=trenutni^.nmc2 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm2,';') else if trenutni^.mat=trenutni^.nmc3 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm3,';') else if trenutni^.mat=trenutni^.nmc4 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm4,';'); writeln('======'); writeln('1. ',trenutni^.np1,'; ',trenutni^.socketp1,'; ',trenutni^.nps1,' - ',trenutni^.npc1,' kn'); writeln('2. ',trenutni^.np2,'; ',trenutni^.socketp2,'; ',trenutni^.nps2,' - ',trenutni^.npc2,' kn'); writeln('3. ',trenutni^.np3,'; ',trenutni^.socketp3,'; ',trenutni^.nps3,' - ',trenutni^.npc3,' kn'); writeln('4. ',trenutni^.np4,'; ',trenutni^.socketp4,'; ',trenutni^.nps4,' - ',trenutni^.npc4,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.proc:=trenutni^.npc1; 2: trenutni^.proc:=trenutni^.npc2; 3: trenutni^.proc:=trenutni^.npc3; 4: trenutni^.proc:=trenutni^.npc4; end; b:=trenutni^.proc; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos graficke} procedure graficka; begin clrscr(); writeln('Raspolozive graficke karte'); writeln('======'); writeln('1. ',trenutni^.ng1,'; ',trenutni^.ngs1,' - ',trenutni^.ngc1,' kn'); writeln('2. ',trenutni^.ng2,'; ',trenutni^.ngs2,' - ',trenutni^.ngc2,' kn'); writeln('3. ',trenutni^.ng3,'; ',trenutni^.ngs3,' - ',trenutni^.ngc3,' kn'); writeln('4. ',trenutni^.ng4,'; ',trenutni^.ngs4,' - ',trenutni^.ngc4,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.graf:=trenutni^.ngc1; 2: trenutni^.graf:=trenutni^.ngc2; 3: trenutni^.graf:=trenutni^.ngc3; 4: trenutni^.graf:=trenutni^.ngc4; end; c:=trenutni^.graf; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos rama} procedure rammem; begin clrscr(); writeln('Raspolozivi RAM'); writeln('======'); writeln('1. ',trenutni^.nr1,'; ',trenutni^.nrs1,' - ',trenutni^.nrc1,' kn'); writeln('2. ',trenutni^.nr2,'; ',trenutni^.nrs2,' - ',trenutni^.nrc2,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.ram:=trenutni^.nrc1; 2: trenutni^.ram:=trenutni^.nrc2; end; e:=trenutni^.ram; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos diska} procedure disk; begin clrscr(); writeln('Raspolozivi tvrdi diskovi'); writeln('======'); writeln('1. ',trenutni^.nd1,'; ',trenutni^.nds1,' - ',trenutni^.ndc1,' kn'); writeln('2. ',trenutni^.nd2,'; ',trenutni^.nds2,' - ',trenutni^.ndc2,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.di:=trenutni^.ndc1; 2: trenutni^.di:=trenutni^.ndc2; end; d:=trenutni^.di; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura unos napajanja} procedure napajanje; begin clrscr(); writeln('Raspoloziva napajanja'); writeln('======'); writeln('1. ',trenutni^.nn1,'; ',trenutni^.nns1,' - ',trenutni^.nnc1,' kn'); writeln('2. ',trenutni^.nn2,'; ',trenutni^.nns2,' - ',trenutni^.nnc2,' kn'); write('Tvoj izbor => '); readln(i); case i of 1: trenutni^.nap:=trenutni^.nnc1; 2: trenutni^.nap:=trenutni^.nnc2; end; e:=trenutni^.nap; trenutni^.p:=pocetni; pocetni:=trenutni; end;
{Procedura brisanje komponenata} procedure obrisi; begin clrscr(); writeln ('Unesite komponentu koju zelite obrisati iz odabira: '); writeln('1. Maticna ploca'); writeln('2. Procesor'); writeln('3. Graficka kartica'); writeln('4. RAM'); writeln('5. Tvrdi disk'); writeln('6. Napajanje'); write('Tvoj izbor => '); readln(i); case i of 1: begin trenutni^.mat:=0; writeln('Obrisana je maticna!'); end; 2: begin trenutni^.proc:=0; writeln('Obrisan je procesor!'); end; 3: begin trenutni^.graf:=0; writeln('Obrisana je graficka!'); end; 4: begin trenutni^.ram:=0; writeln('Obrisana je RAM!'); end; 5: begin trenutni^.di:=0; writeln('Obrisan je disk!'); end; 6: begin trenutni^.nap:=0; writeln('Obrisano je napajanje!'); end; end; end;
{Procedura ukupna cijena} procedure ukupno; var w,l,m,j,n,q:integer; begin clrscr(); w:=0; l:=0; m:=0; j:=0; n:=0; q:=0; begin w:=trenutni^.mat; l:=trenutni^.proc; m:=trenutni^.graf; j:=trenutni^.ram; n:=trenutni^.di; q:=trenutni^.nap; end; y:=w+l+m+j+n+q; writeln('Cijena i komponente'); writeln('======'); writeln('Ukupna cijena vaseg racunala iznosi = ',y,' kn'); writeln('======'); writeln('Komponente koje ste izabrali:'); writeln(''); {Maticne} writeln('Maticna ploca:'); if trenutni^.mat=trenutni^.nmc1 then writeln('',trenutni^.nm1,'; ',trenutni^.socketm1,'; ',trenutni^.nms1,' - ',trenutni^.nmc1,' kn') else if trenutni^.mat=trenutni^.nmc2 then writeln('',trenutni^.nm2,'; ',trenutni^.socketm2,'; ',trenutni^.nms2,' - ',trenutni^.nmc2,' kn') else if trenutni^.mat=trenutni^.nmc3 then writeln('',trenutni^.nm3,'; ',trenutni^.socketm3,'; ',trenutni^.nms3,' - ',trenutni^.nmc3,' kn') else if trenutni^.mat=trenutni^.nmc4 then writeln('',trenutni^.nm4,'; ',trenutni^.socketm4,'; ',trenutni^.nms4,' - ',trenutni^.nmc4,' kn'); {Procesori} writeln(''); writeln('Procesor:'); if trenutni^.proc=trenutni^.npc1 then writeln('',trenutni^.np1,'; ',trenutni^.socketp1,'; ',trenutni^.nps1,' - ',trenutni^.npc1,' kn') else if trenutni^.proc=trenutni^.npc2 then writeln('',trenutni^.np2,'; ',trenutni^.socketp2,'; ',trenutni^.nps2,' - ',trenutni^.npc2,' kn') else if trenutni^.proc=trenutni^.npc3 then writeln('',trenutni^.np3,'; ',trenutni^.socketp3,'; ',trenutni^.nps3,' - ',trenutni^.npc3,' kn') else if trenutni^.proc=trenutni^.npc4 then writeln('',trenutni^.np4,'; ',trenutni^.socketp4,'; ',trenutni^.nps4,' - ',trenutni^.npc4,' kn'); {Graficke} writeln(''); writeln('Graficka karta:'); if trenutni^.graf=trenutni^.ngc1 then writeln('',trenutni^.ng1,'; ',trenutni^.ngs1,' - ',trenutni^.ngc1,' kn') else if trenutni^.graf=trenutni^.ngc2 then writeln('',trenutni^.ng2,'; ',trenutni^.ngs2,' - ',trenutni^.ngc2,' kn') else if trenutni^.graf=trenutni^.ngc3 then writeln('',trenutni^.ng3,'; ',trenutni^.ngs3,' - ',trenutni^.ngc3,' kn') else if trenutni^.graf=trenutni^.ngc4 then writeln('',trenutni^.ng4,'; ',trenutni^.ngs4,' - ',trenutni^.ngc4,' kn'); {RAM} writeln(''); writeln('RAM:'); if trenutni^.ram=trenutni^.nrc1 then writeln('',trenutni^.nr1,'; ',trenutni^.nrs1,' - ',trenutni^.nrc1,' kn') else if trenutni^.ram=trenutni^.nrc2 then writeln('',trenutni^.nr2,'; ',trenutni^.nrs2,' - ',trenutni^.nrc2,' kn'); {Tvrdi diskovi} writeln(''); writeln('Tvrdi disk:'); if trenutni^.di=trenutni^.ndc1 then writeln('',trenutni^.nd1,'; ',trenutni^.nds1,' - ',trenutni^.ndc1,' kn') else if trenutni^.di=trenutni^.ndc2 then writeln('',trenutni^.nd2,'; ',trenutni^.nds2,' - ',trenutni^.ndc2,' kn'); {Napajanja} writeln(''); writeln('Napajanje:'); if trenutni^.nap=trenutni^.nnc1 then writeln('',trenutni^.nn1,'; ',trenutni^.nns1,' - ',trenutni^.nnc1,' kn') else if trenutni^.nap=trenutni^.nnc2 then writeln('',trenutni^.nn2,'; ',trenutni^.nns2,' - ',trenutni^.nnc2,' kn'); {Usporedbe socketa} writeln(''); if trenutni^.mat=trenutni^.nmc1 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm1,';') else if trenutni^.mat=trenutni^.nmc2 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm2,';') else if trenutni^.mat=trenutni^.nmc3 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm3,';') else if trenutni^.mat=trenutni^.nmc4 then writeln('Socket trenutno odabrane maticne ploce: ',trenutni^.socketm4,';'); if trenutni^.proc=trenutni^.npc1 then writeln('Socket trenutno odabranog procesora: ',trenutni^.socketp1,';') else if trenutni^.proc=trenutni^.npc2 then writeln('Socket trenutno odabranog procesora: ',trenutni^.socketp2,';') else if trenutni^.proc=trenutni^.npc3 then writeln('Socket trenutno odabranog procesora: ',trenutni^.socketp3,';') else if trenutni^.proc=trenutni^.npc4 then writeln('Socket trenutno odabranog procesora: ',trenutni^.socketp4,';'); readln; end;
{O programu} procedure opis; begin clrscr(); writeln('O programu'); writeln('======'); writeln('Program za odabir konfiguracije za seminar iz informatike.'); writeln('Napravio Dino Dzafovic, Lipanj 2012.'); writeln('Pritisnite <ENTER> da bi se vratili u izbornik.'); readln; end;
begin new(trenutni); clrscr(); repeat clrscr(); writeln('Dodavanje komponenata'); writeln('======'); writeln('1. Dodaj maticne ploce'); writeln('2. Dodaj procesore'); writeln('3. Dodaj graficke karte'); writeln('4. Dodaj RAM'); writeln('5. Dodaj tvrdi disk'); writeln('6. Dodaj napajanje'); writeln('======'); writeln('0. Pokreni Program'); writeln('======'); write('Tvoj izbor => '); readln(x); case x of 0: x:=0; 1: dodajmat; 2: dodajproc; 3: dodajgraf; 4: dodajram; 5: dodajdisk; 6: dodajnap; end; until x=0; pocetni:=NIL; repeat clrscr(); writeln('Program za odabir konfiguracije racunala'); writeln('======'); writeln('1. Odaberi maticnu plocu'); writeln('2. Odaberi procesor'); writeln('3. Odaberi graficku karticu'); writeln('4. Odaberi RAM'); writeln('5. Odaberi tvrde diskove'); writeln('6. Odaberi napajanja'); writeln('======'); writeln('7. Obrisi komponentu'); writeln('8. Prikazi cijenu'); writeln('======'); writeln('9. O programu'); write('Tvoj izbor => '); readln(i); case i of 1: maticna; 2: procesor; 3: graficka; 4: rammem; 5: disk; 6: napajanje; 7: obrisi; 8: ukupno; 9: opis; end; until i=0; end.
|