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ı?
Kodu yazarsan eğer yardımcı olmaya çalışırız.
Buyrun Hocam kod. İki sorun var birincisi silme isleminde birden cok kiside ilki haric hepsini siliyor. İkincisi not girsite sectigim numara da sorun cıkarıyor buyrun bi inceleyin.
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');
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; }
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; } }
codeblocs ile yazıldı.
Kodlarını kontrol et bence birkez daha. Validation hataların var. Örneğin devam etmek istiyormusunuz diye soruyosun 'h'ye bastığında döngü dışına çıkıyor. Fakat başka herhangi bişeye bastığında döngüye devam ediyor. Ayrıca kayıt eklerken istediğim karakteri girebiliyorum. Doğum yerine 3 doğum tarihine a gibi.
Bir de buraya koyduğunuz kodları [code][/code] tagları arasına yazinki şu şekilde gözüksün girintilemeler okuyabilelim
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');
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; }
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; } }
quote:
Orijinalden alıntı: zoom_grange
Kodlarını kontrol et bence birkez daha. Validation hataların var. Örneğin devam etmek istiyormusunuz diye soruyosun 'h'ye bastığında döngü dışına çıkıyor. Fakat başka herhangi bişeye bastığında döngüye devam ediyor. Ayrıca kayıt eklerken istediğim karakteri girebiliyorum. Doğum yerine 3 doğum tarihine a gibi.
Hocam o hataları giderebilecem. Not girişini aynı dosyaya kaydetme seklinde düzenledim. SOunlar hiç bitmiyor ki:( Şimdi de silme isleminde 5 tane kayıt yapıorum. Diyelim ki 3 numaralı ogrencıyi silicem 1 numaralı haric hepsi gidiyor.
quote:
Orijinalden alıntı: aktoluna
quote:
Orijinalden alıntı: zoom_grange
Kodlarını kontrol et bence birkez daha. Validation hataların var. Örneğin devam etmek istiyormusunuz diye soruyosun 'h'ye bastığında döngü dışına çıkıyor. Fakat başka herhangi bişeye bastığında döngüye devam ediyor. Ayrıca kayıt eklerken istediğim karakteri girebiliyorum. Doğum yerine 3 doğum tarihine a gibi.
Hocam o hataları giderebilecem. Not girişini aynı dosyaya kaydetme seklinde düzenledim. SOunlar hiç bitmiyor ki:( Şimdi de silme isleminde 5 tane kayıt yapıorum. Diyelim ki 3 numaralı ogrencıyi silicem 1 numaralı haric hepsi gidiyor.
Dostm final dönemindeyim şuan. 10 gün sonra hala yardıma ihtiyacın olursa elimden geleni yaparım.
Tamam hocam teşekkur ederim başarılar
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme