C Programlama Pointer Ögrenci Kayıt Sistemi



#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
typedef struct liste{
int no;
char ad[100];
struct liste *sag;
}lst;
lst *root=NULL;
void ekle(lst *kok,lst *yeni)
{
if(kok==NULL)
{
root=yeni;
}
else
{
if(kok->sag==NULL)
{
kok->sag=yeni;
}
else
{
ekle(kok->sag,yeni);
}
}
}
void listele(lst *kok)
{
if(kok!=NULL)
{
printf("Ismi:%s\n",kok->ad);
printf("No:%d\n",kok->no);
listele(kok->sag);
}
}
lst *Ara(lst *kok,int aranan)
{
if(kok!=NULL)
{
if(kok->no==aranan)
{
return kok;
}
else
{
Ara(kok->sag,aranan);
}
}
}
int main()
{
system("COLOR 9A");
int numara;
char alf;
FILE *dosya;
if((dosya=fopen("kayit.txt","w"))==NULL)
{
printf("Dosya acilamamistir!!!Lutfen tekrar deneyiniz...\n");
}
lst *yeni,*deger;
printf("Yapmak istedginiz islemi seciniz....\nEkleme yapmak icin 1\nListelemek icin 2\nNo aramak icin 3\nCikmak icin 4\n");
while(1)
{
scanf("%c",&alf);
switch(alf)
{
case '1':
yeni=(lst*)malloc(sizeof(lst));
if(yeni==NULL)
{
printf("Hafiza doludur...\n");
}
printf("Ogrenci adini giriniz...\n");
scanf("%s",¥i->ad);
printf("Numaranizi giriniz....\n");
scanf("%d",¥i->no);
yeni->sag=NULL;
fprintf(dosya,"Adi:%s \tNumara:%d\n",yeni->ad,yeni->no);
ekle(root,yeni);
break;
case '2':
if(root!=NULL)
{
listele(root);
}
else
{
printf("Goruntelecenek eleman bulunamamistir!!\n");
}
break;
case '3':
printf("Aranacak numarayi giriniz...\n");
scanf("%d",&numara);
deger=Ara(root,numara);
if(deger==NULL)
{
printf("Aradiginiz numara bulunamamistir!!\n");
}
else
{
printf("Aradiginiz ogrenci numarasi bulunmustur...%d\n",deger->no);
}
case '4':
system("CLS");
exit(0);
break;
}
}
system("pause");
return 0;
}


Yorum Gönder

0 Yorumlar