Yazar |
|
haci
Istanbul
Kayıt: 29.11.2006 |
|
fundagulkaya yazdi | gilraen yazdi | ikinci gruptan giren arkadaşlar hoca tam olarak ne istedi sizden teklerin soyadlarını çevir diyerek bi yazsanız çok makbule geçer. |
geçekten arkadaşlar 2. grup olarak giren yok mu sınava.. |
var.
ögrenci numarası tek olanların (13*******1 gibi) soyadları ters çevrilip yazılacaktı diye hatırlıyorum
örnegin soyadı "ABCD" ise ters çevirme işleminden sonra listelendiginde soyadı alanı "DCBA" gibi olacaktı.
kolay gelsin.
Be peaceful, be courteous, obey the law, respect everyone; but if someone puts his hand on you, send him to the cemetery.
|
|
Yazar |
|
marakana
Kayıt: 08.03.2007 |
|
2. grup olarak giren kişi ne sorulduğunu bilmiyo napsın.
|
|
Yazar |
|
kartane
istanbul
Kayıt: 22.02.2007 |
|
#include<stdio.h>
int main()
{
int hesap;
double bakiye;
char isim[30];
FILE *cfptr;
if((cfptr=fopen("kus.txt","w"))==NULL)
printf("dosya acılamadı");
else{
printf("hesap numarasını,ismi,bakiyeyi giriniz,cıkıs icin hesap no -1 girin ");
scanf("%d%s%lf",&hesap,isim,&bakiye);
while(hesap!=-1){
fprintf(cfptr,"%d %s %lf ",hesap,isim,bakiye);
printf("hesap numarasını,ismi,bakiyeyi giriniz,cıkıs icin hesap no -1 girin ");
scanf("%d%s%lf",&hesap,isim,&bakiye);
}
fclose(cfptr);
}
return 0;
}
kıtaptakı bu 1. örnten sonra 2. okumayı yazıyorum ama bı turlu okutamıyorum
********************
#include<stdio.h>
int main()
{
int hesap;
double bakiye;
char isim[30];
FILE * cfptr;
if((cfptr=fopen("kus.txt","r"))==NULL)
printf("dosya acılamadı");
else{
fscanf(cfptr,"%d%s%lf",&hesap,isim,&bakiye);
while(!feof(cfptr)){
printf("%d %s %lf ",hesap,isim,bakiye);
fscanf(cfptr,"%d%s%lf",&hesap,isim,&bakiye);
}
fclose(cfptr);
}
return 0;
}
niye okumuyo uzun uzun dosyanın yolunu mu yazmam gerekiyo yoksa???????????
|
|
Yazar |
|
marakana
Kayıt: 08.03.2007 |
|
kartane yazdi
#include<stdio.h>
int main()
{
int hesap;
double bakiye;
char isim[30];
FILE *cfptr;
if((cfptr=fopen("kus.txt","w"))==NULL)
printf("dosya acılamadı");
else{
printf("hesap numarasını,ismi,bakiyeyi giriniz,cıkıs icin hesap no -1 girin
");
scanf("%d%s%lf",&hesap,isim,&bakiye);
while(hesap!=-1){
fprintf(cfptr,"%d %s %lf
",hesap,isim,bakiye);
printf("hesap numarasını,ismi,bakiyeyi giriniz,cıkıs icin hesap no -1 girin
");
scanf("%d%s%lf",&hesap,isim,&bakiye);
}
fclose(cfptr);
}
return 0;
}
#include<stdio.h>
int main()
{
int hesap;
double bakiye;
char isim[30];
FILE * cfptr;
if((cfptr=fopen("kus.txt","r"))==NULL)
printf("dosya acılamadı");
else{
fscanf(cfptr,"%d%s%lf",&hesap,isim,&bakiye);
while(!feof(cfptr)){
printf("%d %s %lf
",hesap,isim,bakiye);
fscanf(cfptr,"%d%s%lf",&hesap,isim,&bakiye);
}
fclose(cfptr);
}
return 0;
}
| niye okumuyo uzun uzun dosyanın yolunu mu yazmam gerekiyo yoksa??????????? |
Şimdi sen ilk kodu yazıyosun sonra farklı bir dosyaya 2. kodu yazdığın için,, kus.txt dosyasını bulamıyor.ilk kodu yazınca oluşturduğun kus.txt dosyasını yeni calıştığın klasörün altına kopyalarsan problem çözülür sanırım...
|
|
Yazar |
|
kartane
istanbul
Kayıt: 22.02.2007 |
|
evet en son aşama olarak onu denemiştm ve sorunu çözdüm, sağooooool
|
|
Yazar |
|
marakana
Kayıt: 08.03.2007 |
|
// Sabit uzunlukta 100 adet kaydı tutabilecek rasgele erişimli bir dosya oluşturmak
#include<stdio.h>
struct musteri{
int hesap;
char soyad[15];
char ad[10];
double bakiye;
};
main()
{
int i;
struct musteri Bosveri={0,"","",0.00};
FILE *dosya;
dosya=fopen("kredi.txt","w");
if(dosya==NULL)
{
printf("dosya acilamadi
");
return NULL;
}
for(i=0;i<100;i++)
fwrite(&Bosveri,sizeof(struct musteri),1,dosya);
fclose(dosya);
return 0;
}
kod hatasız calışıyor ama olusan kredi. txt' de saçmasapan yazılar cıkyor.kredi.txt'i okuttuğumda ise girilen kayıtlar doğru cıkıyor.Sanırım başta Bosveri={0,"","",0.00}; bunu yazmakla hata yapıyorum, ne yapmalıyım ben şimdi
|
|
Yazar |
|
fundagulkaya
istanbul
Kayıt: 07.11.2007 |
|
arkadaşlar bi sorum var.kodda .dat uzantılı bi dosya oluşturuyorum.oluşunca neden vidyo cd filmi diyo.bunun dosyayla alakası yok. .doc,.txt uzantılı kaydedince ok ama bu nedir,ya da neden .dat uzantılı dosya oluşturuluyo ki örneklerde???
|
|
Yazar |
|
adaniak
Kayıt: 13.01.2007 |
|
fundagulkaya yazdi | arkadaşlar bi sorum var.kodda .dat uzantılı bi dosya oluşturuyorum.oluşunca neden vidyo cd filmi diyo.bunun dosyayla alakası yok. .doc,.txt uzantılı kaydedince ok ama bu nedir,ya da neden .dat uzantılı dosya oluşturuluyo ki örneklerde??? |
Sağ tıkla birlikte aç..ya da kaydederken .txt kaydet..
|
|
Yazar |
|
gilraen
Kayıt: 19.01.2007 |
|
Arkadaşlar deiteldeki rasgele sıralı erişim örneklerinde dosyaları w ve r şeklinde yazıp okuyunca hata vermiyor ancak ekranda kayıtların yerine saçma sapan sayılar ve figürler çıkıyor.
Dosyaları wb ve rb modunda yazıp okumaya çalışınca bu sefer herşey doğru ancak son kaydı iki kere yazıyor bunun nedenini ve çözümünü bilen bir arkadaş varsa ve açıklarsa sevinirim...
|
|
Yazar |
|
marakana
Kayıt: 08.03.2007 |
|
// Rasgele erisimli dosyadan sıralı okuma yapmak
#include<stdio.h>
struct musteri{
int hesap;
char soyad[15];
char ad[10];
double bakiye;
};
main()
{
FILE *dosya;
struct musteri kisi={0,"","",0.0};
dosya=fopen("kredi.txt","rb");
if(dosya==NULL)
{
printf("dosya acilamadi
");
return NULL;
}
fread(&kisi,sizeof(struct musteri),1,dosya);
while(!feof(dosya))
{
if(kisi.hesap!=0)
printf("%-6d %-16s %-11s %10.2f
",kisi.hesap,kisi.soyad,kisi.ad,kisi.bakiye);
fread(&kisi,sizeof(struct musteri),1,dosya);
}
fclose(dosya);
return 0;
}
böyle olacak, ama oluşturduğun kredi.txt i calıştığın klasörün altına kopyalamayı unutma.Bende cok uğrastım ama sorunu ben çözmedim zati..kaynak:fundagulkaya(teşekkürler)
|
|
Yazar |
|
gilraen
Kayıt: 19.01.2007 |
|
Eyvallah kızlar.Sağ ol marakanacım ve fundacım....
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
ya bu program final grup 1 çözümü ilk çalıştırdıgımda çalışıodu ikinci den itibaren çalışmıo anlamadım arkadaşlar bi yardımcı olun lütfen
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define KAPASITE 10000
typedef struct ogrenci
{ char ad[15];
char soyad[15];
char numara[10];
char yas[3];
char ortalama[5];
} OGRENCI;
void EkraniTemizle(void)
{
system("cls");
}
// BUNLAR OGRENCI TARAFINDAN GELISTIRILECEK FONKSIYONLAR ////////////////////////
OGRENCI * DosyadanOku(void);
void KayitSayisiniGoster(void);
void Goruntule(OGRENCI *kayitlar);
void DosyayaYaz(OGRENCI *kayitlar);
void SoyadaGoreSirala(OGRENCI *kayitlar);
//////////////////////////////////////////////////////////////////////////////////
int kayitSayisi = 0;
int main (void)
{
int secim; //switch-case yapisina ait secimin saklandigi nesnedir.
OGRENCI * kayitlar = NULL; //kayitlarin tutulacagi dizi gostericisidir.
kayitlar = DosyadanOku();
do {
//MENUYU OLUSTURUYORUZ.
printf(" 1.) Listeyi goruntule");
printf(" 2.) Soyada gore sirala");
printf(" 3.) Kayit sayisini goster");
printf(" 4.) Cikis");
flushall();
printf(" Lutfen Seciminizi Giriniz >");
scanf("%d",&secim);
switch (secim) {
case 1:
Goruntule(kayitlar);
break;
case 2:
SoyadaGoreSirala(kayitlar);
break;
case 3:
KayitSayisiniGoster();
break;
case 4:
DosyayaYaz(kayitlar);
exit(0);
break;
default:
printf(" Seciminiz hatali lutfen 1 il 4 arasinda bir sayi giriniz");
} // end of switch block
printf("Devam etmek icin bir tusa basiniz. ");
flushall();
getch();
EkraniTemizle();
}while(1); // end of infinite do-while block
return 0;
}
OGRENCI * DosyadanOku(void)
{
FILE *dosya;
OGRENCI gecicidizi[KAPASITE];
if((dosya = fopen("records.txt", "r")) == NULL) {
printf("Dosya acilamadi !");
} else {
while(!feof(dosya)) {
fscanf(dosya, "%s %s %s %s %s", gecicidizi[kayitSayisi].ad, gecicidizi[kayitSayisi].soyad, gecicidizi[kayitSayisi].numara, gecicidizi[kayitSayisi].yas, gecicidizi[kayitSayisi].ortalama);
kayitSayisi++;
}
}
fclose(dosya);
return gecicidizi;
}
void Goruntule(OGRENCI *kayitlar)
{
int i;
for (i = 0; i < kayitSayisi; i++)
printf("%s %s %s %s %s ", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);
}
void KayitSayisiniGoster(void)
{
printf("%d adet kayit var.", kayitSayisi);
}
void SoyadaGoreSirala(OGRENCI *kayitlar)
{
int i, j;
OGRENCI tmp;
for(i = 0; i < kayitSayisi - 1; i++) {
for(j = 1; j < kayitSayisi-1; j++) {
if(strcmp(kayitlar[i].soyad, kayitlar[j].soyad) > 0) {
// Kayıtları yer değiştir
tmp = kayitlar[i];
kayitlar[i] = kayitlar[j];
kayitlar[j] = tmp;
}
}
}
}
void DosyayaYaz(OGRENCI *kayitlar)
{
FILE *dosya;
int i;
if((dosya = fopen("records.txt", "w")) == NULL) {
printf("Dosya acilamadi !");
} else {
for (i = 0; i < kayitSayisi; i++)
fprintf(dosya, "%s %s %s %s %s ", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);
}
fclose(dosya);
}
|
|
Yazar |
|
blindalley
balikesir
banlandı
Kayıt: 01.12.2006 |
|
hata yok gibi duruo sanırım dosyanın içeriği değişmiştir dosyanı update et yada dosyanın yedeği warsa onu kopyala öle dene bide..
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
ya kafayı yicem dediğin gibi o dosyayı sildim oynanmamışını kopyaladm yine çalıştırdım yine çalıştı bi kere daha çalıştırdım gene tuhaf kayan şeyler oldu oldubi de siz deneyin lütfen
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | |