İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C Dönem ödevi için yardim!

aktoluna08.01.20128 cevap1.829 görüntüleme
2009'den beri9 mesaj
#1
C dönem ödevim bir otomasyon programı. Programı yazdım fakat bir takım sorunlar var. Not giris kısmı ekledim. Bu kısım bir sorun var. Not giriliyor ama listelemek istedigimde sorun olusuyor. Yardım edebilecek olan var mı?
Cevaplar
2011'den beri13 mesaj
#2
Merhaba,
Yazdığın not giriş kısmını ve aldığın hata mesajını yazarsan yardımcı olmaya çalışırım.
2007'den beri17 bin mesaj
#3
Not'un doğru girildiğine emin misin peki?
2012'den beri15 mesaj
#4
fprint ve fscan la yapabilirsin bunların çıkışlarını ama sorunu yazsan daha yardımcı olabiliriz
2007'den beri17 bin mesaj
#5
rasb dedi: ↑
fprint ve fscan la yapabilirsin bunların çıkışlarını ama sorunu yazsan daha yardımcı olabiliriz
printf ile scanf demek istedin sanırım :)
aktoluna Konuyu açan
2009'den beri9 mesaj
#6
GreenN dedi: ↑
Merhaba,
Yazdığın not giriş kısmını ve aldığın hata mesajını yazarsan yardımcı olmaya çalışırım.
Hocam aldıgım hata yok. Sorunu söyleyeyim. Notlari giriyorum . Bu notları listelettigim zaman sorun çıkıyor. Ben kodları göstereyim isterseniz.

--- Mesaj Güncellendi ---

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


FILE *pt, *p,*pf;
union id{char dogum[12];
 char dogum_y[10];
 char sinifi[4];
};
struct ogrnci{char no[10], ad[15],soyad[20],iz;
char bad[15],aad[15],telno[10];
char sehir[15],adres[50];
union id dog;}ogr;




struct not1{float mv1, mo, mf, mor, kv1,ko,kf,kor, fv1,fo,ff,forr, bv1,bo,bf,bor ,av1,ao,af,aor,dv1,dod,df,dor}ogr2;




int n,j,kayitsay,kayitsay1,kayuz,kayno,kontrol;
long kaypos;
char ad1[15],noara[15];
char secim,cev,devam,secim2;


int parola();
void ogr_kayit(void);
int ogr_arama(void);
void ogr_listele(void);
void ogr_listele2(void);
int duzelt(void);
int silme(void);
int n_giris(void);
main() {
parola();
printf("\t\t//////////OGRENCI OTOMASYON PROGRAMI//////////\n");
do{


printf("\n [1.] Ogrenci Bilgi Girisi");
printf("\n [2.] Ogrenci Bilgi Arama");
printf("\n [3.] Ogrenci Bilgi Listeleme");
printf("\n [4.] Ogrenci Bilgi Duzeltme");
printf("\n [5.] Ogrenci Bilgi Silme");
printf("\n [6.] Ogrenci Not Girisi");
printf("\n [7.] Ogrenci Not Listeleme");
printf("\n [8.] Programdan Cikis");
printf("\n      Lutfen seciminizi giriniz  (1-2-3-4-5-6-7) :");
fflush(stdin);
A:secim=getche();
if(secim<'1' || secim>'8' ){
printf("\n yanlis secim yaptiniz tekrar giriniz...:");
goto A;}
if (secim=='1') ogr_kayit();
if (secim=='2') ogr_arama();
if (secim=='3') ogr_listele();
if (secim=='4') duzelt();
if (secim=='5') silme();
if (secim=='6') n_giris();
if (secim=='7') ogr_listele2();
}while(secim!='8');


}


void ogr_kayit(void){
    pt=fopen("oto.dat","a+b");
if(pt==NULL)
{
printf("Dosya Acilamadi");
exit(0);
}
    kayuz=sizeof(ogr);
do {
    printf("\nKayit No.....:");
    scanf("%d",&kayno);
	ogr.iz= ' ';
	kaypos=(kayno-1)*kayuz;
	fseek(pt,kaypos,SEEK_SET);
	fread(&ogr, kayuz, 1, pt);


if (ogr.iz!='*'){
fflush(pt);
printf("\nOgrenci No  :");
fflush(stdin);
gets(ogr.no);


printf("\nOgrenci Adi :");
fflush(stdin);
gets(ogr.ad);
printf("\nOgrenci Soyadi :");
fflush(stdin);
gets(ogr.soyad);
printf("\nBaba Adi :");
fflush(stdin);
gets(ogr.bad);
printf("\nAnne Adi :");
fflush(stdin);
gets(ogr.aad);
printf("\nTelefon Numarasi :");
fflush(stdin);
gets(ogr.telno);
printf("\nSehiri :");
fflush(stdin);
gets(ogr.sehir);
printf("\nAdresi :");
fflush(stdin);
gets(ogr.adres);
printf("\nDogum yeri :");
fflush(stdin);
gets(ogr.dog.dogum);
printf("\nDogum yili :");
fflush(stdin);
gets(ogr.dog.dogum_y);
printf("\nSinifi :");
fflush(stdin);
gets(ogr.dog.sinifi);
fflush(pt);
ogr.iz='*';
fseek(pt,filelength(fileno(pt)),SEEK_SET);
fwrite(&ogr,sizeof(ogr),1,pt);
}
else
printf("Bu numarali kayit var\n");
printf("Devam etmek ister misiniz?[E/H]:");
cev=getche();
}
while(cev!='h' && cev!='H');
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
fclose(pt);
return 0;
}


int ogr_arama(void){
      pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
kayitsay=filelength(fileno(pt))/sizeof(ogr);
printf("\n 1-- Isim ile arama \n 2-- Ogrenci no ile arama \n :");
secim2=getche();
while (secim2!='1' && secim2!='2'){
printf("\nyanlis girdiniz lutfen tekrar giriniz :");
secim2=getche();
}
if (secim2=='1')
{
do {
    rewind(pt);
	printf("\nradiginiz kisinin adini giriniz:");
	gets(ad1);
for(n=0; n<kayitsay; n++){
fseek(pt,(n)*sizeof(struct ogrnci),SEEK_SET);
fread(&ogr,sizeof(struct ogrnci),1,pt);
if(ogr.iz=='*'&&  !strcmp(ogr.ad,ad1))
{
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
kontrol=1;
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
return 0;
}
}
if (kontrol != 1)
printf("\nkayit bulunamadi...\n");
		printf("Yeni arama yapilacak mi?[E/H]:\n");




	cev=toupper(getch());
	while(cev!='E' && cev!='H'){


	cev=toupper(getche());


	}}while(cev!='H');
}




if (secim2== '2')
{
  do {
      rewind(pt);
	printf("\nAradiginiz kisinin numarasini giriniz:");
	gets(noara);
for(n=0; n<kayitsay; n++){
fseek(pt,(n)*sizeof(struct ogrnci),SEEK_SET);
fread(&ogr,sizeof(struct ogrnci),1,pt);
if(ogr.iz=='*' && strcmp(noara,ogr.no)==0 )
{
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
return 0;
}
}
		printf("Yeni arama yap&#253;lacak m&#253;?[E/H]:\n");
	cev=toupper(getch());
	while(cev!='E' && cev!='H'){


	cev=toupper(getche());


	}}while(cev!='H');
}
fclose(pt);
 getch();
return 0;
}






void ogr_listele(void){
        pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
    rewind(pt);
kayitsay=filelength(fileno(pt))/sizeof(ogr);
for(n=0;n<kayitsay;n++){


fseek(pt,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);


printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);


}
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
fclose(pt);
return 0;
}


int duzelt (void){
    pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
rewind(pt);
printf("Duzeltme yapilacak ismi giriniz  :");
gets(ad1);
while(fread(&ogr,sizeof(ogr),1,pt)!=0)
{if(ogr.iz=='*' && strcmp(ogr.ad,ad1)==0)


printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soaydi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nMemleketi :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
printf("\nYeni Ogrenci No :");
gets(ogr.no);
printf("\nYeni Ogrenci Adi :");
gets(ogr.ad);
printf("\nYeni Ogrenci Soyadi :");
fflush(stdin);
gets(ogr.soyad);
printf("\nYeni Baba Adi :");
fflush(stdin);
gets(ogr.bad);
printf("\nYeni Anne Adi :");
fflush(stdin);
gets(ogr.aad);
printf("\nYeni Telefon Numarasi :");
fflush(stdin);
gets(ogr.telno);
printf("\nYeni Sehiri :");
fflush(stdin);
gets(ogr.sehir);
printf("\nYeni Adresi :");
fflush(stdin);
gets(ogr.adres);
printf("\nYeni Dogum yeri :");
fflush(stdin);
gets(ogr.dog.dogum);
printf("\nYeni Dogum yili :");
fflush(stdin);
gets(ogr.dog.dogum_y);
printf("\nYeni Sinifi :");
fflush(stdin);
gets(ogr.dog.sinifi);
fseek(pt,-sizeof(ogr),SEEK_CUR);
fwrite(&ogr,sizeof(ogr),1,pt);
kontrol=1;
break;
     }
     if(kontrol!=1)
printf("SILINECEK KAYIT BULUNAMADI!!!\n");
getch();
fclose(pt);
return 0;


}


int silme(void)
{
        pt=fopen("oto.dat","r+b");
        p=fopen("yedek.dat", "w+b");
if(pt==NULL && p==NULL)
{
printf("Dosya Acilamadi");
exit(0);
}


kayitsay=filelength(fileno(pt))/sizeof(ogr);
do{


printf(" \n silmek istediginiz numara  :");
gets(noara);
/*while(fread(&ogr,sizeof(struct ogrnci),1,pt)!=0)*/
for(n=0; n<kayitsay ; n++)
{
    fseek(pt,sizeof(ogr)*n, SEEK_SET); /*yazılmayabilir*/
		fread(&ogr,sizeof(ogr),1,pt);


    if(ogr.iz=='*' && !strcmp(noara,ogr.no))
    continue;
else
fwrite(&ogr,sizeof(ogr),1,p);
break;


    }
    printf("\n Yeni silme yapılacak mi?[E/H]:");
cev=toupper(getch());
	}while(cev!='H');
	fclose(pt);
	fclose(p);
	remove("oto.dat");
	rename("yedek.dat","oto.dat");
	getch();
return 0;
}


int n_giris(void)
{
      pt=fopen("oto.dat","r+b");
        pf=fopen("not.dat", "a+b");
if(pt==NULL && pf==NULL)
{
printf("Dosya Acilamadi");
exit(0);
}




B:printf(" \nNot Girilecek Ogrenciyi giriniz :");
gets(noara);


while(fread(&ogr,sizeof(ogr),1,pt)!=0)
{if(ogr.iz=='*' && strcmp(ogr.no,noara)==0)


printf("\n Not girilecek dersi seciniz\n [1] - Matematik \n [2] - Fizik \n [3] - Kimya \n [4] - Bilgisayar \n [5] - Algoritma \n [6] - Dil : ");
cev=getchar();
rewind(pt);
rewind(pf);


fseek(pt,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);


if(cev=='1')
{
printf("\nMatematik 1. vize notu:");
scanf("%f", &ogr2.mv1);
printf("\nMatematik Odev notu:");
scanf("%f", &ogr2.mo);
printf("\nMatematik Final notu:");
scanf("%f", &ogr2.mf);
ogr2.mor=( (ogr2.mv1*30)/100 + (ogr2.mo*20)/100 + (ogr2.mf*50)/100 );
}
if(cev=='2')
{
printf("\nKimya 1. vize notu:");
scanf("%f", &ogr2.kv1);
printf("\nKimya Odev notu:");
scanf("%f", &ogr2.ko);
printf("\nKimya Final notu:");
scanf("%f", &ogr2.kf);
ogr2.kor=( (ogr2.kv1*25)/100 + (ogr2.ko*15)/100 + (ogr2.kf*60)/100 );
}
if(cev=='3')
{
printf("\nFizik 1. vize notu:");
scanf("%f", &ogr2.fv1);
printf("\nFizik Odev notu:");
scanf("%f", &ogr2.fo);
printf("\nFizik Final notu:");
scanf("%f", &ogr2.ff);
ogr2.forr=( (ogr2.fv1*30)/100 + (ogr2.fo*20)/100 + (ogr2.ff*50)/100 );
}
if(cev=='4')
{
printf("\nBilgisayar 1. vize notu:");
scanf("%f", &ogr2.bv1);
printf("\nBilgisayar Odev notu:");
scanf("%f", &ogr2.bo);
printf("\nBilgisayar Final notu:");
scanf("%f", &ogr2.bf);
ogr2.bor=( (ogr2.bv1*40)/100 + (ogr2.bo*10)/100 + (ogr2.bf*50)/100 );
}
if(cev=='5')
{
printf("\nAlgoritma 1. vize notu:");
scanf("%f", &ogr2.av1);
printf("\nAlgoritma  Odev notu:");
scanf("%f", &ogr2.ao);
printf("\nAlgoritma  Final notu:");
scanf("%f", &ogr2.af);
ogr2.aor=( (ogr2.av1*30)/100 + (ogr2.ao*10)/100 + (ogr2.af*60)/100 );
}
if(cev=='6')
{
printf("\nYabanci dil 1. vize notu:");
scanf("%f", &ogr2.dv1);
printf("\nYabanci dil Odev notu:");
scanf("%f", &ogr2.dod);
printf("\nYabanci dil Final notu:");
scanf("%f", &ogr2.df);
ogr2.dor=( (ogr2.dv1*30)/100 + (ogr2.dod*20)/100 + (ogr2.df*50)/100 );
}
fseek(pf,-sizeof(ogr2),SEEK_CUR);
fwrite(&ogr2,sizeof(ogr2),1,pf);
kontrol=1;


break;
     }




     if(kontrol!=1)
printf("Not KAYIT BULUNAMADI!!!\n");
printf("\nYeni not girisi yapmak istermisiniz : ");
secim2=getch();
while(secim2!='E' && secim2!='H'){
	secim2=toupper(getch());
}
while(secim2!='H')
{
    goto B;
}
fclose(pt);
return 0;
}






