Geçen seneki devlerden biriydi, belki birilerinin işine yarar diye paylaşayım dedim. program yol_bilgisayari; uses crt; type yolBilgisayari = object public depoLimiti : integer; maxHiz : integer; alinacakBenzin : single; gidilecekYol : single; genelKm : single; yerelKm : single; depodaKalanYakit : single; hiz : single; toplamZaman : single; yanacakBenzin : single; harcanmisYakit : single; function ortHizDondur : single; function ortYakitDondur : single; procedure sabitleriAta; procedure aracSur; procedure benzinAl; procedure kmSifirla; procedure gKmGoster; procedure yKmGoster; procedure ortHiz; procedure ortYakit; procedure depodakiYakit; procedure menzil; end; var secim : char; bilg : yolBilgisayari; procedure islemMenusu;forward; procedure anaMenu;forward; procedure yolBilgisayariMenusu;forward; function yolBilgisayari. ortHizDondur : single; begin if ((yerelKm <> 0) and (toplamZaman <> 0)) then result := ((yerelKm 60) / toplamZaman); if ((yerelKm = 0) or (toplamZaman = 0)) then result := 0; end; function yolBilgisayari. ortYakitDondur : single; begin if ((harcanmisYakit <> 0) and (yerelKm <> 0)) then result := ((harcanmisYakit 100)/yerelKm); if ((harcanmisYakit = 0) or (yerelKm = 0)) then result := 0; end; procedure yolBilgisayari. sabitleriAta; begin maxHiz := 220; depoLimiti := 60; end; procedure yolBilgisayari. aracSur; begin clrscr; if (depodaKalanYakit = 0) then begin writeln ; readKey; islemMenusu; end; if (depodaKalanYakit > 0) then begin writeln ; readln ; writeln ; readln ; if then begin writeln('Aracin azami hizi saatte 220 kilometredir, daha hizli gidemezsiniz!'); readKey; islemMenusu; end; if then begin if (hiz<=50) and (hiz>0) then yanacakBenzin := 15; if (hiz<=75) and (hiz>50) then yanacakBenzin := 9; if (hiz<=110) and (hiz>75) then yanacakBenzin := 6; if and (hiz>110) then yanacakBenzin := 12; if /100) <= depodaKalanYakit) then begin clrscr; genelKm += gidilecekYol; yerelKm += gidilecekYol; toplamZaman += ((gidilecekYol 60)/hiz); depodaKalanYakit -= /100); harcanmisYakit += /100); writeln(gidilecekYol:0:1,' km gidildi.'); writeln /100):0:1,' lt benzin harcandi.'); writeln 60):0:1,' dk gecti.'); readKey; islemMenusu; end; end; end; end; procedure yolBilgisayari. benzinAl; begin clrscr; writeln ; readln ; if <= depoLimiti) then begin depodaKalanYakit := depodaKalanYakit + alinacakBenzin; writeln('Su anda depoda ', depodaKalanYakit:0:1,' litre benzin bulunmaktadir'); readKey; islemMenusu; exit; end; if > depoLimiti) then begin writeln('Depo limiti 60 litre, daha fazla benzin alamazsiniz!'); writeln('Su anda depoda ', depodaKalanYakit:0:1,' litre benzin bulunmaktadir.'); readKey; islemMenusu; exit; end; end; procedure yolBilgisayari. kmSifirla; begin clrscr; yerelKm := 0; toplamZaman := 0; harcanmisYakit := 0; writeln ; readKey; islemMenusu; end; procedure yolBilgisayari. gKmGoster; begin clrscr; writeln('İlk gunden beri ', genelKm:0:1,' km yol gidildi.'); readKey; yolBilgisayariMenusu; end; procedure yolBilgisayari. yKmGoster; begin clrscr; writeln('Son sifirlamadan sonra ', yerelKm:0:1,' km yol gidildi.'); readKey; yolBilgisayariMenusu; end; procedure yolBilgisayari. ortHiz; begin clrscr; if(ortHizDondur <> 0) then begin writeln('Ortalama hiz ', ortHizDondur:0:1,' kilometredir.'); readKey; yolBilgisayariMenusu; end; if(ortHizDondur = 0) then begin writeln ; readKey; yolBilgisayariMenusu; end; end; procedure yolBilgisayari. ortYakit; begin if (ortYakitDondur <> 0) then begin clrscr; writeln('Ortalama yakit tuketimi ', ortYakitDondur:0:1,' litredir.'); readKey; yolBilgisayariMenusu; end; if (ortYakitDondur = 0) then begin clrscr; writeln ; readKey; yolBilgisayariMenusu; end; end; procedure yolBilgisayari. depodakiYakit; begin clrscr; writeln('Su anda depoda ', depodaKalanYakit:0:1,' litre benzin bulunmaktadir.'); readKey; yolBilgisayariMenusu; end; procedure yolBilgisayari. menzil; begin clrscr; if (ortHizDondur = 0) or (depodaKalanYakit = 0) or (yanacakBenzin = 0) then begin writeln ; readKey; yolBilgisayariMenusu; end; if (ortHizDondur<=50) and (ortHizDondur>0) then yanacakBenzin := 15; if (ortHizDondur<=75) and (ortHizDondur>50) then yanacakBenzin := 9; if (ortHizDondur<=110) and (ortHizDondur>75) then yanacakBenzin := 6; if and (ortHizDondur>110) then yanacakBenzin := 12; writeln('Depodaki benzinle saatte ', ortHizDondur:0:1,' km hiz ile ', 100):0:1,' km yol gidilebilir.'); readKey; yolBilgisayariMenusu; end; procedure islemMenusu; begin clrscr; writeln('1 - Araci sur'); writeln('2 - Benzin al'); writeln('3 - Yerel kilometre bilgisini sifirla'); writeln('4 - Ana menuye don'); secim := readKey; case secim of '1' : bilg. aracSur; '2' : bilg. benzinAl; '3' : bilg. kmSifirla; '4' : anaMenu; else islemMenusu; end; end; procedure yolBilgisayariMenusu; begin clrscr; writeln('1 - Genel kilometre goster'); writeln('2 - Yerel kilometre goster'); writeln('3 - Ortalama hiz'); writeln('4 - Ortalama yakit tuketimi'); writeln('5 - Depodaki yakit'); writeln('6 - Menzil'); writeln('7 - Ana menuye don'); secim := readKey; case secim of '1' : bilg. gKmGoster; '2' : bilg. yKmGoster; '3' : bilg. ortHiz; '4' : bilg. ortYakit; '5' : bilg. depodakiYakit; '6' : bilg. menzil; '7' : anaMenu; else yolBilgisayariMenusu; end; end; procedure anaMenu; begin clrscr; writeln('1 - Islemler'); writeln('2 - Yol Bilgisayari'); writeln('3 - Cikis'); secim := readKey; case secim of '1' : islemMenusu; '2' : yolBilgisayariMenusu; '3' : halt; else anaMenu; end; end; begin bilg. sabitleriAta; anaMenu; end. :)

Emegne saglik hocam guzel calisma soralım ğrenelim, ğrenelim soralım.

Eyvallah. Programlamaya ilk başladığım dil :) echo "imzanız zel karakter içermemelidir";