#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#include<stdbool.h>
FILE *fo,*fg;
void kayit_ekle();
void kayit_listeleme();
void kayit_silme();
void kayit_guncelle();
void kayit_noara();
void kayit_adara();
struct ogrenci{
int no,durum;
char ad[10];
char soy[10];
};
struct ogrenci ogr,gec;
int main()
{
int secim,tus;
do{
printf("MENU");
printf("\n\n\n");
printf("1- kayit Ekle\n");
printf("2- kayit Listele\n");
printf("3- kayit silme\n");
printf("4- kayit Guncelle\n");
printf("5- Numara Arama\n");
printf("6- İsim Arama\n");
printf("\n");
printf("Yapmak istediginizi secin:");
scanf("%d",&secim);
switch(secim)
{
case 1 : kayit_ekle(); break;
case 2 : kayit_listeleme(); break;
case 3 : kayit_silme(); break;
case 4 : kayit_guncelle(); break;
case 5 : kayit_noara(); break;
case 6 : kayit_adara(); break;
default : printf("1 ile 7 arasında rakam giriniz:\n\n"); break;
}
printf("Cikmak icin 8 tuşuna basiniz menuye donmek icin 1 ile 7 arasinda rakam giriniz:\n\n");
scanf("%d",&tus);
}while(tus!=8);
return 0;
}
void kayit_ekle()
{
int no;
fo=fopen("D:\\ogrenci.txt","r");
printf("ogrenci numarasi giriniz");
scanf("%d",&ogr.no);
while(fscanf(fo,"%d %s %s %d",&gec.no,gec.ad,gec.soy,&gec.durum)!=EOF)
{
if(ogr.no==gec.no && gec.durum==1)
{
printf("bu kayitta birisi mevcut baska no giriniz.\n");
fclose(fo);
return;
}
}
fclose(fo);
fopen("D:\\ogrenci.txt","r+");
fopen("D:\\ogrenci.txt","w+");
printf("ogrenci adini giriniz.");
scanf("%s",ogr.ad);
printf("ogrenci soyadini giriniz.");
scanf("%s",ogr.soy);
if(strlen(ogr.ad)>10 || strlen(ogr.soy)>10)
{
printf("fazla karakter girildi.\n\n");
}
int yazildi=0;
while(fscanf(fo,"%d %s %s %d",&gec.no,gec.ad,gec.soy,&gec.durum)!=EOF)
{
if(strcmp(ogr.ad,gec.ad)<0 && yazildi==0)
{
fprintf(fg,"%d %s %s 1\n",ogr.no,ogr.ad,ogr.soy);
yazildi=1;
}
fprintf(fg,"%d %s %s 1\n",ogr.no,ogr.ad,ogr.soy,gec.durum);
}
if(yazildi==0)
{
fprintf(fg,"%d %s %s 1\n",ogr.no,ogr.ad,ogr.soy);
}
printf("\n\n");
printf("...kayit eklendi...\n\n");
fclose(fo);
fclose(fg);
remove("D:\\ogrenci.txt");
rename("D:\\gecici.txt","D:\\ogrenci.txt");
}
void kayit_listeleme()
{
fo=fopen("D:\\ogrenci.txt","r+");
while(fscanf(fo,"%d %s %s %d",&ogr.no,ogr.ad,ogr.soy,&ogr.durum)!=EOF)
{
if(ogr.durum!=0)
{
printf("NO:%8d AD:%8s SOYAD%8s\n",ogr.no,ogr.ad,ogr.soy);
}
fclose(fo);
printf("Liste bos kayit ekle icin 1'e basin\n");
}
}
void kayit_silme()
{
bool kayitvarmi=false;
int sayi;
fo=fopen("D:\\ogrenci.txt","r+");
fg=fopen("D:\\gecici.txt","w+");
printf("silmek istediginiz kayit numarasi giriniz.\n");
scanf("%d","&sayi");
while(fscanf(fo,"%d %s %s %d,&ogr.no,ogr.ad,ogr.soy,&ogr.durum")!=EOF)
{
if(sayi==ogr.no && ogr.durum==1)
{
kayitvarmi=true;
fprintf(fg,"%d %s %s 0\n",ogr.no,ogr.ad,ogr.soy);
}
else
{
fprintf(fg,"%d %s %s %d\n",ogr.no,ogr.ad,ogr.soy,ogr.durum);
}
if(kayitvarmi==false)
{
printf("kayit yok...!");
}
printf("kayit silindi...#\n");
}
fclose(fo);
fclose(fg);
remove("D:\\ogrenci.txt");
rename("D:\\gecici.txt","D:\\ogrenci.txt");
}
void kayit_guncelle()
{
int sayi;
fo=fopen("D:\\ogrenci.txt","r");
fg=fopen("D:\\gecici.txt","w+");
printf("Guncellemek istediginiz kayit numarasi giriniz.\n");
scanf("%d","&sayi");
printf("Yeni ad giriniz.");
scanf("%s",&gec.ad);
printf("Yeni Soyad giriniz.");
scanf("%s",&gec.soy);
int yazildi=1;
while(fscanf(fo,"%d %s %s %d,&ogr.no,ogr.ad,ogr.soy,&ogr.durum")!=EOF)
{
if(ogr.no==sayi && ogr.durum==1)
continue;
if(strcmp(gec.ad,ogr.ad)<0 && yazildi==1)
{
fprintf(fg,"%d %s %s 1\n",sayi,gec.ad,gec.soy);
yazildi=0;
}
fprintf(fg,"%d %s %s %d\n",ogr.no,ogr.ad,ogr.soy,ogr.durum);
}
if(yazildi==1)
{
fprintf(fg,"%d %s %s 1\n",sayi,gec.ad,gec.soy);
yazildi=0;
}
printf("\n\n");
printf("...kayit Guncellendi...\n\n");
fclose(fo);
fclose(fg);
remove("D:\\ogrenci.txt");
rename("D:\\gecici.txt","D:\\ogrenci.txt");
}
void kayit_noara()
{
int aranansayi;
bool bulundumu=false;
fo=fopen("D:\\ogrenci.txt","r");
printf("Aranan sayiyi giriniz.\n");
scanf("%d",&aranansayi);
while(fscanf(fo,"%d %s %s %d",&ogr.no,ogr.ad,ogr.soy,&ogr.durum))
{
if(aranansayi==ogr.no && ogr.durum==1)
{
bulundumu=true;
printf("No:%d Ad:%s Soyad:%s\n\n",ogr.no,ogr.ad,ogr.soy);
return;
}
}
bulundumu=false;
printf("Aradiginiz numara yok...!\n\n");
fclose(fo);
}
void kayit_adara()
{
int i;
char dizi[30];
int b=0,a=0;
printf("Aramak istediginiz kayit adini giriniz.\n");
scanf("%s",dizi);
fo=fopen("D:\\ogrenci.txt","r");
while(fscanf(fo,"%d %s %s %d,&ogr.no,ogr.ad,ogr.soy,&ogr.durum")!=EOF)
{
if(ogr.durum==1)
{
b=0;
for(i=0;i<strlen(ogr.ad);i++)
{
if((dizi[a] != (ogr.ad[b])))
{
a=0;
b=+1;
}
else
{
if(a==(strlen(dizi)-1))
{
printf("no:%4d ad:%5s soy:%6s\n\n",ogr.no,ogr.ad,ogr.soy);
break;
}
else
{
b++;
a++;
}
}
}
}
}
fclose(fo);
getch();
}
Sayfalar
▼
Menü
▼
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...