void ogr_listele2(void){
       pt=fopen("oto.dat","r+b");
        pf=fopen("not.dat", "r+b");
if(pt==NULL && pf==NULL)
{
printf("Dosya Acilamadi");
exit(0);
rewind(pf);
rewind(pt);
}


kayitsay=filelength(fileno(pt))/sizeof(ogr);
kayitsay1=filelength(fileno(pf))/sizeof(ogr2);
for(j=0;j<kayitsay;j++)
{




fseek(pt,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);
fseek(pf,(n)*sizeof(ogr2),SEEK_SET);
fread(&ogr2,sizeof(ogr2),1,pf);
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\n\nMatematik 1. Vize notu  :%f",ogr2.mv1);
printf("\nMatematik Odev notu  :%f",ogr2.mo);
printf("\nMatematik Final notu  :%f",ogr2.mf);
printf("\nMatematik ort notu  :%f",ogr2.mor);
printf("\n\nKimya 1. Vize notu  :%f",ogr2.kv1);
printf("\nKimya Odev notu  :%f",ogr2.ko);
printf("\nKimya Final notu  :%f",ogr2.kf);
printf("\nKimya ort notu  :%f",ogr2.kor);
printf("\n\nFizik 1. Vize notu  :%f",ogr2.fv1);
printf("\nFizik Odev notu  :%f",ogr2.fo);
printf("\nFizik Final notu  :%f",ogr2.ff);
printf("\nFizik ort notu  :%f",ogr2.forr);
printf("\n\nBilgisayar 1. Vize notu  :%f",ogr2.bv1);
printf("\nBilgisayar Odev notu  :%f",ogr2.bo);
printf("\nBilgisayar Final notu  :%f",ogr2.bf);
printf("\nbilgisayar ort notu  :%f",ogr2.bor);
printf("\n\nAlgoritma 1. Vize notu  :%f",ogr2.av1);
printf("\nAlgoritma Odev notu  :%f",ogr2.ao);
printf("\nAlgoritma Final notu  :%f",ogr2.af);
printf("\nAlgoritma ort notu  :%f",ogr2.aor);
printf("\n\nDil 1. Vize notu  :%f",ogr2.dv1);
printf("\nDil Odev notu  :%f",ogr2.dod);
printf("\nDil Final notu  :%f",ogr2.df);
printf("\nDil ort notu  :%f",ogr2.dor);
}
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
fclose(pt);
return 0;
}


int parola()
{
        char paro[] = "1";
        char paro1[20];
        int j=0;
        printf("Ogrenci Otomasyon Programi =\t***Ali AKTOLUN***\n\n\t\t\tYalova Universitesi Bilgisayar Muhendisligi\n\n");
        printf("Parolayi dikkatli giriniz.Aksi taktirde sistem kilitlenecektir!!!");
        printf("\nParolayi Giriniz Lutfen : ");


        gets(paro1);
        if (!strcmp(paro,paro1))


        {
                         printf("Onaylandi...\n");
                         return 1;
        }
        else
        {
                         printf("HATA!!!.Lutfen programi tekrar baslatip sifreyi girmeyi tekrar deneyin\n");
                         for(;;);
                         return 0;
        }
}




codeblocks ile yazdım.

--- Mesaj Güncellendi ---

rasb dedi: ↑
fprint ve fscan la yapabilirsin bunların çıkışlarını ama sorunu yazsan daha yardımcı olabiliriz
ikili dosya ile kaydediliyor hepsi o yüzden fread fseek komutları ile listeleme yapıyorum. Diger bölümlerde sorun yok sadece not listeleme bir hata var ama bulamıyorum
2011'den beri13 mesaj
#7
Sorunun sanırım not listelemede birden fazla kişi bilgisi girmene ragmen sadece ilk girdiğin kişinin bilgilerinin yazılması. Şu kısımda :
fseek(pt ,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);
fseek(pf ,(n)*sizeof(ogr2),SEEK_SET);
fread(&ogr2,sizeof(ogr2),1,pf);

burada kayıt sayısını "j" değişkenine indekslemene ragmen n yazmıssın. n yerine j yazarsan sorunun çözülür.
2011'den beri15 mesaj
#8
yardım için teşekkürler
aktoluna Konuyu açan
2009'den beri9 mesaj
#9
Hocam not kısmını içe içe struct yapıyla yaptım artık. Ayrı bir dosya açmıyor aynı dosyada ama sorun su bu sefer istedigim ögrenciyi bulamıyor:turned: Bide buna göz atarmısınız?
#include<stdio.h>#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<io.h>


FILE *pt, *p,*pf;
struct not1{float mv1, mo, mf, mor, kv1,ko,kf,kor, fv1,fo,ff,forr, bv1,bo,bf,bor ,av1,ao,af,aor,dv1,dod,df,dor};
union id{char dogum[12];
 char dogum_y[10];
 char sinifi[4];
};
struct ogrnci{char no[10], ad[15],soyad[20],iz;
char bad[15],aad[15],telno[10];
char sehir[15],adres[50];
union id dog;
struct not1 ogr2;}ogr;








int n,j,kayitsay,kayitsay1,kayuz,kayno,kontrol;
long kaypos;
char ad1[15],noara[15];
char secim,cev,devam,secim2;


int parola();
void ogr_kayit(void);
int ogr_arama(void);
void ogr_listele(void);
void ogr_listele2(void);
int duzelt(void);
int silme(void);
int n_giris(void);
main() {
parola();
printf("\t\t//////////OGRENCI OTOMASYON PROGRAMI//////////\n");
do{


printf("\n [1.] Ogrenci Bilgi Girisi");
printf("\n [2.] Ogrenci Bilgi Arama");
printf("\n [3.] Ogrenci Bilgi Listeleme");
printf("\n [4.] Ogrenci Bilgi Duzeltme");
printf("\n [5.] Ogrenci Bilgi Silme");
printf("\n [6.] Ogrenci Not Girisi");
printf("\n [7.] Ogrenci Not Listeleme");
printf("\n [8.] Programdan Cikis");
printf("\n      Lutfen seciminizi giriniz  (1-2-3-4-5-6-7) :");
fflush(stdin);
A:secim=getche();
if(secim<'1' || secim>'8' ){
printf("\n yanlis secim yaptiniz tekrar giriniz...:");
goto A;}
if (secim=='1') ogr_kayit();
if (secim=='2') ogr_arama();
if (secim=='3') ogr_listele();
if (secim=='4') duzelt();
if (secim=='5') silme();
if (secim=='6') n_giris();
if (secim=='7') ogr_listele2();
}while(secim!='8');


}


void ogr_kayit(void){
    pt=fopen("oto.dat","a+b");
if(pt==NULL)
{
printf("Dosya Acilamadi");
exit(0);
}
    kayuz=sizeof(ogr);
do {
    printf("\nKayit No.....:");
    scanf("%d",&kayno);
	ogr.iz= ' ';
	kaypos=(kayno-1)*kayuz;
	fseek(pt,kaypos,SEEK_SET);
	fread(&ogr, kayuz, 1, pt);


if (ogr.iz!='*'){
fflush(pt);
printf("\nOgrenci No  :");
fflush(stdin);
gets(ogr.no);


printf("\nOgrenci Adi :");
fflush(stdin);
gets(ogr.ad);
printf("\nOgrenci Soyadi :");
fflush(stdin);
gets(ogr.soyad);
printf("\nBaba Adi :");
fflush(stdin);
gets(ogr.bad);
printf("\nAnne Adi :");
fflush(stdin);
gets(ogr.aad);
printf("\nTelefon Numarasi :");
fflush(stdin);
gets(ogr.telno);
printf("\nSehiri :");
fflush(stdin);
gets(ogr.sehir);
printf("\nAdresi :");
fflush(stdin);
gets(ogr.adres);
printf("\nDogum yeri :");
fflush(stdin);
gets(ogr.dog.dogum);
printf("\nDogum yili :");
fflush(stdin);
gets(ogr.dog.dogum_y);
printf("\nSinifi :");
fflush(stdin);
gets(ogr.dog.sinifi);
fflush(pt);
ogr.iz='*';
fseek(pt,filelength(fileno(pt)),SEEK_SET);
fwrite(&ogr,sizeof(ogr),1,pt);
}
else
printf("Bu numarali kayit var\n");
printf("Devam etmek ister misiniz?[E/H]:");
cev=getche();
}
while(cev!='h' && cev!='H');
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
fclose(pt);
return 0;
}


int ogr_arama(void){
      pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
kayitsay=filelength(fileno(pt))/sizeof(ogr);
printf("\n 1-- Isim ile arama \n 2-- Ogrenci no ile arama \n :");
secim2=getche();
while (secim2!='1' && secim2!='2'){
printf("\nyanlis girdiniz lutfen tekrar giriniz :");
secim2=getche();
}
if (secim2=='1')
{
do {
    rewind(pt);
	printf("\nradiginiz kisinin adini giriniz:");
	gets(ad1);
for(n=0; n<kayitsay; n++){
fseek(pt,(n)*sizeof(struct ogrnci),SEEK_SET);
fread(&ogr,sizeof(struct ogrnci),1,pt);
if(ogr.iz=='*'&&  !strcmp(ogr.ad,ad1))
{
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
kontrol=1;
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
return 0;
}
}
if (kontrol != 1)
printf("\nkayit bulunamadi...\n");
		printf("Yeni arama yapilacak mi?[E/H]:\n");




	cev=toupper(getch());
	while(cev!='E' && cev!='H'){


	cev=toupper(getche());


	}}while(cev!='H');
}




if (secim2== '2')
{
  do {
      rewind(pt);
	printf("\nAradiginiz kisinin numarasini giriniz:");
	gets(noara);
for(n=0; n<kayitsay; n++){
fseek(pt,(n)*sizeof(struct ogrnci),SEEK_SET);
fread(&ogr,sizeof(struct ogrnci),1,pt);
if(ogr.iz=='*' && strcmp(noara,ogr.no)==0 )
{
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
return 0;
}
}
		printf("Yeni arama yap&#253;lacak m&#253;?[E/H]:\n");
	cev=toupper(getch());
	while(cev!='E' && cev!='H'){


	cev=toupper(getche());


	}}while(cev!='H');
}
fclose(pt);
 getch();
return 0;
}






void ogr_listele(void){
        pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
    rewind(pt);
kayitsay=filelength(fileno(pt))/sizeof(ogr);
for(n=0;n<kayitsay;n++){


fseek(pt,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);


printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nSehiri :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);


}
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();
fclose(pt);
return 0;
}


int duzelt (void){
    pt=fopen("oto.dat","r+b");
if(pt==NULL)
{
printf("Dosya Açilamadi");
exit(0);
}
rewind(pt);
printf("Duzeltme yapilacak ismi giriniz  :");
gets(ad1);
while(fread(&ogr,sizeof(ogr),1,pt)!=0)
{if(ogr.iz=='*' && strcmp(ogr.ad,ad1)==0)


printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soaydi :%s",ogr.soyad);
printf("\nBaba Adi :%s",ogr.bad);
printf("\nAnne Adi :%s",ogr.aad);
printf("\nTelefon No :%s",ogr.telno);
printf("\nMemleketi :%s",ogr.sehir);
printf("\nAdresi :%s",ogr.adres);
printf("\nDogum yeri :%s",ogr.dog.dogum);
printf("\nDogum yili :%s",ogr.dog.dogum_y);
printf("\nSinifi :%s",ogr.dog.sinifi);
printf("\nYeni Ogrenci No :");
gets(ogr.no);
printf("\nYeni Ogrenci Adi :");
gets(ogr.ad);
printf("\nYeni Ogrenci Soyadi :");
fflush(stdin);
gets(ogr.soyad);
printf("\nYeni Baba Adi :");
fflush(stdin);
gets(ogr.bad);
printf("\nYeni Anne Adi :");
fflush(stdin);
gets(ogr.aad);
printf("\nYeni Telefon Numarasi :");
fflush(stdin);
gets(ogr.telno);
printf("\nYeni Sehiri :");
fflush(stdin);
gets(ogr.sehir);
printf("\nYeni Adresi :");
fflush(stdin);
gets(ogr.adres);
printf("\nYeni Dogum yeri :");
fflush(stdin);
gets(ogr.dog.dogum);
printf("\nYeni Dogum yili :");
fflush(stdin);
gets(ogr.dog.dogum_y);
printf("\nYeni Sinifi :");
fflush(stdin);
gets(ogr.dog.sinifi);
fseek(pt,-sizeof(ogr),SEEK_CUR);
fwrite(&ogr,sizeof(ogr),1,pt);
kontrol=1;
break;
     }
     if(kontrol!=1)
printf("SILINECEK KAYIT BULUNAMADI!!!\n");
getch();
fclose(pt);
return 0;


}


