ANSI C
Telefon Rehberi v.3
by Hasan İbrahim Kozan on Tem.19, 2010, under ANSI C, Bilgisayar(Teknik), Çalışamlarım, Ödevler
// Tel Rehberi v.1..c // // Copyright 2010 Hasan İbrahim Kozan <hasanibrahim@Hasanibrahim> // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, // MA 02110-1301, USA. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> void ekle (void) { //add function baslangic: printf("Lutfen gorunen bilgileri yazarak enter e basiniz\n"); // fill the informations and press enter char adi[20]={0}; printf("Adiniz:"); // name scanf("%s",adi); char soyadi[20]={0}; printf("\nSoyAdiniz:"); //surname scanf("%s",soyadi); char Telefonu[20]={0}; printf("\nTelefon:"); //phne scanf("%s",Telefonu); char Diger[20]={0}; printf("\nDiger Bilgiler:");//other scanf("%s",Diger); printf ("Girilen Bilgiler Asagidaki gibidir\n"); // your informations are below printf("Adiniz: %s \nSoyadiniz: %s \nTelefonunuz: %s \n Diger: %s \n", adi, soyadi, Telefonu, Diger); //informations printf("\n onayliyormusunuz 1. Evet 2. Hayir\n"); // agree ? 1 for yes 2 for no int onay=0; // scanf("%d", &onay); if (onay==2) goto baslangic; else { FILE *veritabani; veritabani = fopen( "veritabanidosyasi.txt", "a" ); if((veritabani = fopen("veritabanidosyasi.txt","a"))== NULL) printf("Error 31: Dosya acma/okuma yazma hatasi\n cikmak icin 3 e basin, yeniden denemek icin 1 e \n"); printf("Ekleniyor....\n"); fprintf (veritabani, "%s\t %s\t %s\t %s \n", adi, soyadi, Telefonu, Diger); printf("Ekleme Basarili.\n"); fclose(veritabani); printf("... Dosya kapandi.. \n"); } } void listele () { char birkelime[100]; char *c; FILE *veritabani; veritabani = fopen("veritabanidosyasi.txt","r"); do { c = fgets(birkelime,100,veritabani); if (c != NULL) printf("%s",birkelime); } while (c != NULL); fclose(veritabani); } void arama() { char adi[20]={0}; char soyadi[20]={0}; char Telefonu[20]={0}; char Diger[20]={0}; char ara[20]={0}; int say=0; FILE *veritabani; veritabani=fopen("veritabanidosyasi.txt","r"); printf ("Aranacak arguman="); scanf ("%s",ara); while (fscanf(veritabani,"%s\t %s\t %s\t %s", adi, soyadi, Telefonu, Diger)!= EOF) { if (strcmp (ara,adi) == 0 || strcmp (ara,soyadi) == 0 || strcmp (ara,Telefonu) == 0 || strcmp (ara,Diger) == 0 ) { say++; if (say>0) printf ("%s\t %s\t %s\t %s\n ", adi, soyadi, Telefonu, Diger); } } if (say==0) { printf ("Kayit bulunamadi\n"); } fclose(veritabani); } int main (int argc, char *argv[]) { int secim; while (1) { printf ("1- Ekleme\n" "2- Listeleme\n" "3- Arama\n" "4- Cikis\n\n"); printf ("Seciminizi giriniz: "); scanf ("%d", &secim); if (isdigit(secim)) { if (secim == 1) { ekle(); } else if (secim == 2) { listele(); } else if (secim == 3) { arama(); } else if (secim == 4) { break; } } else { printf("Lutfen 1-4 arasi sayi giriniz\n"); } } return 0; }
C Programlama Dili ile Gelişmiş GUİ siz Telefon Rehberi (Arama fonksiyonlu) ve yakında düzeltme fonksiyonlu :)
by Hasan İbrahim Kozan on Tem.16, 2010, under ANSI C, Bilgisayar(Teknik), Çalışamlarım, Ödevler
#include <stdio.h> #include <stdlib.h> void ekle (void) { //add function baslangic: printf("Lutfen gorunen bilgileri yazarak enter e basiniz\n"); // fill the informations and press enter char adi[20]={0}; printf("Adiniz:"); // name scanf("%s",adi); char soyadi[20]={0}; printf("\nSoyAdiniz:"); //surname scanf("%s",soyadi); char Telefonu[20]={0}; printf("\nTelefon:"); //phne scanf("%s",Telefonu); char Diger[20]={0}; printf("\nDiger Bilgiler:");//other scanf("%s",Diger); printf ("Girilen Bilgiler Asagidaki gibidir\n"); // your informations are below printf("Adiniz: %s \nSoyadiniz: %s \nTelefonunuz: %s \n Diger: %s \n", adi, soyadi, Telefonu, Diger); //informations printf("\n onayliyormusunuz 1. Evet 2. Hayir\n"); // agree ? 1 for yes 2 for no int onay=0; // scanf("%d", &onay); if (onay==2) goto baslangic; else { FILE *veritabani; veritabani = fopen( "veritabanidosyasi.txt", "a" ); if((veritabani = fopen("veritabanidosyasi.txt","a"))== NULL) printf("Error 31: Dosya acma/okuma yazma hatasi\n cikmak icin 3 e basin, yeniden denemek icin 1 e \n"); printf("Ekleniyor....\n"); fprintf (veritabani, "%s\t %s\t %s\t %s \n", adi, soyadi, Telefonu, Diger); printf("Ekleme Basarili.\n"); fclose(veritabani); printf("... Dosya kapandi.. \n"); } } void listele () { char birkelime[100]; char *c; FILE *veritabani; veritabani = fopen("veritabanidosyasi.txt","r"); do { c = fgets(birkelime,100,veritabani); if (c != NULL) printf("%s",birkelime); } while (c != NULL); fclose(veritabani); } void arama() { char adi[20]={0}; char soyadi[20]={0}; char Telefonu[20]={0}; char Diger[20]={0}; char ara[20]={0}; int say=0; FILE *veritabani; veritabani=fopen("veritabanidosyasi.txt","r"); printf ("Aranacak arguman="); scanf ("%s",ara); while (fscanf(veritabani,"%s\t %s\t %s\t %s", adi, soyadi, Telefonu, Diger)!= EOF) { if (ara==adi || ara == soyadi || ara == Telefonu || ara == Diger ) { say++; if (say>0) printf ("%s\t %s\t %s\t %s\n ", adi, soyadi, Telefonu, Diger); } } if (say==0) { printf ("Kayit bulunamadi\n"); } fclose(veritabani); } int main (int argc, char *argv[]) { int secim; while (1) { printf ("1- Ekleme\n" "2- Listeleme\n" "3- Arama\n" "4- Cikis\n\n"); printf ("Seciminizi giriniz: "); scanf ("%d", &secim); if (secim == 1) { ekle(); } else if (secim == 2) { listele(); } else if (secim == 3) { arama(); } else if (secim == 4) { break; } } return 0; }
C Programlama Dili ile telefon rehberi hazırlama listeleme, ekleme, bulma
by Hasan İbrahim Kozan on Tem.16, 2010, under ANSI C, Bilgisayar(Teknik), Çalışamlarım, Ödevler
Programı uzun uzadıya anlatmaktansa ornek screenshot daha kolay olur diye dusundum.
Lutfen dikkatli inceleyiniz, sorunuz varsa sorunuz

#include #include void cik () { exit(1); }; void listele () { char birkelime[100]; char *c; FILE *veritabani; veritabani = fopen("ibrahimkozan_db.txt","r"); do { c = fgets(birkelime,100,veritabani); if (c != NULL) printf("%s",birkelime); } while (c != NULL); fclose(veritabani); } int main(int argc, char *argv[]) { baslangic: printf("Lutfen gorunen basit bilgileri yazarak enter e basiniz\n"); char adi[20]={0}; printf("Adiniz:"); scanf("%s",adi); char soyadi[20]={0}; printf("\nSoyAdiniz:"); scanf("%s",soyadi); char Telefonu[20]={0}; printf("\nTelefon:"); scanf("%s",Telefonu); char Diger[20]={0}; printf("\nDiger Bilgiler:"); scanf("%s",Diger); printf ("Girilen Bilgiler Asagidaki gibidir\n"); printf("Adiniz: %s -girdi-sonu \nSoyadiniz: %s girdi-sonu \nTelefonunuz: %s girdi-sonu\n Diger: %s girdi-sonu\n", adi, soyadi, Telefonu, Diger); FILE *veritabani; veritabani = fopen( "ibrahimkozan_db.txt", "a" ); if((veritabani = fopen("ibrahimkozan_db.txt","a"))== NULL) printf("Error 31: Dosya acma/okuma yazma hatasi\n cikmak icin 3 e basin, yeniden denemek icin 1 e \n"); int onay; printf("\nonayliyormusunuz 1. Evet 2. Hayir"); scanf("%d", &onay); if (onay == 2) goto baslangic; else { ;printf("Ekleniyor....\n"); fprintf (veritabani, "%s\t %s\t %s\t %s \n", adi, soyadi, Telefonu, Diger); printf("Ekleme Basarili.\n"); fclose(veritabani); printf("... Dosya kapandi.. \n"); printf("Listeyi Gormek icin 1 e, Yeni Kayit Ekleme icin 2 ye , Cikmak icin 3 e basiniz\n"); int secenek; scanf("%d", &secenek); if (secenek == 1) listele(); if (secenek == 2) goto baslangic; if (secenek == 3) cik(); } return 0; }
C Programlama Dili ile 10 luk Tabandan İstenilen Tabana Geçme
by Hasan İbrahim Kozan on Tem.15, 2010, under ANSI C, Bilgisayar(Teknik), Çalışamlarım, Ödevler
#include <stdio.h> #include <stdlib.h> int main (void) { int ilk,sayi,sayi2,taban,taban2, kalan, bolum,sayac=0,c; printf("Lutfen sayi giriniz\n"); scanf("%d", &sayi); printf("Lutfen taban giriniz\n"); scanf("%d", &taban); sayi2=sayi;taban2=taban; ilk=sayi; for (c=0;c<sayi;c++) { if (sayi2/taban2 > taban2) {sayi2/=taban2; sayac++;} else break; } sayac+=1; int dizi,i[sayac]; dizi=sayac-1;//cunku sayac 1 den basladi, dizi 0 dan do { bolum=sayi/taban; kalan=sayi-taban*bolum; i[dizi]=kalan; sayi=bolum; dizi--; } while (sayi>taban); printf("%d(10) = %d",ilk, sayi);//bunun burda ne isi var?el-cevap: bolmenin en sonundaki bolum, ilk basamk olacak :) for (dizi=0; dizi<sayac; dizi++) printf("%d", i[dizi]); printf("(%d)",taban); return 0; }
C programlama dili ile dikdortgen yapma/çizme
by Hasan İbrahim Kozan on Kas.14, 2009, under ANSI C
/* * Dikdortgen.c * * Copyright 2009 Hasanibrahim hasan@ibrahimkozan.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int kisakenar,uzunkenar, bosluk , i,j,k; printf ("kisa kenar ="); scanf("%d",&kisakenar); printf("\n"); printf("uzun kenar ="); scanf("%d", &uzunkenar); printf("\n"); bosluk=(uzunkenar-2)*2+1; kisakenar=kisakenar-2; for (i=0;i<uzunkenar;i++)//Bu ust kenar { printf("* "); } printf("\n"); for(j=0;j<kisakenar;j++)//Burası da orta icin { printf ("*"); for(k=0;k<bosluk;k++) { printf(" "); } printf("*\n"); } for (i=0;i<uzunkenar;i++)//Bu alt kenar {printf("* ");}printf("\n"); system("PAUSE"); return 0; }
Hemen Açıklamaya Geçelim.
Uzun kenar ve kısa kenar kontrolü için ;
while (shortedge<longadge)
deyimini kullanabilirsiniz.
Karakterler arasına bir boşluk koydum, bunu kaldırmak için
bir kaç ufak düzenleme yapmaniz gerekir.
İlk olarak
{printf("* ");}printf("\n");
bu deyimi
{printf("*");}printf("\n");
buna
İkinci olarak
space=(longedge-2)*2+1;
bu deyimi
space=(longedge-2);
buna çevirmeniz gerekir.
Hepsi bu kadar
Umarım yararlı olur, Hasan İbrahim
C Programlama dili ile Bileske ( Bilesik ) Faiz Hesaplaması
by Hasan İbrahim Kozan on Mar.10, 2009, under Ödevler

#include stdio.h #include stdlib.h main() { int yil=0; float senin_paran; printf("parani gir man ORN: 1000 TL \n"); scanf ("%f", &senin_paran); float yillik_faiz; printf ("Yillik faizi gir man ORN: 0.75 \n"); scanf ("%f", &yillik_faiz); int kac_yil; printf("Kac yil yatircan ? ORN: 5 \n"); scanf("%d", &kac_yil); while (yil<kac_yil) { senin_paran+=senin_paran*yillik_faiz; yil++; } printf("paran %d yil sonra %f TL olur \n", kac_yil, senin_paran); printf("Fakat o para sana yaramaz demedi deme :) "); system("PAUSE"); return 0; }
C Programlama dili ile sayı farkı
by Hasan İbrahim Kozan on Mar.06, 2009, under ANSI C, Ödevler
Kullanıcı tarafından atanan iki gerçel sayının tam kısmını sunar.
#include stdio.h #include stdlib.h cikar ( float x, float y ) { float z; z=x-y; return z; } int main() { float a,b,c; int d; printf("bosluk birakarak iki gercel sayi giriniz. Orn: 12.322 16.2323n"); scanf("%f %f", &a, &b); c=cikar(a,b); d=(int)c; printf("Sonuc= %d", d); return 0; }
Fonksiyonlarla hayat daha kolay :p
Iki gercel sayinin toplaminin tam sayi cinsinden gosterimi
by Hasan İbrahim Kozan on Mar.06, 2009, under ANSI C, Ödevler
#include stdio.h
#include stdlib.h
topla ( float x, float y )
{
float z;
z=x+y;
return z;
}
int main()
{
float a,b,c;
int d;
printf("bosluk birakarak iki gercel sayi giriniz. Orn: 12.322 16.2323n");
scanf("%f %f", &a, &b);
c=topla(a,b);
d=(int)c;
printf("Sonuc= %d", d);
return 0;
}
Fonksiyon belirleme ile %50 hiz artisi yapabilirsiniz
İlk Ödevim: topla bol
by Hasan İbrahim Kozan on Mar.06, 2009, under ANSI C, Ödevler
<strong>#include stdio.h #include stdlib.h</strong> float bol(a,b) int a,b; { float c; c = (float) a/b; return c; } int topla(d,z) int d,z; { int y; y= d + z; return y; } int main() { int x,y,z; int toplananSayi; float bolunenSayi; printf("Aralarina virgul koyarak uc sayi giriniz, ORNEK 34, 22, 16 veya 9,3, 5 gibin"); printf("Gireceginiz ilk iki sayi toplanacak ve ucuncu sayiya bolunecektir.n"); scanf("%d, %d, %d", &x, &y, &z); toplananSayi=topla(x,y); bolunenSayi=bol(toplananSayi,z); printf("Sonuc %f dir", bolunenSayi); system("PAUSE"); return 0; }
Fonksiyonla bu islemi daha kolaylastirabilirdik
C Programlama Diline Başladım :)
by Hasan İbrahim Kozan on Mar.06, 2009, under ANSI C
Çok sevdiğim bir arkadaşım, Rıfat Çölkesenin kitabını yollaması üzerine C ‘ ye başladım.
Genel olarak kolay anlatımı sayesinde hızlı ilerleyebileceğimi düşünsemde
son sınıf olmam hasebiyle bu süreç uzayadabilir.
Fakat, azimle bu dili bitireceğime inanıyorum.