Thread overview
Yeni ders: Çıktı Düzeni
Oct 05, 2009
esatarslan52
October 03, 2009

http://ddili.org/ders/d/cikti_duzeni.html

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 05, 2009

Elinize sağlık :)

Dosya işlemlerinde çok işimize yarayacak bir konu. Verilerin kayıt dosyalarının daha rahat okunmasını sağlıyor.

import std.stdio;
import std.stream;
import std.cstream;
import std.process;
import std.file;
import std.format;

version(Windows)
{
   void ekranTemizle()
   {
       system("cls");
   }
}
else version(linux)
{
   void ekranTemizle()
   {
       system("clear");
   }
}

char tusAl()
{
   char tus;

   do
   {
       din.read(tus);
   } while(tus == '\n');

   return tus;
}


void dosyaYaz()
{
   auto dosya = new std.stream.File("ogrenciBilgi",FileMode.Append);
   char[] ad;
   char[] soyad;
   char[] no;
   char tus;

   do
   {
       ekranTemizle();

       write("Ad:");
       din.readf(&ad);
       write("Soyad:");
       din.readf(&soyad);
       write("No:");
       din.readf(&no);

       dosya.writef("%-10.10s ",ad);
       dosya.writef("%-10.10s",soyad);
       dosya.writefln("%-10.10s",no);
       writeln();
       writeln("Kayıt Tamam...");
       writeln("Yeni Kayıt girmek istermisiniz(E/H)?");
       tus = tusAl();
   }while(tus =='e' || tus=='E');
}

void dosyadanOku()
{

   auto dosya = new std.stream.File("ogrenciBilgi",FileMode.In);
   char tus;

   ekranTemizle();

   while(!dosya.eof())
   {
       char[] bilgi = dosya.readLine();
       dout.writefln(bilgi);
   }
   writeln();
   write("Ana menü icin Enter'a basin...");
   din.readf(&tus);
}

char menu()
{
   char tus;

   ekranTemizle();

   writeln("1-Ogrenci Kaydet");
   writeln("2-Listele");
   writeln("3-Cik");
   writeln();
   write("Birini seçin:");
   tus = tusAl();

   return tus;
}

int main()
{
   char tus;

   if (!exists("ogrenciBilgi"))
   {
       auto dosya = new std.stream.File("ogrenciBilgi",FileMode.Append);
       dosya.writef("%-10.10s ","Ad");
       dosya.writef("%-10.10s","Soyad");
       dosya.writefln("%-10.10s","No");
       dosya.writef("%-10.10s","-------");
       dosya.writef("%-10.10s ","-------");
       dosya.writefln("%-10.10s","-------");
   }

   do
   {
       tus = menu();
       switch(tus)
       {
           case '1':dosyaYaz();break;
           case '2':dosyadanOku();break;
           default:break;
       }
   }while(tus != '3');

   return 0;
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 04, 2009

Daha önceki derslerde geçenler de dahil olmak üzere "ondalık sayı sistemi" terimlerini "onlu sayı sistemi" olarak değiştirdim.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]