int silme(void)
{
        pt=fopen("oto.dat","r+b");
        p=fopen("yedek.dat", "w+b");
if(pt==NULL && p==NULL)
{
printf("Dosya Acilamadi");
exit(0);
}


kayitsay=filelength(fileno(pt))/sizeof(ogr);
do{


printf(" \n silmek istediginiz numara  :");
gets(noara);
/*while(fread(&ogr,sizeof(struct ogrnci),1,pt)!=0)*/
for(n=0; n<kayitsay ; n++)
{
    fseek(pt,sizeof(ogr)*n, SEEK_SET); /*yazılmayabilir*/
		fread(&ogr,sizeof(ogr),1,pt);


    if(ogr.iz=='*' && !strcmp(noara,ogr.no))
    continue;
else
fwrite(&ogr,sizeof(ogr),1,p);
break;


    }
    printf("\n Yeni silme yapılacak mi?[E/H]:");
cev=toupper(getch());
	}while(cev!='H');
	fclose(pt);
	fclose(p);
	remove("oto.dat");
	rename("yedek.dat","oto.dat");
	getch();
return 0;
}


int n_giris(void)
{
      pt=fopen("oto.dat","r+b");


if(pt==NULL )
{
printf("Dosya Acilamadi");
exit(0);
}
printf(" \nNot Girilecek Ogrenciyi giriniz :");
gets(noara);


while(fread(&ogr,sizeof(ogr),1,pt)!=0)
{if(ogr.iz=='*' && strcmp(ogr.no,noara)==0)
printf("\n Not girilecek dersi seciniz\n [1] - Matematik \n [2] - Fizik \n [3] - Kimya \n [4] - Bilgisayar \n [5] - Algoritma \n [6] - Dil : ");
cev=getchar();
switch(cev){
case '1':
printf("\nMatematik 1. vize notu:");
scanf("%f", &ogr.ogr2.mv1);
printf("\nMatematik Odev notu:");
scanf("%f", &ogr.ogr2.mo);
printf("\nMatematik Final notu:");
scanf("%f", &ogr.ogr2.mf);
ogr.ogr2.mor=( (ogr.ogr2.mv1*30)/100 + (ogr.ogr2.mo*20)/100 + (ogr.ogr2.mf*50)/100 );
break;


case '2':


printf("\nKimya 1. vize notu:");
scanf("%f", &ogr.ogr2.kv1);
printf("\nKimya Odev notu:");
scanf("%f", &ogr.ogr2.ko);
printf("\nKimya Final notu:");
scanf("%f", &ogr.ogr2.kf);
ogr.ogr2.kor=( (ogr.ogr2.kv1*25)/100 + (ogr.ogr2.ko*15)/100 + (ogr.ogr2.kf*60)/100 );
break;
case '3':
printf("\nFizik 1. vize notu:");
scanf("%f", &ogr.ogr2.fv1);
printf("\nFizik Odev notu:");
scanf("%f", &ogr.ogr2.fo);
printf("\nFizik Final notu:");
scanf("%f", &ogr.ogr2.ff);
ogr.ogr2.forr=( (ogr.ogr2.fv1*30)/100 + (ogr.ogr2.fo*20)/100 + (ogr.ogr2.ff*50)/100 );
break;
case '4':
printf("\nBilgisayar 1. vize notu:");
scanf("%f", &ogr.ogr2.bv1);
printf("\nBilgisayar Odev notu:");
scanf("%f", &ogr.ogr2.bo);
printf("\nBilgisayar Final notu:");
scanf("%f", &ogr.ogr2.bf);
ogr.ogr2.bor=( (ogr.ogr2.bv1*40)/100 + (ogr.ogr2.bo*10)/100 + (ogr.ogr2.bf*50)/100 );
break;
case '5':
printf("\nAlgoritma 1. vize notu:");
scanf("%f", &ogr.ogr2.av1);
printf("\nAlgoritma  Odev notu:");
scanf("%f", &ogr.ogr2.ao);
printf("\nAlgoritma  Final notu:");
scanf("%f", &ogr.ogr2.af);
ogr.ogr2.aor=( (ogr.ogr2.av1*30)/100 + (ogr.ogr2.ao*10)/100 + (ogr.ogr2.af*60)/100 );
break;
case '6' :
printf("\nYabanci dil 1. vize notu:");
scanf("%f", &ogr.ogr2.dv1);
printf("\nYabanci dil Odev notu:");
scanf("%f", &ogr.ogr2.dod);
printf("\nYabanci dil Final notu:");
scanf("%f", &ogr.ogr2.df);
ogr.ogr2.dor=( (ogr.ogr2.dv1*30)/100 + (ogr.ogr2.dod*20)/100 + (ogr.ogr2.df*50)/100 );
break;
default:
printf("yanlis secim yaptiniz lutfen tekrar seciniz:");
cev=getchar();
break;
}
fseek(pt,-sizeof(ogr),SEEK_CUR);
fwrite(&ogr,sizeof(ogr),1,pt);
kontrol=1;
break;
     }




     if(kontrol!=1)
printf("Not KAYIT BULUNAMADI!!!\n");
printf("\nYeni not girisi yapmak istermisiniz : ");
secim2=getch();
while(secim2!='E' && secim2!='H'){
	secim2=toupper(getch());
}
while(secim2!='H')
{
printf(" \nNot Girilecek Ogrenciyi giriniz :");
gets(noara);
}
fclose(pt);
return 0;
}






