Bu sayfadaki yazılar
Sayfanın metni
Sayfa 77
1230 RESTORE 1210.FOR P=1 TO 12.READ AY$(P):NEXT P 1240 CLS:RESTORE:LOCATE 5,1 :GOSUB 1650 1250 ON S GOSUB 110,300,1420,1320,3000,1990 1300 GOTO 1200 1^10 REM *************** KAYIT ************* 1330 OPEN AYY$ FOR OUTPUT AS #1 1340 WRITE #1,BOL 1350WRITE#1,GELIR 1360 FOR X=1 TO 10:WRITE#1,A(X):NEXT X 1390 CLOSE #1 1400 RETURN 1410 REM *************** OKUMA ************** 1430 CLS.LOCATE 11, 0:INPUT "HANGI AY :";AYY$ 3 1460 OPEN T\#1,AYY$ 1470 INPUT #1,BOL 1480 INPUT #1,GELIR 1490 FOR X=1 TO 10.INPUT #1,A(X):NEXT X 1520 CLOSE #1 1530 RETURN 1540 REM ************* HATA *********** 1560 LOCATE 1,1:PRINT " HATA VAR !... M:RESUME NEXT 1570 IF (ERR=53) AND (ERL=3060) THEN RESUME NEXT 1580 IF (ERR=53) AND (ERL=1460) THEN RESUME NEXT 1610 LOCATE 22,45: PRINT "GELIRIN ZI ASTINIZ!..." I 1620 E$=INKEY$:IF E$="" THEN 1620 1630 GOTO 1200 1660 CLS:LINE (234,15)-(356,24)„B 1680 LOCATE 3,31: PRINT " M I D S O F T " 1700 LINE (175,30)-(413,40)„B 1710 LOCATE 5,23: PRINT " WRITTEN BY MEHMET DEVELIOGLU" 1730 LINE (175,45)-(413,97)„B 1740 LOCATE 7,25:PRINT " 1> YENI GIRIS H 1760 LOCATE 8,25:PRINT " 2> GRAFIK DOKUMU" 1780 LOCATE 9,25:PRINT " 3> DISKTEN OKUMA" 1800 LOCATE 10,25:PRINT " 4> DISKE KAYIT" 1820 LOCATE 11,25:PRINT " 5> ANALIZ" 1825 LOCATE 12,25:PRINT " 6> SON" 1840 LINE (15,100)-(605,160)„B 1850 LOCATE 15,3 1860 PRINT " BU PROGRAM AYLIK HARCAMALARINIZI AYRI AYRI DOSYALAR HALINDE SAKLAR VE" 1870 LOCATE 16,3 1880 PRINT " ISTENDIGINDE DISKETTEN GERI CAGIRARAK ISTENILEN DEGISIKLIGI VEYA ANALIZ" 1890 LOCATE 17,3 1900 PRINT " YAPMA IMKANI VERIR " 1910 LOCATE 20,3 1920 PRINT " ADRES.NATO CADDESI TURKAY SOKAK YILDIZ AP. A.BLOK PK:2 38010 KAYSERI " 1950 LINE (234,165)-(356,178)„B 1960 LOCATE 22,43:PRINT " ":LOCATE 22,31 .PRINT "SECIMINIZ =" 1970 LOCATE 22,43:PRINT "*":W$=INKEY$:IF W$=""THEN 1960 1975 IF W$ < "1" OR W$ > "6" THEN 1960 1980 S=VAL(W$):RETURN 1990 REM * PROGRAMDAN CIKIS * 2000 CHDIR "dfO:" 2010 WINDOW CLOSE 2:WINDOW OUTPUT 1 -.SCREEN CLOSE 1 -.END 3000 REM ****** ANALIZ BOLUMU ******* 3001 CLS:RESTORE 3002:FOR X=1 TO 10:READ A$(X):NEXT X 3002 DATA "KIRA","YAKIT","YIYECEK","GIYIM","ULASTIRMA","KIRTASIYE" 3003 DATA "EGLENCE","SAGLIK","DIGERLERI","TASARRUF" 3030 CLS:FOR X=1 TO 10:LOCATE 2+X,2 3040 PRINT X;">";A$(X):NEXT X 3050 PRINT .PRINT :PRINT -.INPUT "ANALIZI YAPILACAK GIDER TURUNUN NUMARASI = ",NUM 3055 FOR S=1 TO 12 -.WINDOW OUTPUT 2 3060 OPEN T',#1,AY $(S) 3070 INPUT #1,BOL 3080 INPUT #1,GELIR 3090 FOR X=1 TO 10:INPUT #1,A(X):NEXT X 3100 CLOSE #1 3110ANA(S)=A(NUM):ATG(S)=GELIR:A(NUM)=0 3120 NEXT S 3130 CLS 3131 SCREEN 1,640,240,2,2 3132 WINDOW 2," B U T C E K O N T R O L (C) COPYRIGHT 1989 BY MIDSOFT',,16,1 3133 WINDOW OUTPUT 2 ::YUZDE1=0:YUTO=0 3140 FOR C=1 TO 12 3150 LOCATE (3+C),3 3160 PRINT TAB(1) AY$ C);TAB(9) "ICIN";TAB(14) A$(NUM) ( 3165 LOCATE (4+C),24 3170 PRINT " GIDERI ";:PRINT USING "#########";ANA(C);:PRINT "._TL OLMUSTUR."; 3172 IF ANA(C)=0 THEN ANA(C)=.00001 3173 IF ATG(C)=0 THEN ATG(C)=1 3174YUZDE=ANA(C)/ATG(C)*100:YUTO=YUTO+YUZDE 3175 LOCATE (4+C),55:PRINT " AYLIK'A ORANI = %";:PRINT USING "###";YUZDE;:IF YUZDE>YUZDE1 THEN PRINT " +" ELSE PRINT " -" 3190 YUZDE1=YUZDE -.NEXT C 3195 YTG#=0:FOR T=1 TO 12:YTG#=YTG#+ATG(T):NEXT T 3200 LOCATE 18,1 3210 PRINT " YILLIK TOPLAM GELIRINIZ =";YTG#;" ORTALAMA %=";:PRINT USING "###.#";YUTO/12 3220 Q$=INKEY$:IF Q$="" THEN 3220 3230 RETURN AMIGA DUNYASI93
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 76
Bu ay madem ki şahsi kullanımlarınıza uygun programlar ile başladık, aynı şekilde devam edelim. Bu ayki ikinci programımız bir başka Amiga kullanıcısı Mehmet DEVELİOĞLU'ndan. Bütçenizi hesaplamak, aylara göre analiz yapmak ve grafiğini çizdirmek için rahatlıkla kullanabileceğiniz BÜTÇE programı, kendi yazacağınız programlarda da size kaynak teşkil edebilecek nitelikte. Programda kullanılan dosyalar, sequential olarak açılmıştır. Menü seçenekleri ile bilgi girişi yapılıp kaydedilen bütçe gider verileri, programın analiz bölümüne girilip harcama kalemi seçilerek analiz edilebilir, grafik bölümünde bar grafik olarak görülebilir. Analiz bölümünde, seçilen harcama kaleminin bir yıl içindeki aylık gelirlere oranı ve bir önceki ay yüzdesine göre artış ya da azalışı '+' ve '-' olarak gösterilmiştir. Kayıt okuma sırasında, istenen 'hangi ay' sorusunun yanıtı, diskete daha önce kaydedilen aylık veri içeren dosyanın ismi olmalıdır. Dosyalara istenen ismi vermek mümkün; 0, 1, Ocak, 01, OCAK 1990 gibi. Giriş esnasında, aylık net geliriniz de sorulacaktır. Girişlerde gerçek dışı veriler girilmesi ya da aylık gelirin aşılması durumunda program ana menüye dönecektir.
10 SCREEN 1,640,240,2,2 20 WINDOW 2, " B U T C E K O N T R O L (C) COPYRIGHT 1989 BY MIDSOFT",16,1 30 WINDOW OUTPUT 2 40 DIM A(10),A$(10),AY$(12),AT(120),ANA(12),ATG(12) 50 W=1 :WW=1 :TPL=0 70ONERRORGOTO1540 80 CHDIR "df0:":GOTO 1200 100 REM ************ GIRIS *********** 110CLS:GOSUB930 130 FOR X=1 TO 10:READ A$(X):NEXT X:FOR X=1 TO 10:A(X)=0:NEXT X :TPL=0 140 LOCATE 5,1:INPUT 'HANG AY :";AYY$:AYY$=UCASE$(AYY$):GOSUB 1060 İ 160 LOCATE 1,45:PRINT AYY$; 180 FOR X=1 TO 9: LOCATE 5,1: PRINT " "; 210 LOCATE 5,1 :PRINT A$(X);:INPUT :A(X) 230 LOCATE 2+X,42:PRINT X;V*;A$(X);USING "#########.##" :A(X) 250 TPL=TPL+A(X):LOCATE 14,40:PR NT " TOPLAM = M:TPL:
M GELİR = ":GELIR I 260 IF TPL>GELIR THEN GOTO 1600 270 NEXT X 275 A(10)=GELIR-TPL:LOCATE 12,42:PRINT "10 >";A$(10);USING "#########.##" :A( 10) 280 Q$=INKEY$:IF Q$="" THEN 280 285 RETURN 290 REM **************** GRAFİK *************** 300 CLS:FOR X=1 TO 10:READ A$(X):NEXT X 330 DATA "KIRA :","YAKIT :","YIYECEK :","GIYIM :","ULASTIRMA :","KIRTASIYE :" 340 DATA "EĞLENCE :","S GLIK :","DIGERLERI :","TASARRUF :" A 350 LOCATE 1,45:PRINT AY$ 370 FOR X=1 TO 10:LOCATE 2+X,42 390 PRINT X;">";A$(X);USING "#########.##" ;A(X):NEXT X 410 LINE (14,160)-(15,10)„B 420 LOCATE 21,1:PRINT "0":LOCATE 14,1:PRINT H5
M 440 LOCATE 8,1:PRINT "10":LOCATE 2,1:PRINT W15
M 460 LINE (15,160)-(475,161)„B 470 LOCATE 22,1 :PRINT " 1 2 3 4 5 6 7 8 9 1 0" 480 LOCATE 20,44:PRINT BOLM0;"._ TL OLARAK" 490 REM ** BAR GRAFİK ICIN HESAPLAMALAR ** 500 FOR X=1 TO 10:A1=A(X)/BOL 520 FOR Y=1 TO A1:LINE (30*X,160-Y)-((30*X)+15,160-Y):NEXT Y 550 LINE (30*X+25,160)-(30*X+25,155-A1) :REM *** dik uzun çizgi 560 LINE (30*X+15,160-A1)-(30*X+25,155-A1) :REM sağdaki / 570 LINE (30*X,160-A1)-(30*X+10,155-A1) :REM soldaki / 580 LINE (30*X+10,155-A1)-(30*X+25,155-A1) :REM ust - 590 NEXT X 600 REM ****************** DEĞİŞTİRME *************** 610 LOCATE 15,45:INPUT "DEĞİŞİM İSTİYOR MUSUNUZ? [E/H] ",C$:C$=UCASE$(C$) 640 IF C$="H" OR C$="" THEN GOTO 1200 650 LOCATE 16,46: INPUT "KA NO'LU MASRAF";M C 670 IF M<1 OR M>10 THEN 650 680 LOCATE 17,45:PRINT "ESKİ DEĞERİ =";A(M) 700 LOCATE 18,45:INPUT "YENİ DEĞER =";Y 720 A(M)=Y:X=M:A1=Y/BOL:GOSUB 800 760 LINE (350,105)-(620,150),0,BF:GOTO 610 780 RESTORE 30 3 810GOSUB900 820 FOR Y=1 TO A1 :LINE (30*X,160-Y)-((30*X)+15,160-Y):NEXT Y 850 ÜNE (30*X+25,160)-(30*X+25,155-A1) :REM *** dik uzun çizgi 860 LINE (30*X+15,160-A1)-(30*X+25,155-A1) :REM sağdaki / 870 LINE (30*X,160-A1)-(30*X+10,155-A1) :REM soldaki / 880 LINE (30*X+10,155-A1)-(30*X+25,155-A1) :REM ust - 890 RETURN 910 LINE (30*X,159)-(30*X+25,1),0,BF:RETURN 940 CLS:LOCATE 11,27:INPUT "AYLIK GELİRİNİZ =";GELIR 970 IF GELİR >1500000000& THEN BOL=30000000&:GOTO 1030 980 IF GELİR >150000000& THEN BOL=3000000&:GOTO 1030 990 IF GELİR >15000000& THEN BOL=300000&:GOTO 1030 1000 IF GELİR >1500000& THEN BOL=30000&:GOTO 1030 1010 IF GELİR >150000& THEN BOL=3000:GOTO 1030 1020BOL=300 1040CLS:RETURN 1050 FOR 0=1 TO 12 1060 IF LEFT$(AY$(0),LEN(AYY$))=AYY$ THEN AY=0:NEXT O 1190 RETURN 1210 DATA OCAK,SUBAT,MART,NISAN,MAYIS,HAZIRAN,TEMMUZ 1220 DATA AGUSTOS,EYLUL,EKIM,KASIM,ARALIK