Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > programlama dilleri bütünleme
Yazar
blindalley


avatar
balikesir
banlandı
Kayıt: 01.12.2006
12.02.2008-23:15 #37886
alew yazdi
 
dosya da ne sorun olabilir ki anlamadım hocanın verdiği dosya sonuçta crying hadi onu geçtim doğru sıralamayı neden yapmıo ya sıralamayı yapan kodum da bi yanlışlık göremiorum siz görüomusunz????confused ölmek istiyorum çok saol bu aradapraying
alev ayrıca strcmplede oluo bende çalıştı ve sıraladım... benm sana yolladığım kodda hatasız çalıştr sıralandığını göreceksin...





Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
12.02.2008-23:24 #37888
yok öle yapınca ben de verdiği sıralama aşağıdaki:laughing ya nie 2. de çalışmıo dosyanın esas halini copy paste yapmaktan heba oldumcryingcrying bi kere çalıştırıyorm ikinciye çalışmadıgından heemn dosyayı tazeleyip öle çalıştrmk zornda kalıorum worried

Tarik Kranda 422 24 3.83
Kadir Battal 511 26 3.10
Serkan Civici 234 21 3.14
Necmi Karasu 310 20 2.90
Erdem Kemer 220 23 3.12
Selen Kranda 256 18 3.45
Ozgur Turna 245 25 3.73






Yazar
numb87


avatar

Kayıt: 18.01.2007
13.02.2008-00:08 #37896
arkadaşlar grup2 de soyadı tersine çevirmeyi yapabilen varmı





Yazar
blindalley


avatar
balikesir
banlandı
Kayıt: 01.12.2006
13.02.2008-00:09 #37898
numb87 yazdi
 
arkadaşlar grup2 de soyadı tersine çevirmeyi yapabilen varmı


int i,j;
int uzunluk;
char temp;
for(i=0;i<kayitSayisi;i++)
{
if(kayitlar[i].numara%2==1)
{
uzunluk=strlen(kayitlar[i].soyad);
for(j=0;j<uzunluk/2;j++)
{
temp=kayitlar[i].soyad[j];
kayitlar[i].soyad[j]=kayitlar[i].soyad[uzunluk-j-1];
kayitlar[i].soyad[uzunluk-j-1]=temp;



}

}
}





Yazar
numb87


avatar

Kayıt: 18.01.2007
13.02.2008-01:33 #37924
tesekkurlerapplause





Yazar
blindalley


avatar
balikesir
banlandı
Kayıt: 01.12.2006
13.02.2008-01:35 #37925
numb87 yazdi
 
tesekkurlerapplause
umrm işe yaramıştır..ve umarm yarında yarar:)





Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
13.02.2008-01:49 #37927
hata vermio ama doğru da çalışmıo final 2. soru hata nerdeconfused

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

typedef struct ogrenci
{ char ad[15];
char soyad[15];
int numara;
int yas;
double ortalama;
} OGRENCI;

void EkraniTemizle(void)
{
system("cls");
}

// BUNLAR OGRENCI TARAFINDAN GELISTIRILECEK FONKSIYONLAR ////////////////////////

OGRENCI * DosyadanOku(void);
void TeklerinSoyadlariniCevir(OGRENCI *kayitlar);
void Goruntule(OGRENCI *kayitlar);
void DosyayaYaz(OGRENCI *kayitlar);
void KayitSayisiniGoster(void);

//////////////////////////////////////////////////////////////////////////////////

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.) Numarasi tek olanlarin soyadlarini cevir");
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:
TeklerinSoyadlariniCevir(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 ogr;
OGRENCI *dizi;
int i=0;
dosya=fopen("records.dat","rb");
if(dosya==NULL)
printf("dosya acilamadi");
else
{
while(!feof(dosya))
{
fread(&ogr,sizeof(struct ogrenci),1,dosya);
kayitSayisi++;
}
kayitSayisi--;

dizi=(OGRENCI*)malloc(sizeof(OGRENCI) * kayitSayisi);

rewind(dosya);

while(!feof(dosya))
{
fread(&ogr,sizeof(struct ogrenci),1,dosya);
dizi[i]=ogr;
i++;
}

fclose(dosya);

}
return dizi;


}

void Goruntule(OGRENCI *kayitlar)
{
int i;
for (i = 0; i < kayitSayisi; i++)
printf("%s %s %d %d %f ", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);


}

void KayitSayisiniGoster(void)
{
printf("%d kayit vardir",kayitSayisi);

}

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++)
fwrite(dosya, "%s %s %d %d %lf
", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);
}
fclose(dosya);

}




void TeklerinSoyadlariniCevir(OGRENCI *kayitlar)
{
int i,j;
int uzunluk;
char temp;
for(i=0;i<kayitSayisi;i++)
{
if(kayitlar[i].numara%2==1)
{
uzunluk=strlen(kayitlar[i].soyad);
for(j=0;j<uzunluk/2;j++)
{
temp=kayitlar[i].soyad[j];
kayitlar[i].soyad[j]=kayitlar[i].soyad[uzunluk-j-1];
kayitlar[i].soyad[uzunluk-j-1]=temp;



}

}
}



}





Yazar
encin


avatar

Kayıt: 30.11.2007
13.02.2008-02:04 #37930
tam incelemedim ama dosyaya yaz fonksiyonunuzdaki %lf yerine %f olmalı sanki












Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
13.02.2008-02:05 #37931
dosyaya yaz fonksiyonunda fwrite yerine fprintf yaz...






Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
13.02.2008-02:11 #37932
teşekkürler arkadaşlarrrrrrr lf f farketmez heralde diye onu değiştirmedim de funda senin dediğini yaptım hata yoktu zaten warningler de gitti de çalıştırınca 1 basıorum saçma sapan yazılar çıkıo 2 e basıorum hiç bişi olmuoı bi 3 e basınca 5 çıkıo o kadar ne diosunuz bu işe ????????????????????? size zahmet bi çalıştırırmsnz siz de de öle mi olcakapplauseapplauseapplauseprayingpraying





Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
13.02.2008-02:13 #37933
uzantısı dat ya o yüzden olyor galiba da bu olumsuz etkiden nasıl kurtulcazz hoca da nie dat yapmışsa sinir oldum buna ya ...........angry





Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
13.02.2008-02:26 #37934
alew yazdi
 
uzantısı dat ya o yüzden olyor galiba da bu olumsuz etkiden nasıl kurtulcazz hoca da nie dat yapmışsa sinir oldum buna ya ...........angry

ben txt die yazdım ama bu kodun başka problemleri de var:(





Yazar
encin


avatar

Kayıt: 30.11.2007
13.02.2008-02:39 #37935
rasgele erişimli ve sıralı erişimli dosyaların mantığını ve kullanılan fonksiyonları biraz karıştırıyorsunuz galiba, kodu deniycem birazdan uyumazsam clownrose












Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
13.02.2008-03:02 #37936
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

typedef struct ogrenci
{	char ad[15];
	char soyad[15];
	int numara;
	int yas;
	double ortalama;
} OGRENCI;

void EkraniTemizle(void)
{
	system("cls");
}

// BUNLAR OGRENCI TARAFINDAN GELISTIRILECEK FONKSIYONLAR ////////////////////////

OGRENCI * DosyadanOku(void);
void TeklerinSoyadlariniCevir(OGRENCI *kayitlar);
void Goruntule(OGRENCI *kayitlar);
void DosyayaYaz(OGRENCI *kayitlar);
void KayitSayisiniGoster(void);

//////////////////////////////////////////////////////////////////////////////////
OGRENCI temps;
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.)	 Numarasi tek olanlarin soyadlarini cevir");
		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:
				TeklerinSoyadlariniCevir(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 *dizi;
	int i;

	dosya=fopen("records.txt","r");
	if(dosya==NULL)
	{
		printf("Dosya acilamiyor..");
		exit(1);
	}

	while(!feof(dosya))
	{
		fscanf(dosya,"%s%s%d%d%lf",temps.ad,temps.soyad,temps.numara,temps.yas,temps.ortalama);
		kayitSayisi++;
	
	}
	dizi=(OGRENCI *)malloc(sizeof(OGRENCI)*kayitSayisi);
	rewind(dosya);

	while(!feof(dosya))
	{
		fscanf(dosya,"%s%s%d%d%lf",dizi[i].ad,dizi[i].soyad,dizi[i].numara,dizi[i].yas,dizi[i].ortalama);
		i++;
	}
	fclose(dosya);

	return dizi;
}

void Goruntule(OGRENCI *kayitlar)
{
	int i;
	for(i=0;i<kayitSayisi;i++)
	{
		printf("%s%s%d%d%lf",kayitlar[i].ad,kayitlar[i].soyad,kayitlar[i].numara,kayitlar[i].yas,kayitlar[i].ortalama);
	}
}

void KayitSayisiniGoster(void)
{
	printf("dosyadaki kayit sayisi:%d",kayitSayisi);
}

void DosyayaYaz(OGRENCI *kayitlar)
{
	FILE *dosya;
	int i;

	dosya=fopen("records.txt","w");
	if(dosya==NULL)
	{
		printf("dosya acilamiyor..");
		exit(1);
	}
	while(!feof(dosya))
	{
		for(i=0;i<kayitSayisi;i++)
		{
			fprintf(dosya,"%s%s%d%d%lf",kayitlar[i].ad,kayitlar[i].soyad,kayitlar[i].numara,kayitlar[i].yas,kayitlar[i].ortalama);
		}
	}
	fclose(dosya);
}

void TeklerinSoyadlariniCevir(OGRENCI *kayitlar)
{
	
	int i,j; 
	int uzunluk; 
	char temp; 
	for(i=0;i<kayitSayisi;i++) 
	{ 
		if(kayitlar[i].numara%2==1) 
		{ 
			uzunluk=strlen(kayitlar[i].soyad); 
			for(j=0;j<uzunluk/2;j++) 
			{ 
				temp=kayitlar[i].soyad[j]; 
				kayitlar[i].soyad[j]=kayitlar[i].soyad[uzunluk-j-1]; 
				kayitlar[i].soyad[uzunluk-j-1]=temp; 
			} 

		} 
	} 

}

arkadaşlar bu kodda çalışmıyor,sizce neden?yardımcı olabilcek var mı???





Yazar
blindalley


avatar
balikesir
banlandı
Kayıt: 01.12.2006
13.02.2008-03:07 #37937
fundagulkaya yazdi
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

typedef struct ogrenci
{	char ad[15];
	char soyad[15];
	int numara;
	int yas;
	double ortalama;
} OGRENCI;

void EkraniTemizle(void)
{
	system("cls");
}

// BUNLAR OGRENCI TARAFINDAN GELISTIRILECEK FONKSIYONLAR ////////////////////////

OGRENCI * DosyadanOku(void);
void TeklerinSoyadlariniCevir(OGRENCI *kayitlar);
void Goruntule(OGRENCI *kayitlar);
void DosyayaYaz(OGRENCI *kayitlar);
void KayitSayisiniGoster(void);

//////////////////////////////////////////////////////////////////////////////////
OGRENCI temps;
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.)	 Numarasi tek olanlarin soyadlarini cevir");
		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:
				TeklerinSoyadlariniCevir(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 *dizi;
	int i;

	dosya=fopen("records.txt","r");
	if(dosya==NULL)
	{
		printf("Dosya acilamiyor..");
		exit(1);
	}

	while(!feof(dosya))
	{
		fscanf(dosya,"%s%s%d%d%lf",temps.ad,temps.soyad,temps.numara,temps.yas,temps.ortalama);
		kayitSayisi++;
	
	}
	dizi=(OGRENCI *)malloc(sizeof(OGRENCI)*kayitSayisi);
	rewind(dosya);

	while(!feof(dosya))
	{
		fscanf(dosya,"%s%s%d%d%lf",dizi[i].ad,dizi[i].soyad,dizi[i].numara,dizi[i].yas,dizi[i].ortalama);
		i++;
	}
	fclose(dosya);

	return dizi;
}

void Goruntule(OGRENCI *kayitlar)
{
	int i;
	for(i=0;i<kayitSayisi;i++)
	{
		printf("%s%s%d%d%lf",kayitlar[i].ad,kayitlar[i].soyad,kayitlar[i].numara,kayitlar[i].yas,kayitlar[i].ortalama);
	}
}

void KayitSayisiniGoster(void)
{
	printf("dosyadaki kayit sayisi:%d",kayitSayisi);
}

void DosyayaYaz(OGRENCI *kayitlar)
{
	FILE *dosya;
	int i;

	dosya=fopen("records.txt","w");
	if(dosya==NULL)
	{
		printf("dosya acilamiyor..");
		exit(1);
	}
	while(!feof(dosya))
	{
		for(i=0;i<kayitSayisi;i++)
		{
			fprintf(dosya,"%s%s%d%d%lf",kayitlar[i].ad,kayitlar[i].soyad,kayitlar[i].numara,kayitlar[i].yas,kayitlar[i].ortalama);
		}
	}
	fclose(dosya);
}

void TeklerinSoyadlariniCevir(OGRENCI *kayitlar)
{
	
	int i,j; 
	int uzunluk; 
	char temp; 
	for(i=0;i<kayitSayisi;i++) 
	{ 
		if(kayitlar[i].numara%2==1) 
		{ 
			uzunluk=strlen(kayitlar[i].soyad); 
			for(j=0;j<uzunluk/2;j++) 
			{ 
				temp=kayitlar[i].soyad[j]; 
				kayitlar[i].soyad[j]=kayitlar[i].soyad[uzunluk-j-1]; 
				kayitlar[i].soyad[uzunluk-j-1]=temp; 
			} 

		} 
	} 

}

arkadaşlar bu kodda çalışmıyor,sizce neden?yardımcı olabilcek var mı???
bende çalıştı sende nerde hata verioki:S





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