void ogr_listele2(void){
       pt=fopen("oto.dat","r+b");


if(pt==NULL )
{
printf("Dosya Acilamadi");
exit(0);


rewind(pt);
}


kayitsay=filelength(fileno(pt))/sizeof(ogr);
for(n=0;n<kayitsay;n++)
{




fseek(pt,n*sizeof(ogr),SEEK_SET);
fread(&ogr,sizeof(ogr),1,pt);
printf("\n\n\nOgrenci No  :%s",ogr.no);
printf("\nOgrenci Adi :%s",ogr.ad);
printf("\nOgrenci Soyadi :%s",ogr.soyad);
printf("\n\nMatematik 1. Vize notu  :%f",ogr.ogr2.mv1);
printf("\nMatematik Odev notu  :%f",ogr.ogr2.mo);
printf("\nMatematik Final notu  :%f",ogr.ogr2.mf);
printf("\nMatematik ort notu  :%f",ogr.ogr2.mor);
printf("\n\nKimya 1. Vize notu  :%f",ogr.ogr2.kv1);
printf("\nKimya Odev notu  :%f",ogr.ogr2.ko);
printf("\nKimya Final notu  :%f",ogr.ogr2.kf);
printf("\nKimya ort notu  :%f",ogr.ogr2.kor);
printf("\n\nFizik 1. Vize notu  :%f",ogr.ogr2.fv1);
printf("\nFizik Odev notu  :%f",ogr.ogr2.fo);
printf("\nFizik Final notu  :%f",ogr.ogr2.ff);
printf("\nFizik ort notu  :%f",ogr.ogr2.forr);
printf("\n\nBilgisayar 1. Vize notu  :%f",ogr.ogr2.bv1);
printf("\nBilgisayar Odev notu  :%f",ogr.ogr2.bo);
printf("\nBilgisayar Final notu  :%f",ogr.ogr2.bf);
printf("\nbilgisayar ort notu  :%f",ogr.ogr2.bor);
printf("\n\nAlgoritma 1. Vize notu  :%f",ogr.ogr2.av1);
printf("\nAlgoritma Odev notu  :%f",ogr.ogr2.ao);
printf("\nAlgoritma Final notu  :%f",ogr.ogr2.af);
printf("\nAlgoritma ort notu  :%f",ogr.ogr2.aor);
printf("\n\nDil 1. Vize notu  :%f",ogr.ogr2.dv1);
printf("\nDil Odev notu  :%f",ogr.ogr2.dod);
printf("\nDil Final notu  :%f",ogr.ogr2.df);
printf("\nDil ort notu  :%f",ogr.ogr2.dor);
}
printf("\nDevam etmek icin bir tusa basiniz\n");
getch();


fclose(pf);
return 0;
}


int parola()
{
        char paro[] = "1";
        char paro1[20];
        int j=0;
        printf("Ogrenci Otomasyon Programi =\t***Ali AKTOLUN***\n\n\t\t\tYalova Universitesi Bilgisayar Muhendisligi\n\n");
        printf("Parolayi dikkatli giriniz.Aksi taktirde sistem kilitlenecektir!!!");
        printf("\nParolayi Giriniz Lutfen : ");


        gets(paro1);
        if (!strcmp(paro,paro1))


        {
                         printf("Onaylandi...\n");
                         return 1;
        }
        else
        {
                         printf("HATA!!!.Lutfen programi tekrar baslatip sifreyi girmeyi tekrar deneyin\n");
                         for(;;);
                         return 0;
        }
}


Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.