Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Veri Yapıları Finall
Yazar
concordia


avatar

Kayıt: 14.02.2007
05.01.2009-01:00 #54302
çok teşekkürler çok makbule geçti





Yazar
concordia


avatar

Kayıt: 14.02.2007
05.01.2009-01:04 #54303
peki A ile K arasındaki mesafeleri bulan kodu yazabilen var mı?





Yazar
memetonder


avatar
BeSnI
Kayıt: 17.05.2007
05.01.2009-01:23 #54304
concordia yazdi
 
çok teşekkürler çok makbule geçti


Rica ederim..





...









Yazar
muzaffer


avatar
istanbul
Kayıt: 05.10.2007
05.01.2009-02:03 #54306

# include < stdio.h >


struct okul_kayit {
int no;
char ad[16],soyad[19];
}ogrenci;
FILE *kutuk;
char devam;
int main()
{
kutuk=fopen("ogr.dat","w+");
printf("Numara.......:"); scanf("%d", &ogrenci.no);
printf("Ad...............:"); scanf("%s", ogrenci.ad);
printf("Soyad..........:"); scanf("%s", ogrenci.soyad);
fwrite(&ogrenci, sizeof(ogrenci),1, kutuk);
fclose(kutuk)
return 0;
}


mrb burda dosyaya veri yazmak istyorum fakat int deger yazarken sorun cıkıyor sacama sapan karakterler .dat dosyasına yazıyor.nasıl düzelteceğiz.







Yazar
concordia


avatar

Kayıt: 14.02.2007
05.01.2009-02:23 #54307
sizeof(struct okul_kayit) olarak denermisin bi de





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
05.01.2009-02:33 #54308
muzaffer yazdi
 

# include < stdio.h >


struct okul_kayit {
int no;
char ad[16],soyad[19];
}ogrenci;
FILE *kutuk;
char devam;
int main()
{
kutuk=fopen("ogr.dat","w+");
printf("Numara.......:"); scanf("%d", &ogrenci.no);
printf("Ad...............:"); scanf("%s", ogrenci.ad);
printf("Soyad..........:"); scanf("%s", ogrenci.soyad);
fwrite(&ogrenci, sizeof(ogrenci),1, kutuk);
fclose(kutuk)
return 0;
}


mrb burda dosyaya veri yazmak istyorum fakat int deger yazarken sorun cıkıyor sacama sapan karakterler .dat dosyasına yazıyor.nasıl düzelteceğiz.



Hata 1) "return 0;" dan önceki satırın sonunda ";" yok.
Hata 2) fwrite komutu "const void _*Str" şeklinde yazar. Yani burada sen &ogrenci dediğinde x olan öğrenci numarasını string gibi algılar. Örnekte ben 3 yazdım bunu 03 gibi algılayıp bir şekil koydu. fwrite fonksiyonunda nasıl int yazılacağını bende tam bilmiyorum. Araştırıp öğrenmek lazım.

Örnek :






Yazar
muzaffer


avatar
istanbul
Kayıt: 05.10.2007
05.01.2009-02:46 #54310
tşkler arkadaşlar ,
fwrite yerine fscanf kulanmayı düşünüyorum. hoca bunla ilgili bişi dedi mi?






Yazar
neurorebel


avatar

Kayıt: 15.08.2007
05.01.2009-02:52 #54311
fprintf ve fscanf kullanmalısın. fwrite bufferdaki veriyi binary olarak yazar.





Do weird and difficult things.

Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
05.01.2009-02:53 #54312
muzaffer yazdi
 
tşkler arkadaşlar ,
fwrite yerine fscanf kulanmayı düşünüyorum. hoca bunla ilgili bişi dedi mi?


Böyle yapsan olmaz mı? İlla int mi kullanmak istiyorsun ki? Genelde char[] kullanılır. Satır 5 ve 13 ü değiştirdim. Gayette güzel yazıyor :)

#include <stdio.h>


struct okul_kayit {
char no[4];
char ad[16],soyad[19];
}ogrenci;
FILE *kutuk;
char devam;
int main()
{
kutuk=fopen("ogr.dat","w+");
printf("Numara.......:"); scanf("%s", ogrenci.no);
printf("Ad...............:"); scanf("%s", ogrenci.ad);
printf("Soyad..........:"); scanf("%s", ogrenci.soyad);
fwrite(&ogrenci, sizeof(ogrenci),1, kutuk);
fclose(kutuk);
return 0;
} 






Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
05.01.2009-03:00 #54313
fprintf(kutuk, "%d %s %s
",ogrenci.no,ogrenci.ad,ogrenci.soyad);

edit:cevap zaten verilmişblushing





Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
05.01.2009-03:03 #54314
burakkanmaz yazdi
 
muzaffer yazdi
 
tşkler arkadaşlar ,
fwrite yerine fscanf kulanmayı düşünüyorum. hoca bunla ilgili bişi dedi mi?

Böyle yapsan olmaz mı? İlla int mi kullanmak istiyorsun ki? Genelde char[] kullanılır. Satır 5 ve 13 ü değiştirdim. Gayette güzel yazıyor :)


char kullanınca numara doğru yazılmış olur ama string olarakbiggrin belki hocanın niyeti sayıyı 3le çarpıp 5e bölmek? :) (gerçi sonra parseInt gibi bişeyle de düzenlenir o sayı ya,)
neyse.. ben o derste sıralı ya da doğrudan erişimi kullanmanın sorun olup olmadığını sormuştum, hoca gitti fprintf le fwrite ın arasındaki farkı anlattılaughing burdan ikisiyle de yazabiliriz denebilir ama kendi adıma konuşayım, ben fseek-fread-fwrite ile yazmaya çalışıcam. diğer türlü yazınca sınavda sorun çıkmasını istemem.





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
erdemcen


avatar
Manisa
Kayıt: 20.02.2006
05.01.2009-09:45 #54315
Arkadaşlar indexleme veya hash ile ilgili kod sorar mı?














Yazar
marakana


avatar

Kayıt: 08.03.2007
05.01.2009-10:59 #54316
erdemcen yazdi
 
Arkadaşlar indexleme veya hash ile ilgili kod sorar mı?

kendisi sormayacağını söylemişti
kod sormam, nasıl çalıştığını anlatmanızı isteyebilirim demişti







1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb