Yazar |
|
blindalley
balikesir
banlandı
Kayıt: 01.12.2006 |
|
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
Kayıt: 18.01.2007 |
|
tesekkurler
|
|
Yazar |
|
blindalley
balikesir
banlandı
Kayıt: 01.12.2006 |
|
numb87 yazdi | tesekkurler | umrm işe yaramıştır..ve umarm yarında yarar:)
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
hata vermio ama doğru da çalışmıo final 2. soru hata nerde
#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
Kayıt: 30.11.2007 |
|
tam incelemedim ama dosyaya yaz fonksiyonunuzdaki %lf yerine %f olmalı sanki
|
|
Yazar |
|
fundagulkaya
istanbul
Kayıt: 07.11.2007 |
|
dosyaya yaz fonksiyonunda fwrite yerine fprintf yaz...
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
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 olcak
|
|
Yazar |
|
alew
istanbul
Kayıt: 01.04.2007 |
|
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 ...........
|
|
Yazar |
|
fundagulkaya
istanbul
Kayıt: 07.11.2007 |
|
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 ........... |
ben txt die yazdım ama bu kodun başka problemleri de var:(
|
|
Yazar |
|
encin
Kayıt: 30.11.2007 |
|
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
|
|
Yazar |
|
fundagulkaya
istanbul
Kayıt: 07.11.2007 |
|
#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
balikesir
banlandı
Kayıt: 01.12.2006 |
|
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
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | |