lab uygulaması etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
lab uygulaması etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

31 Mart 2010 Çarşamba

c'de dosya kopyalama

"a" adında bir dosyamız olacak,bu dosyamızın bir kopyasını oluşturacaz ve "a"nın içindekiler "a_kopya"da
da    olacak;

main()

{

char k[20];//kopyalanacak dosya adı
p[28]="Kopya_";//oluşan dosya adının bir kısmı

FILE *derya;

printf("dosya adı : \n");

scanf("%s",k);

strcat(p,k);//2. oluşan dosyanın adı a_kopya

derya= fopen(p,"w");//w de dosya yoksa aynı zamnda oluşturuyordu da

FILE *gunduz;

int ch;
gunduz = fopen(k, "r");

if (gunduz== NULL) {

printf("Cannot open %s\n", k);

exit(8);

}

while (1) {

ch = fgetc(gunduz);

if (ch == EOF)

{ break;}

fprintf(derya,"%c", ch);

}
printf("copying is finished!\n");
return 0;
}



DERYA GÜNDÜZ

15 Mart 2010 Pazartesi

dosyadan okunan türkçe karakterleri ingilizce karaktere çevirme(yarınki lab uygulaması)

dosyamızın(yada kodumuzun) içinde yazan karakter türkçe(ingilizcede olmaya ç ü ö ğ ı gibi) olduğu zaman ekranda anlamlandıramadığımız bir takım semboller çıkar,bunları ing karakterere çevirebilmek için kontrolleri yapıp ingilizce karşılığı olan harfe atamak gerekiyor,aşağıdaki kodu inceleyebilirsiniz:
#include
#include

int main(int argc, char *argv[])

