Seymanur1907
Öğrenci
- Katılım
- 28 Mayıs 2019
- Mesajlar
- 2
- Reaksiyon puanı
- 0
- Puanları
- 1
- Yaş
- 26
Selam arkadaşlar
Basit bir pastane otomasyonu yapmaya çalışıyorum. Müşteri ve yetkilinin sipariş ekleme silme güncelleme gibi işlemleri yapabilmesi gerekiyor. Ekleyip dosyaya yazma işlemini yaptım ancak dosyadan okuyup arama yapamıyorum. En sondaki fonksiyonda arama ve yazdırma yapmam gerekiyor aynı şekilde yorum satırında olan müşteride de arama yapabilmem lazım. Bi el atarsanız çook sevinirim.
#include <stdio.h>
#include <stdlib.h>
typedef struct Siparis {
int SiparisId;
float SiparisTutar;
int UrunSayisi;
}siparis;
typedef struct Musteri {
int MusteriId;
int SiparisSayisi;
float HesapTutar;
siparis *siparisler;
}musteri;
//void MusteriAra(musteri *musteriler);
void GirisSecim();
void MenuListele();
float PastaSec();
//void MusteriSil();
siparis *SiparisEkle();
musteri *MusteriEkle();
siparis *SiparisGoruntule();
int MusteriSayisi=0;
int SiparisSayisi=0;
int main(int argc, char *argv[]) {
musteri *musteriler;
GirisSecim();
return 0;
}
void GirisSecim() {
int i,secim,yetkilisecim,musterisecim;
menusecim:
system("cls");
printf("\n* * * * * * MENU * * * * * *\n");
printf("1- Yetkili Girisi\n");
printf("2- Musteri Girisi\n");
//printf("3- Cikis\n");
printf("\nLutfen Seciminizi Giriniz:");
scanf("%d",&secim);
if(secim==1){
system("cls");
yetkilisecme:
printf("--- Yetkili ---\n");
printf("1- Musteri Ekle\n");
printf("2- Musteri Arama\n");
printf("3- Musteri Silme\n");
printf("4- Musteri Guncelle\n");
printf("5- Cikis\n");
scanf("%d",&yetkilisecim);
switch(yetkilisecim) {
case 1:
system("cls");
printf("---Musteri Ekleme Ekrani---\n");
MusteriEkle();
break;
case 2:
system("cls");
printf("---Musteri Arama Ekrani---\n");
//MusteriAra(musteri *musteriler);
break;
case 3:
system("cls");
printf("---Musteri Silme Ekrani---");
break;
case 4:
system("cls");
printf("---Musteri Guncelleme Ekrani---");
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
}
if(secim==2) {
system("cls");
printf("--- Musteri ---\n");
printf("1- Siparis Ekle\n");
printf("2- Siparis Sil\n");
printf("3- Siparis Goruntule\n");
printf("4- Siparisi Onayla\n");
scanf("%d",&musterisecim);
switch(musterisecim) {
case 1:
system("cls");
printf("---Siparis Ekleme Ekrani---");
SiparisEkle();
break;
case 2:
system("cls");
printf("---Siparis Silme Ekrani---");
break;
case 3:
system("cls");
printf("---Siparis Goruntuleme Ekrani---");
SiparisGoruntule();
break;
case 4:
system("cls");
printf("---Siparis Onayla Ekrani---");
printf("\nSiparisiniz Onaylanmistir !");
printf("\nBasariyla Cikis Yaptiniz...");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
}
}
void MenuListele() {
printf("\t-------MENU-------\n");
printf("\t1. Cikolatali Pasta \n\t2. Meyveli Pasta \n\t3. Alman Pastasi \n\t4. Orman Meyveli Pasta \n\t5. Muzlu Pasta \n\t6. Dilim Pasta \n\t7. Limonlu Pasta \n\t8. Frambuazli Pasta \n\t9. Cilekli Pasta \n\t10.Krokanli Pasta ");
}
musteri *MusteriEkle(){
musteri *musteriler = (musteri*)malloc(sizeof(musteri)*MusteriSayisi);
FILE *dosya;
dosya=fopen("musteriler.txt","a");
int SiparisSayisi=0,i;
printf("Musteri Id:");
scanf("%d", &(musteriler+MusteriSayisi)->MusteriId);
printf("Musteri Siparis Sayisi: ");
scanf("%d", &SiparisSayisi);
(musteriler+MusteriSayisi)->SiparisSayisi = SiparisSayisi;
(musteriler+MusteriSayisi)->siparisler = (siparis*)malloc(sizeof(siparis)*SiparisSayisi);
float tutar=0;
for(i=0;i<SiparisSayisi;i++) {
MenuListele();
tutar+=PastaSec();
}
(musteriler+MusteriSayisi)->HesapTutar=tutar;
fprintf(dosya,"Musteri Id:%d \tSiparis Sayisi:%d \tTutari:%.2f\n",(musteriler+MusteriSayisi)->MusteriId,SiparisSayisi,tutar);
printf("Toplam Tutar: %.2f",tutar);
MusteriSayisi++;
fclose(dosya);
getch();
system("cls");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
return musteriler;
}
float PastaSec(){
int secim;
float tutar;
printf("\nIstediginiz Pastanin Kodunu Giriniz:");
scanf("%d",&secim);
switch(secim) {
case 1:
tutar=22.95;
break;
case 2:
tutar=14.95;
break;
case 3:
tutar=10.95;
break;
case 4:
tutar=15.95;
break;
case 5:
tutar=18.95;
break;
case 6:
tutar=12.95;
break;
case 7:
tutar=17.95;
break;
case 8:
tutar=13.95;
break;
case 9:
tutar=12.95;
break;
case 10:
tutar=18.95;
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
return tutar;
}
/*
void MusteriAra(musteri *musteriler) {
int aranan;
printf("Aranacak Musterinin Id'sini Giriniz':");
scanf("%d",&aranan);
int flag=0;
FILE *fp=fopen("musteriler.txt","r");
while(!feof(fp)){
fscanf(fp,"%d %d %f\n",&(musteriler+MusteriSayisi)->MusteriId,&(musteriler+MusteriSayisi)->SiparisSayisi,&(musteriler+MusteriSayisi)->HesapTutar);
if(aranan==(musteriler+MusteriSayisi)->MusteriId){
printf("Musteri Id:%d Siparis Sayisi:%d Hesap Tutari:%f",(musteriler+MusteriSayisi)->MusteriId,(musteriler+MusteriSayisi)->SiparisSayisi,(musteriler+MusteriSayisi)->HesapTutar);
}
}
if(flag==0)
printf("Aradiginiz Musteri Bulunmamaktadir..!");
fclose(fp);
}
*/
siparis *SiparisEkle() {
siparis *siparisler = (siparis*)malloc(sizeof(siparis)*SiparisSayisi);
int UrunSayisi,i,SiparisId;
FILE *dosya;
dosya=fopen("siparisler.txt","a");
printf("\nSiparis Id:");
scanf("%d", &SiparisId);
printf("\nAlmak Istediginiz Pasta Sayisini Giriniz:");
scanf("%d",&UrunSayisi);
(siparisler+SiparisSayisi)->UrunSayisi = UrunSayisi;
(siparisler+SiparisSayisi)->SiparisId;
siparisler = (siparis*)malloc(sizeof(siparis)*UrunSayisi*SiparisSayisi);
float tutar=0;
for(i=0;i<UrunSayisi;i++) {
MenuListele();
tutar+=PastaSec();
}
siparisler->SiparisTutar=tutar;
fprintf(dosya,"Siparis Id:%d \tSiparis Sayisi:%d \tTutari:%.2f\n",SiparisId,UrunSayisi,siparisler->SiparisTutar);
printf("Toplam Tutar: %.2f",tutar);
SiparisSayisi++;
fclose(dosya);
getch();
system("cls");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
return siparisler;
}
siparis *SiparisGoruntule() {
siparis *siparisler;
int aranan,i;
printf("\nAranacak Siparisin Id'sini Giriniz:");
scanf("%d", &aranan);
int flag=0;
FILE *fp=fopen("siparisler.txt","r");
while(!feof(fp)){
for(i=0;i<MusteriSayisi;i++) {
printf("%d",MusteriSayisi);
fscanf(fp,"%d %d %f",&(siparisler+i)->SiparisId,&(siparisler+i)->UrunSayisi,&(siparisler+i)->SiparisTutar);
if(aranan==(siparisler+i)->SiparisId){
printf("Siparis Id:%d Siparis Sayisi:%d Hesap Tutari:%f",(siparisler+i)->SiparisId,(siparisler+i)->UrunSayisi,(siparisler+i)->SiparisTutar);
flag=1;
}
}
}
if(flag==0)
printf("Aradiginiz Siparis Bulunmamaktadir..!");
fclose(fp);
return siparisler;
}
Basit bir pastane otomasyonu yapmaya çalışıyorum. Müşteri ve yetkilinin sipariş ekleme silme güncelleme gibi işlemleri yapabilmesi gerekiyor. Ekleyip dosyaya yazma işlemini yaptım ancak dosyadan okuyup arama yapamıyorum. En sondaki fonksiyonda arama ve yazdırma yapmam gerekiyor aynı şekilde yorum satırında olan müşteride de arama yapabilmem lazım. Bi el atarsanız çook sevinirim.
#include <stdio.h>
#include <stdlib.h>
typedef struct Siparis {
int SiparisId;
float SiparisTutar;
int UrunSayisi;
}siparis;
typedef struct Musteri {
int MusteriId;
int SiparisSayisi;
float HesapTutar;
siparis *siparisler;
}musteri;
//void MusteriAra(musteri *musteriler);
void GirisSecim();
void MenuListele();
float PastaSec();
//void MusteriSil();
siparis *SiparisEkle();
musteri *MusteriEkle();
siparis *SiparisGoruntule();
int MusteriSayisi=0;
int SiparisSayisi=0;
int main(int argc, char *argv[]) {
musteri *musteriler;
GirisSecim();
return 0;
}
void GirisSecim() {
int i,secim,yetkilisecim,musterisecim;
menusecim:
system("cls");
printf("\n* * * * * * MENU * * * * * *\n");
printf("1- Yetkili Girisi\n");
printf("2- Musteri Girisi\n");
//printf("3- Cikis\n");
printf("\nLutfen Seciminizi Giriniz:");
scanf("%d",&secim);
if(secim==1){
system("cls");
yetkilisecme:
printf("--- Yetkili ---\n");
printf("1- Musteri Ekle\n");
printf("2- Musteri Arama\n");
printf("3- Musteri Silme\n");
printf("4- Musteri Guncelle\n");
printf("5- Cikis\n");
scanf("%d",&yetkilisecim);
switch(yetkilisecim) {
case 1:
system("cls");
printf("---Musteri Ekleme Ekrani---\n");
MusteriEkle();
break;
case 2:
system("cls");
printf("---Musteri Arama Ekrani---\n");
//MusteriAra(musteri *musteriler);
break;
case 3:
system("cls");
printf("---Musteri Silme Ekrani---");
break;
case 4:
system("cls");
printf("---Musteri Guncelleme Ekrani---");
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
}
if(secim==2) {
system("cls");
printf("--- Musteri ---\n");
printf("1- Siparis Ekle\n");
printf("2- Siparis Sil\n");
printf("3- Siparis Goruntule\n");
printf("4- Siparisi Onayla\n");
scanf("%d",&musterisecim);
switch(musterisecim) {
case 1:
system("cls");
printf("---Siparis Ekleme Ekrani---");
SiparisEkle();
break;
case 2:
system("cls");
printf("---Siparis Silme Ekrani---");
break;
case 3:
system("cls");
printf("---Siparis Goruntuleme Ekrani---");
SiparisGoruntule();
break;
case 4:
system("cls");
printf("---Siparis Onayla Ekrani---");
printf("\nSiparisiniz Onaylanmistir !");
printf("\nBasariyla Cikis Yaptiniz...");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
}
}
void MenuListele() {
printf("\t-------MENU-------\n");
printf("\t1. Cikolatali Pasta \n\t2. Meyveli Pasta \n\t3. Alman Pastasi \n\t4. Orman Meyveli Pasta \n\t5. Muzlu Pasta \n\t6. Dilim Pasta \n\t7. Limonlu Pasta \n\t8. Frambuazli Pasta \n\t9. Cilekli Pasta \n\t10.Krokanli Pasta ");
}
musteri *MusteriEkle(){
musteri *musteriler = (musteri*)malloc(sizeof(musteri)*MusteriSayisi);
FILE *dosya;
dosya=fopen("musteriler.txt","a");
int SiparisSayisi=0,i;
printf("Musteri Id:");
scanf("%d", &(musteriler+MusteriSayisi)->MusteriId);
printf("Musteri Siparis Sayisi: ");
scanf("%d", &SiparisSayisi);
(musteriler+MusteriSayisi)->SiparisSayisi = SiparisSayisi;
(musteriler+MusteriSayisi)->siparisler = (siparis*)malloc(sizeof(siparis)*SiparisSayisi);
float tutar=0;
for(i=0;i<SiparisSayisi;i++) {
MenuListele();
tutar+=PastaSec();
}
(musteriler+MusteriSayisi)->HesapTutar=tutar;
fprintf(dosya,"Musteri Id:%d \tSiparis Sayisi:%d \tTutari:%.2f\n",(musteriler+MusteriSayisi)->MusteriId,SiparisSayisi,tutar);
printf("Toplam Tutar: %.2f",tutar);
MusteriSayisi++;
fclose(dosya);
getch();
system("cls");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
return musteriler;
}
float PastaSec(){
int secim;
float tutar;
printf("\nIstediginiz Pastanin Kodunu Giriniz:");
scanf("%d",&secim);
switch(secim) {
case 1:
tutar=22.95;
break;
case 2:
tutar=14.95;
break;
case 3:
tutar=10.95;
break;
case 4:
tutar=15.95;
break;
case 5:
tutar=18.95;
break;
case 6:
tutar=12.95;
break;
case 7:
tutar=17.95;
break;
case 8:
tutar=13.95;
break;
case 9:
tutar=12.95;
break;
case 10:
tutar=18.95;
break;
default:
printf("Gecerli Bir Secim Girmediniz!");
}
return tutar;
}
/*
void MusteriAra(musteri *musteriler) {
int aranan;
printf("Aranacak Musterinin Id'sini Giriniz':");
scanf("%d",&aranan);
int flag=0;
FILE *fp=fopen("musteriler.txt","r");
while(!feof(fp)){
fscanf(fp,"%d %d %f\n",&(musteriler+MusteriSayisi)->MusteriId,&(musteriler+MusteriSayisi)->SiparisSayisi,&(musteriler+MusteriSayisi)->HesapTutar);
if(aranan==(musteriler+MusteriSayisi)->MusteriId){
printf("Musteri Id:%d Siparis Sayisi:%d Hesap Tutari:%f",(musteriler+MusteriSayisi)->MusteriId,(musteriler+MusteriSayisi)->SiparisSayisi,(musteriler+MusteriSayisi)->HesapTutar);
}
}
if(flag==0)
printf("Aradiginiz Musteri Bulunmamaktadir..!");
fclose(fp);
}
*/
siparis *SiparisEkle() {
siparis *siparisler = (siparis*)malloc(sizeof(siparis)*SiparisSayisi);
int UrunSayisi,i,SiparisId;
FILE *dosya;
dosya=fopen("siparisler.txt","a");
printf("\nSiparis Id:");
scanf("%d", &SiparisId);
printf("\nAlmak Istediginiz Pasta Sayisini Giriniz:");
scanf("%d",&UrunSayisi);
(siparisler+SiparisSayisi)->UrunSayisi = UrunSayisi;
(siparisler+SiparisSayisi)->SiparisId;
siparisler = (siparis*)malloc(sizeof(siparis)*UrunSayisi*SiparisSayisi);
float tutar=0;
for(i=0;i<UrunSayisi;i++) {
MenuListele();
tutar+=PastaSec();
}
siparisler->SiparisTutar=tutar;
fprintf(dosya,"Siparis Id:%d \tSiparis Sayisi:%d \tTutari:%.2f\n",SiparisId,UrunSayisi,siparisler->SiparisTutar);
printf("Toplam Tutar: %.2f",tutar);
SiparisSayisi++;
fclose(dosya);
getch();
system("cls");
printf("\n\tGiris Sayfasina Yonlendiriliyorsunuz...");
getch();
GirisSecim();
return siparisler;
}
siparis *SiparisGoruntule() {
siparis *siparisler;
int aranan,i;
printf("\nAranacak Siparisin Id'sini Giriniz:");
scanf("%d", &aranan);
int flag=0;
FILE *fp=fopen("siparisler.txt","r");
while(!feof(fp)){
for(i=0;i<MusteriSayisi;i++) {
printf("%d",MusteriSayisi);
fscanf(fp,"%d %d %f",&(siparisler+i)->SiparisId,&(siparisler+i)->UrunSayisi,&(siparisler+i)->SiparisTutar);
if(aranan==(siparisler+i)->SiparisId){
printf("Siparis Id:%d Siparis Sayisi:%d Hesap Tutari:%f",(siparisler+i)->SiparisId,(siparisler+i)->UrunSayisi,(siparisler+i)->SiparisTutar);
flag=1;
}
}
}
if(flag==0)
printf("Aradiginiz Siparis Bulunmamaktadir..!");
fclose(fp);
return siparisler;
}