




![very detailed way. #include struct uyeler char uye_adi [20]; char uye_soyad[20]; int](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/09/66f0da6142a10_57666f0da60d79b5.jpg)
![uye_yas; char uye_cinsiyet[5]; int kayit yil; char kayit_ay[7]; }uyes; int menu() {](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/09/66f0da61e6ae1_57766f0da618305d.jpg)



Since the code text is long, the beginning of the code is given in the two photos given above. The continuation of the code is also written above. Please explain in detail what the code does, the functions used and the operations performed. I need to make a presentation about this code, please explain item by item in a very detailed way.
#include struct uyeler char uye_adi [20]; char uye_soyad[20]; int uye_yas; char uye_cinsiyet[5]; int kayit yil; char kayit_ay[7]; }uyes; int menu() { //Switch-case sistemi ve if yardmyla men sistemini yazdm. char Tercih = 'r'; printf(" "); printf("Yapmak istediiniz ilemi seiniz:"); printf("Yeni bir ye eklemek iin-->1 "); printf("Varolan bir yeyi silmek iin--> "); printf("Varolan yeleri listelemek iin--> "); printf("yeler arasnda arama yapmak iin--> "); printf("Vct kitle endeksi hesab ve vct kilo durumu iin-->5 "); printf("Diyet program almak iin-->6 "); Tercih = getche(); while(Tercih != 'E' || Tercih != 'e') { switch(Tercih) { case '1': {uyeEkle(); break; } case '2': {uyesil(); break; } case '3': {uyelistele(); break; }| case '4': {uyeara();break; } case '5': {kitleendeksi();break; } case '6': {diyetprogrami(); break; } } printf(" Baka ilem yapmak istiyor musunuz (E/H)? "); Tercih = getche(); if(Tercih == 'H' || Tercih == 'h') { break; } if (Tercih == 'E' || Tercih== 'e'){ 1/lemlerin tekrar yaplabilmesi iin kendini yenileyip menye giden fonksiyonu yazdm. return menu(); } } } void uyeEkle() { struct uyeler uye; //Dosya tipinde pointer oluturarak veritabann oluturdum. FILE *fp; fp = fopen("uyeler.txt","a"); fflush(stdin);//boluklar karakter olarak almasn engellemek iin fflush(stdin) fonksiyonunu yazdm ve gets ile verileri aldm. printf(" "); printf("ye Ad:"); gets(uye.uye_adi); fflush(stdin); fflush(stdin); printf("ye Soyad:"); gets(uye.uye_soyad); fflush(stdin); fflush(stdin); printf("ye Yas:"); scanf("%d",&uye.uye_yas); fflush(stdin); fflush(stdin); printf("yenin cinsiyeti:"); gets(uye.uye_cinsiyet); fflush(stdin); printf("yenin Kayt Yl:"); scanf("%d",&uye. kayit yil); fflush(stdin); printf("yenin Kayt Ayi:"); gets(uye. kayit_ay); 1/fwrite komutu aldmz verileri dosyaya yazmak iin kullanlr. fprintf(fp," %s %s %d %s %d %s ", uye.uye_adi, uye.uye_soyad, uye.uye_yas, uye.uye_cinsiyet, uye. kayit_yil, uye. kayit_ay); //fclose fonksiyonu dosyay kapatmaya yarar. fseek(fp, 0, SEEK_SET); fclose(fp); printf("ye baaryla eklendi^_^ "); return; } void uyesil() { FILE *fp1, *fp2; char filename[40]; char c; int del_line, temp = 1; printf("Enter file name: "); scanf("%s", filename); fp1 = fopen(filename, "r"); C = getc(fp1); while (c != EOF) { printf("%c", c); C = getc(fp1); } //rewind rewind (fp1); printf(" Silmek istediniz Satr Numarasn girin:"); //accept number from user. scanf("%d", &del_line); 1/open new file in write mode fp2 = fopen("copy.txt", "W"); c = getc(fp1); while (c != EOF) { c = getc(fp1); if (c == ' ') temp++; 1/except the line to be deleted if (temp != del_line) { //copy all lines in file copy.c putc(c, fp2); } } //close both the files. fclose(fp1); fclose(fp2); //remove original file remove(filename); //rename the file copy.c to original name rename("copy.txt", filename); printf(" Silme ileminden sonraki yeler: "); fp1 = fopen(filename, "r"); c = getc(fp1); while (c != EOF) { printf("%c", c); C = getc(fp1); } printf("ye baarl bir ekile silindi."); fclose(fp1); return 0; } - "); void uyelistele() { FILE *dosya; char satir[10000], *karakter; printf("----- --Sistemde kaytl yeler- dosya=fopen("uyeler.txt","r"); if(dosya==NULL) { printf("DOSYA BULUNAMADI."); } else { do{ karakter=fgets(satir, 10000, dosya); if (karakter != NULL) { printf("%s", satir); } }while(karakter != NULL); fclose(dosya); } } void uyeara() { ,0}; struct uyeler arama FILE *dosya; char adi [20]; char soyad[20]; int yas; char cinsiyet[5]; int bulundu=0; char secim; if((dosya=fopen("uyeler.txt","r"))==NULL) { printf("Dosya bulunamad - } -_-"); else { printf(" Menudekilerden birini seiniz. "); printf(" ye adna gre arama:1 "); printf("ye soyadna gre arama:2 "); printf("ye cinsiyetine gre arama:3 "); printf("ye yasna gre gre arama:4 "); printf("k yapmak iin:0 "); scanf("%d", &secim); switch(secim){ case 1: fflush(stdin); printf("Aradnz yenin adn giriniz:"); gets(adi); while(!feof(dosya)) { fread(&arama, sizeof(uyes),1,dosya); if((strcmp(arama.uye_adi, adi))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) { printf(" %d Tane ye bulundu^_^", bulundu); else { printf(" Byle bir ye bulunmamaktadr-_-"); break; case 2: fflush(stdin); printf("Aradnz yenin soyadn giriniz:"); gets(soyad); while(!feof(dosya)) { fread(&arama,sizeof(uyes),1,dosya); if((strcmp(arama.uye_soyad, soyad))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) printf(" %d Tane ye Bulundu^_^", bulundu); } else { printf(" Hibir ye bulunamad - "); } break; case 3: fflush(stdin); printf("Aradnz yenin cinsiyetini Giriniz:"); gets(cinsiyet); while(!feof(dosya)) { fread(&arama, sizeof(uyes), 1, dosya); if((strcmp(arama.uye_cinsiyet,cinsiyet))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) { printf(" %d Tane ye bulundu^_ 1", bulundu); } else { printf(" Hibir ye bulunamad-_-"); } break; case 4: fflush(stdin); printf("Aradnz yenin Yan girin:"); scanf("%d",&yas); while(!feof(dosya)) { fread(&arama, sizeof(uyes),1,dosya); if((strcmp(arama.uye_yas, yas))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } if(bulundu > 0) { printf(" %d Tane ye bulundu^_^", bulundu); } else { printf(" Hibir ye bulunamad-_-"); break; default : printf("Gecersiz bir deger girdiniz-_- "); break; } } fclose(dosya); } void kitleendeksi() { float kilo; float boy; float kitle; printf("Kilonuzu giriniz: "); scanf("%f",&kilo); printf("Boyunuzu giriniz (cm cinsinden): "); scanf("%f",&boy); kitle = kilo/pow (boy/100,2); printf("Vucut kitle indeksiniz %.2f ", kitle); printf("Durumunuz: "); if(kitle struct uyeler char uye_adi [20]; char uye_soyad[20]; int uye_yas; char uye_cinsiyet[5]; int kayit yil; char kayit_ay[7]; }uyes; int menu() { //Switch-case sistemi ve if yardmyla men sistemini yazdm. char Tercih = 'r'; printf(" "); printf("Yapmak istediiniz ilemi seiniz:"); printf("Yeni bir ye eklemek iin-->1 "); printf("Varolan bir yeyi silmek iin--> "); printf("Varolan yeleri listelemek iin--> "); printf("yeler arasnda arama yapmak iin--> "); printf("Vct kitle endeksi hesab ve vct kilo durumu iin-->5 "); printf("Diyet program almak iin-->6 "); Tercih = getche(); while(Tercih != 'E' || Tercih != 'e') { switch(Tercih) { case '1': {uyeEkle(); break; } case '2': {uyesil(); break; } case '3': {uyelistele(); break; }| case '4': {uyeara();break; } case '5': {kitleendeksi();break; } case '6': {diyetprogrami(); break; } } printf(" Baka ilem yapmak istiyor musunuz (E/H)? "); Tercih = getche(); if(Tercih == 'H' || Tercih == 'h') { break; } if (Tercih == 'E' || Tercih== 'e'){ 1/lemlerin tekrar yaplabilmesi iin kendini yenileyip menye giden fonksiyonu yazdm. return menu(); } } } void uyeEkle() { struct uyeler uye; //Dosya tipinde pointer oluturarak veritabann oluturdum. FILE *fp; fp = fopen("uyeler.txt","a"); fflush(stdin);//boluklar karakter olarak almasn engellemek iin fflush(stdin) fonksiyonunu yazdm ve gets ile verileri aldm. printf(" "); printf("ye Ad:"); gets(uye.uye_adi); fflush(stdin); fflush(stdin); printf("ye Soyad:"); gets(uye.uye_soyad); fflush(stdin); fflush(stdin); printf("ye Yas:"); scanf("%d",&uye.uye_yas); fflush(stdin); fflush(stdin); printf("yenin cinsiyeti:"); gets(uye.uye_cinsiyet); fflush(stdin); printf("yenin Kayt Yl:"); scanf("%d",&uye. kayit yil); fflush(stdin); printf("yenin Kayt Ayi:"); gets(uye. kayit_ay); 1/fwrite komutu aldmz verileri dosyaya yazmak iin kullanlr. fprintf(fp," %s %s %d %s %d %s ", uye.uye_adi, uye.uye_soyad, uye.uye_yas, uye.uye_cinsiyet, uye. kayit_yil, uye. kayit_ay); //fclose fonksiyonu dosyay kapatmaya yarar. fseek(fp, 0, SEEK_SET); fclose(fp); printf("ye baaryla eklendi^_^ "); return; } void uyesil() { FILE *fp1, *fp2; char filename[40]; char c; int del_line, temp = 1; printf("Enter file name: "); scanf("%s", filename); fp1 = fopen(filename, "r"); C = getc(fp1); while (c != EOF) { printf("%c", c); C = getc(fp1); } //rewind rewind (fp1); printf(" Silmek istediniz Satr Numarasn girin:"); //accept number from user. scanf("%d", &del_line); 1/open new file in write mode fp2 = fopen("copy.txt", "W"); c = getc(fp1); while (c != EOF) { c = getc(fp1); if (c == ' ') temp++; 1/except the line to be deleted if (temp != del_line) { //copy all lines in file copy.c putc(c, fp2); } } //close both the files. fclose(fp1); fclose(fp2); //remove original file remove(filename); //rename the file copy.c to original name rename("copy.txt", filename); printf(" Silme ileminden sonraki yeler: "); fp1 = fopen(filename, "r"); c = getc(fp1); while (c != EOF) { printf("%c", c); C = getc(fp1); } printf("ye baarl bir ekile silindi."); fclose(fp1); return 0; } - "); void uyelistele() { FILE *dosya; char satir[10000], *karakter; printf("----- --Sistemde kaytl yeler- dosya=fopen("uyeler.txt","r"); if(dosya==NULL) { printf("DOSYA BULUNAMADI."); } else { do{ karakter=fgets(satir, 10000, dosya); if (karakter != NULL) { printf("%s", satir); } }while(karakter != NULL); fclose(dosya); } } void uyeara() { ,0}; struct uyeler arama FILE *dosya; char adi [20]; char soyad[20]; int yas; char cinsiyet[5]; int bulundu=0; char secim; if((dosya=fopen("uyeler.txt","r"))==NULL) { printf("Dosya bulunamad - } -_-"); else { printf(" Menudekilerden birini seiniz. "); printf(" ye adna gre arama:1 "); printf("ye soyadna gre arama:2 "); printf("ye cinsiyetine gre arama:3 "); printf("ye yasna gre gre arama:4 "); printf("k yapmak iin:0 "); scanf("%d", &secim); switch(secim){ case 1: fflush(stdin); printf("Aradnz yenin adn giriniz:"); gets(adi); while(!feof(dosya)) { fread(&arama, sizeof(uyes),1,dosya); if((strcmp(arama.uye_adi, adi))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) { printf(" %d Tane ye bulundu^_^", bulundu); else { printf(" Byle bir ye bulunmamaktadr-_-"); break; case 2: fflush(stdin); printf("Aradnz yenin soyadn giriniz:"); gets(soyad); while(!feof(dosya)) { fread(&arama,sizeof(uyes),1,dosya); if((strcmp(arama.uye_soyad, soyad))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) printf(" %d Tane ye Bulundu^_^", bulundu); } else { printf(" Hibir ye bulunamad - "); } break; case 3: fflush(stdin); printf("Aradnz yenin cinsiyetini Giriniz:"); gets(cinsiyet); while(!feof(dosya)) { fread(&arama, sizeof(uyes), 1, dosya); if((strcmp(arama.uye_cinsiyet,cinsiyet))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } } if(bulundu > 0) { printf(" %d Tane ye bulundu^_ 1", bulundu); } else { printf(" Hibir ye bulunamad-_-"); } break; case 4: fflush(stdin); printf("Aradnz yenin Yan girin:"); scanf("%d",&yas); while(!feof(dosya)) { fread(&arama, sizeof(uyes),1,dosya); if((strcmp(arama.uye_yas, yas))==0) { bulundu++; printf(" %s %s %s %d %s", arama.uye_adi, arama.uye_soyad, arama.uye_cinsiyet, arama.uye_yas); } if(bulundu > 0) { printf(" %d Tane ye bulundu^_^", bulundu); } else { printf(" Hibir ye bulunamad-_-"); break; default : printf("Gecersiz bir deger girdiniz-_- "); break; } } fclose(dosya); } void kitleendeksi() { float kilo; float boy; float kitle; printf("Kilonuzu giriniz: "); scanf("%f",&kilo); printf("Boyunuzu giriniz (cm cinsinden): "); scanf("%f",&boy); kitle = kilo/pow (boy/100,2); printf("Vucut kitle indeksiniz %.2f ", kitle); printf("Durumunuz: "); if(kitle