{

FILE *file;
char ch;

int a=0;

char filename[35];

printf("Dosyanin adini giriniz:");

gets(filename);

file = fopen(filename,"r");

for(;;)

{
while(fread(&ch,sizeof(char),1,file)!=0){

                if(ch=='ç' ||ch=='Ç')((bu karakterlerden varsa bunları çevirsin

ch='c';

           else if(ch=='ğ' ||ch=='Ğ')

ch='g';

             else if(ch=='ı' ||ch=='İ')

ch='i';

              else if(ch=='ö' ||ch=='Ö')

    ch='o';

         else if(ch=='ş' ||ch=='Ş')

ch='s';

              else if(ch=='Ü' ||ch=='ü')

ch='u';

               else if(ch==' ')//boşlık karakteri varsa saymasın

a--;
  printf("%c\n",ch);
a++;}

if(feof(file))
{

printf("Dosya sonuna gelindi\n");
fclose(file);

}
printf("%d tane karakter var",a);

system("PAUSE");

return 0;

}}

12 Mart 2010 Cuma

dosyadan okuma,fgetc() fonsiyonu

fgetc karakter karakter okumayı sağlıyor,getc(dosya pointer adı) şeklinde kullanılır
#include
int main(int argc, char *argv[])

       {
FILE *derya;
int b=-1;//null karakterini de sayıyor oyüzden -1den başlatıyoruz

       char temp,filename[20];
           gets(filename);
         derya=fopen(filename,"r");

      for(;;)
{
temp=fgetc(derya);

            printf("%c\n",temp);

          b++;//her bir eleman için b yi 1 arttıracağından dosyadaki eleman sayısını bulmuş olur


           if(feof(derya))//dosyanın sonuna geldiğinde döngüden çıkacak
{
          printf("dosya sonuna gelindi\n");
break;
}
              }
         printf("%d tane sayi okundu\n",b);

system("PAUSE");

return 0;

}

dosyadan okuma,fscanf() fonsiyonu

dosyadan okumanın en yaygın fonksiyonu,yazım formatı scanfteki gibidir ekstra bir parametre daha alır dosya pointerını en başa alır gerisi scanf gibidir.
#include


int main(int argc, char *argv[])

{

FILE *derya;

int b=0;

char k;

derya=fopen("E:\\meltem.txt","r");
for(;;)

{

fscanf(derya,"%c",&k);//önce okuyor

printf("%c\n",k);//okuduğunu ekrana yazıyor

b++;//her bir eleman için b yi 1 arttıracağından dosyadaki eleman sayısını bulmuş olur



                     if(feof(derya))//dosyanın sonuna geldiğinde döngüden çıkacak
{

     printf("dosya sonuna gelindi");

break;
fclose(derya);

}
          }
printf("%d tane sayi okundu",b);
          system("PAUSE");

return 0;
               }

31 Aralık 2009 Perşembe

çevrimsel dairesel kuyruk kodu

veri yapıları dersi için kitabın da yardımla menü tabanlı dairesel kuyruk oluşturdum

18 Aralık 2009 Cuma

ebobun recursive fonksiyon ile yazılması

%bir önce yazdığım kodu recursive fonksiyon kullanarak daha az kodla yazıyorum

#include

#include

int ebob(int x,int y);

int main(int argc, char *argv[])

{

int sayi1,sayi2;
                 printf("ebobunu bulmak icin iki sayi giriniz:");

scanf("%d%d",&sayi1,&sayi2);

printf("OBEB : %d\n",ebob( sayi1,sayi2 ));
system("PAUSE");

return 0;

}

           int ebob(int x,int y)//recursive function

           { if (y == 0)

return x;

             else

                return ebob(y, x % y);



}

öklid bölme algoritması yardımıyla ebob bulma.

%veri yapılarıları dersinin labının uygulaması olarak iki saynın ebobunun öklid bölme algoritması yardımıyla bulunmasnı yazdım

#include
#include
int main(int argc, char *argv[])
{
int sayi1,sayi2;

int ks,bs,i;

int kalan;

printf("ebobunu bulmak icin iki sayi giriniz:");
scanf("%d%d",&sayi1,&sayi2);

if(sayi1>sayi2)

{
ks=sayi2;

bs=sayi1;

}
else

{
ks=sayi1;

bs=sayi2;

}

for(i=0;i < ks ; i++){
kalan=bs% ks;

if(kalan==0)//ebobu bulmuşsa öıkacak

break;

else{

bs=ks;//her aşamada bs ve ksdeki değişiklikler
ks=kalan;
}

}

printf("%d",ks);/en son aşamadaki ks bizim ebobumuzdur

system("PAUSE");

return 0;

}

5 Aralık 2009 Cumartesi

stack yapısı kodu..

bugün veri yapılarının labı vardı.bugün yazdığımız kodu paylaşmak istedim.
kod dizi tabanlı bir stack yapısıdır.stack yapısını bir çuval gibi düşünürsek çuvala en son eklenen çuvaldan ilk çıkarılır.yani ekleme yapıldığında sona çıkarma yapıldığında en son konulan eleman çıkarılır.ko

#include


#include

#include

#define n 10//dizi 10 elemanlı

int yveri[n]={0},yi=0;

int koy();//ekleme fonksiyonu

int al();

void temizle();//dizideki bütün elemanları siler

int listele();//dizi elemanlarını sıralarına göre listeler

sayac=0;

int main(int argc, char *argv[])

{ int eklenecek;

char secim;

while(1)

{ puts("yigina eklene.................'e'\nyigindan eleman cikarma............'c'\nyigini temizleme...........'t'\nlisteleme.................'l'\nsay..............'s'");

secim=getchar();

switch(secim)

{ case 'e':

koy();

break;

case 'c':

al();

break;

case 't':

temizle();

break;

case 'l':

listele();

break;

case 's':

printf("%d\n tane eleman var ",sayac);

default:

printf("yanlis secim!!!");

break;

}

}





system("PAUSE");

return 0;

}

int koy()

{ int eklenecek;

printf("eklemek istediginiz sayiyi giriniz:");



scanf("%d",&eklenecek);

if(yi>=n)//eleman sayısı 10dan büyük olursa ekleme yapılamıyor

puts("yigin dolu!");

else

yveri[yi]=eklenecek;

yi++;



printf("%d yigina eklendi\n",eklenecek);

sayac++;

}

int al()

{ if(yi<=0)

puts("yigin bos");

else{

printf("%d elamnı yigindan cikarildi\n",yveri[yi-1]);

sayac--;

return yveri[--yi];





}

}

void temizle()

{ yi=0;

sayac=0;

printf("yiginda hic eleman yok!!!");}

int listele()

{int i;

if(yi<=0)

printf("yigin bos!!!\n");

else{

for(i=0;i< sayac;i++){< p="">

printf("yveri[%d]=%d\n",i,yveri[i]);

}}

}
 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri