| |
|
esatarslan52
| 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. ]
|