İpucu Kodum

Bu konuyu okuyanlar

Rubudium

Öğrenci
Katılım
19 Mayıs 2018
Mesajlar
20
Reaksiyon puanı
2
Puanları
3
/*
Name: Tekstil_app
Copyright: Z's
Author: Yusuf Zeki Aytac
Date: 03.07.22 20:45
Description: for my cute
*/

#include <stdio.h>
#include <conio.h>

struct eleman{
int yas;
char ad[25];
char soyad[25];
int urunAdet;
char telno[11]; //1234 567 89 01
};

int gun_sonu(struct eleman *);
void yer_degistirme(int secim, struct eleman *);
void dosyadan_oku(struct eleman *);
void dosyaya_kaydet(struct eleman *);
void eleman_ekle(struct eleman *);
void eleman_listesi(struct eleman *);
int kisisel_liste(int secim, struct eleman *);
void urun_ekle(int secim, struct eleman *);
void print_menu();

int main(){
int secim, flag = 0, eleman_sec, control=0;

struct eleman elm[200];
int i;
for(i=0; i<100; i++){
elm.urunAdet = 0;
}

for(i=0; i<100; i++){
elm.yas = -1;
}

dosyadan_oku(elm);

turn1:
while(flag == 0){
print_menu();
if(control == 999){
printf("2\n");
secim = 2;
}
else if(control == 333){
printf("3\n");
secim = 3;
}
else{
scanf("%d", &secim);
}
switch(secim){
case 1:
eleman_ekle(elm);
break;
case 2:
control = 0;
eleman_listesi(elm);
turn:
printf("Eleman Sec(0 - Cikis): ");
scanf("%d", &eleman_sec);
if(eleman_sec == 0)
break;
if(eleman_sec>100 || eleman_sec<1){
printf("Eleman Yok!\n");
getch();
control = 999;
goto turn1;
}
if(elm[eleman_sec-1].yas == -1){
printf("Eleman Yok!\n");
getch();
control = 999;
goto turn1;
}
control = kisisel_liste(eleman_sec, elm);
if(control == 999)
goto turn1;
break;
case 3:
control = gun_sonu(elm);
goto turn1;
break;
case 9:
dosyaya_kaydet(elm);
flag = 1;
printf("Cikmak Icin Bir Tusa Basiniz\n");
getch();
break;
default:
printf("Hatali deger girdin\n");
getch();
}
}
return 0;
}

int gun_sonu(struct eleman *elm){
int i, toplam_urun=0, secim;

for(i=0; i<100; i++){
if(elm.urunAdet == -1)
break;
toplam_urun += elm.urunAdet;
}
printf("\nGun Sonu Toplam Yapilan Urun: %d\n", toplam_urun);
printf("\n1- Yapilan Urunleri Sifirla");
printf("\n2- Cikis\n");
printf("\nSecimini Gir: ");
scanf("%d", &secim);

switch(secim){
case 1:
for(i=0; i<100; i++){
elm.urunAdet = 0;
}
printf("\nSifirlandi");
getch();
return 0;
break;
case 2:
return 0;
break;
default:
printf("Hatali deger girdin\n");
getch();
return 333;
}
}

void yer_degistirme(int secim, struct eleman *elm){
FILE *hedefDosya = fopen("temp1.txt", "w+");

int i;
for(i=0; i<secim-1; i++){
fprintf(hedefDosya, "%s %s %d %s %d\n", elm.ad, elm.soyad, elm.yas, elm.telno, elm.urunAdet);
}

for(secim; secim<100; secim++){
if(elm[secim].yas == -1)
break;

fprintf(hedefDosya, "%s %s %d %s %d\n", elm[secim].ad, elm[secim].soyad, elm[secim].yas, elm[secim].telno, elm[secim].urunAdet);
}
fclose(hedefDosya);

struct kisiler{
int yas;
char ad[25];
char soyad[25];
int urunAdet;
char telno[11];
};
struct kisiler kisi[100];
for(i=0; i<100; i++){
kisi.yas = -1;
}

FILE *hedef_dosya = fopen("temp1.txt", "r+");

for(i=0; i<100; i++){
fscanf(hedef_dosya, "%s %s %d %s %d\n", kisi.ad, kisi.soyad, &(kisi.yas), kisi.telno, &(kisi.urunAdet));
if(feof(hedef_dosya))
break;
}
fclose(hedef_dosya);

FILE *dosya = fopen("list.txt", "w+");

for(i=0; i<100; i++){
if(kisi.yas == -1)
break;

fprintf(dosya, "%s %s %d %s %d\n", kisi.ad, kisi.soyad, kisi.yas, kisi.telno, kisi.urunAdet);
}
fclose(dosya);
dosyadan_oku(elm);

for(i=0; i<100; i++){
if(elm.yas != -1 && elm[i+2].yas == -1)
elm[i+1].yas = -1;
}
if(elm[1].yas == -1)
elm[0].yas = -1;

}

void dosyadan_oku(struct eleman *elm){
FILE *hedef_dosya = fopen("list.txt", "r+");

if(hedef_dosya == NULL)
return;

int i;
for(i=0; i<100; i++){
fscanf(hedef_dosya, "%s %s %d %s %d\n", elm.ad, elm.soyad, &(elm.yas), elm.telno, &(elm.urunAdet));
if(feof(hedef_dosya))
break;
}
fclose(hedef_dosya);
}

void dosyaya_kaydet(struct eleman *elm){
FILE *hedef_dosya = fopen("list.txt", "w+");

int i;
for(i=0; i<100; i++){
if(elm.yas == -1)
break;

fprintf(hedef_dosya, "%s %s %d %s %d\n", elm.ad, elm.soyad, elm.yas, elm.telno, elm.urunAdet);
}
fclose(hedef_dosya);
}

void eleman_ekle(struct eleman *elm){
int i;
for(i=0; i<100; i++){
if(elm.yas == -1)
break;
}
printf("Eleman Adi: ");
scanf("%s", elm.ad);
printf("Eleman Soyadi: ");
scanf("%s", elm.soyad);
printf("Eleman Yasi: ");
scanf("%d", &elm.yas);
printf("Eleman Telefon Numarasi: ");
scanf("%s", elm.telno);


printf("Eleman Basariyle Eklendi!");
getch();
}

void eleman_listesi(struct eleman *elm){
int i, eleman_sec;
printf("\n%19s%15s%15s%15s%15s\n","Ad", "Soyad", "Yas", "Tel No", "Urun");
for(i=0; i<100; i++){
if(elm.yas == -1)
break;

printf("%2d- %15s%15s%15d%15s%15d\n", i+1, elm.ad, elm.soyad, elm.yas, elm.telno, elm.urunAdet);
}

}

int kisisel_liste(int secim, struct eleman *elm){
int kl_secim;

turn:
system("cls");
printf("%15s%15s%15s%15s%15s\n","Ad", "Soyad", "Yas", "Tel No", "Urun");
printf("%15s%15s%15d%15s%15d\n", elm[secim-1].ad, elm[secim-1].soyad, elm[secim-1].yas, elm[secim-1].telno, elm[secim-1].urunAdet);
printf("\n");
printf("1- Eleman Sil\n");
printf("2- Urun Ekle\n");
printf("3- Cikis\n");
printf("Islem Sec: ");
scanf("%d", &kl_secim);

int i;
switch(kl_secim){
case 1:
yer_degistirme(secim, elm);
break;
case 2:
urun_ekle(secim, elm);
return 999;
break;
case 3:
return 999;
break;
default:
printf("Hatali deger girdin\n");
getch();
goto turn;
}
return 0;
}

void urun_ekle(int secim, struct eleman *elm){
int add, control;

turn:
system("cls");
printf("%15s%15s%15s%15s%15s\n","Ad", "Soyad", "Yas", "Tel No", "Urun");
printf("%15s%15s%15d%15s%15d\n", elm[secim-1].ad, elm[secim-1].soyad, elm[secim-1].yas, elm[secim-1].telno, elm[secim-1].urunAdet);
printf("\n");
printf("Urun Ekle: ");
scanf("%d",&add);
control = elm[secim-1].urunAdet + add;
if(control < 0){
printf("Mevcut Urun Adedinden Daha Dusuk Giremezsiniz!");
getch();
goto turn;
}
elm[secim-1].urunAdet += add;
}

void print_menu(){
system("cls");
printf("----Ana Menu----\n");
printf("1- Eleman Ekle\n");
printf("2- Eleman Listesi\n");
printf("3- Gun Sonu\n");
printf("9- Kaydet ve Cik\n");

printf("\nSecimini Gir: ");
}
 

Ekli dosyalar

  • tekstil_app.txt
    6.8 KB · Görüntüleme: 35
Üst