C Dilinde Menü ile Öğrenci Bilgileri Kaydı

Merhabalar bu gün c dilinde örnek bir program paylaşacağım. Program yine öğrenci bilgilerini dizide tutan bir yapıya sahip olacak. Dİğer programlardan farkı ise bu işlemleri bir menü yardımıyla, bize bir kaç seçenek sunarak yapmasıdır. Programı kısaca özetledikten sonra satır satır açıklamaya çalışacağım.

Öncelikle bilgileri tutacak dizileri tanımladım. Ben iki kişinin bilgilerini tutabilecek diziler tanımladım, siz daha fazla öğrencinin bilgilerini tutan diziler tanımlayabilirsiniz. Tüm işlemleri fonksiyonlarda yaptıracağım, her işlem için ayrı ayrı fonksiyonlar tanımladım. Gördüğünüz üzere main fonksiyonu içinde sadece “menu” fonksiyonunu çağırdım. Menü fonksiyonu ise kullanıcıya seçenekler sunarak yapılacak işlemi seçmesini sağlıyor. “bilgiler” fonksiyonu öğrenci bilgilerini diziye alırken, “listele” fonksiyonu alınan bu verilerin, tamamının listelenmesini sağlıyor. “bul” fonksiyonu ise öğrenci bilgilerinin, öğrenci numarası girilerek görüntülenmesini sağlıyor. “bul” fonksiyonu için bir nevi arama fonksiyonu dadenebilir.Bu fonksiyonlar yardımıyla öğrenci bilgi kaydı kolaylıkla yapılabilir.
#include
static char ad[2][20];
static char soyad[2][20];
static int no[2],vize[2],final[2],ort[2];
void bilgiler();
void listele();
void bul();
void d();
void menu();
void main()
{
menu();
}
void menu()
{
int k;
printf(“ogrenci bilgisi girmek icin 1′ e basinizn”);
printf(“ogrencileri listelemek icin 2′ ye basinizn”);
printf(“ogrenci bilgisi ogrenmek icin 3′ e basinizn”);
printf(“cikmak icin 4 e basinizn”);
scanf(“%d”,&k;);
if(k==1)
{
bilgiler();
}
if(k==2)
{
listele();
}
if(k==3)
{
bul();
}
if(k==4)
{
d();
}
}
void bilgiler()
{
int i,b;
for(i=0;i<2;i++)
{
printf(“%d. ogrencinin numarasini adini soyadini girinizn”,i+1);
scanf(“%d”,&no;[i]);
scanf(“%s”,ad[i]);
scanf(“%s”,soyad[i]);
printf(“%d. ogrencinin vize ve final notlarini girinizn”,i+1);
scanf(“%d%d”,&vize;[i],&final;[i]);
}
printf(“menuye donmek icin 1 e basinizn”);
printf(“cikmak icin 2′ ye basinn”);
scanf(“%d”,&b;);
if(b==1)
{
menu();
}
else if(b==2)
{
d();
}
}
void listele()
{
int f,i;
for(i=0;i<2;i++)
{
printf(” ogrencinin adi: %sn”,ad[i]);
printf(” ogrencinin soyadi: %sn”,soyad[i]);
printf(” ogrencinin numarasi: %dn”,no[i]);
printf(” ogrencinin vize notu: %dn”,vize[i]);
printf(” ogrencinin final notu: %dn”,final[i]);
ort[i]=vize[i]*0.6+final[i]*0.4;
printf(” ogrencinin ortalamasi: %dnn”,ort[i]);
}
printf(“menuye donmek icin 1 e basinizn”);
printf(“cikmak icin 2 e basinizn”);
scanf(“%d”,&f;);
if(f==1)
{
menu();
}
else if(f==2)
{
d();
}
}
void d()
{
printf(“nCreated by serefakyuz.com “thanks to C.M.D”n”);
}
void bul()
{
int l,p,a,o;
char t[20];
printf(“notlarini gormek istediginiz ogrencinin numarasini girinizn”);
scanf(“%d”,&p;);
for(a=0;a<2;a++)
{
if(p==no[a])
{
printf(“n%s %sn”,ad[a],soyad[a]);
printf(“vize=%dnfinal=%dnn”,vize[a],final[a]);
}
else
{
printf(“kayitli olmayan bir numara girdiniz lutfen tekrar deneyinn”);
bul();
}
}
printf(“baska bir ogrencinin notlarini gormek icin 1 e basinizn”);
printf(“menuye donmek icin 2 e basinizn”);
scanf(“%d”,&o;);
if(o==2)
{
menu();
}
if(o==1)
{
bul();
}
}
Programı inceleyip çalıştırdığınızda daha iyi anlayabileceksiniz. Fonksiyonları anlatarak menü ile öğrenci bilgi kaydını fazla detaya inmeden anlatmaya çalıştım. Anlaşılmayan noktalarda yine yardımcı olmaya çalışacağım. Umarım faydalı olmuştur. İyi günler…

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir