#include<iostream.h>
#include<fstream.h>
#include<io.h>
#include<graphics.h>
#include<stdarg.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<alloc.h>
#include<math.h>
#include <dos.h>
//#include "mouse.h"

class Bkupur {
public:

void kumasm(float fiyatk);
void iplikm(float fiyato,float fiyata);
void iscilikm(float vsayisi,float bfiyati);
void boyahanem(float agirlik,float bfiyatb);
void giderm(float gmaliyet);
void amortisman(float oran);
void yaz();
void sec();
float hesapla();
void Bsil();

private:
float kumas;float iplik;float iscilik;
float boyhane;float gider;float fire; float toplam;
};

void Bkupur::kumasm(float fiyatk) { kumas=fiyatk*19.2/400;}
void Bkupur::iplikm(float fiyato,float fiyata) {
iplik=(fiyato*80/100)+(fiyata*20/100); }
void Bkupur::iscilikm(float vsayisi,float bfiyati) {
iscilik=vsayisi*bfiyati;} ;
void Bkupur::boyahanem(float agirlik,float bfiyatb) {
boyhane=agirlik*bfiyatb;}
void Bkupur:: giderm(float gmaliyet){ gider=gmaliyet;}
void Bkupur::amortisman(float oran){
fire=(oran>0 && oran<100)? oran:100; }

void Bkupur::yaz() { clrscr(); float deger1,deger2;
cout<<endl;
cout<<" B˜R˜M šRET˜M MAL˜YET HESABI "<<endl;
cout<<" ++++++++++++++++++++++++++++"<<endl;
if (kumas==0) {
cout<<" 20 Metre kumaŸn fiyatn giriniz. ";cin>>deger1;
kumasm(deger1) ; }
cout<<" KumaŸ Maliyeyi...... = "<<kumas<<endl;

if(iplik==0) { cout<<" On iplik fiyat giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " Arka ˜plik fiyat girniz ";cin>>deger2;
iplikm(deger1,deger2) ; }
cout<<" ˜plik Maliyeti....... = "<<iplik<<endl;


if (iscilik==0) {
cout<<" VuruŸ saysn giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " VuruŸ maliyetini girniz ";cin>>deger2;

iscilikm(deger1,deger2) ; }
cout<<" Fabrika šretim Maliyeti = "<<iscilik<<endl;

if (boyhane==0) {
cout<<" Maln a§rl§n giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " Boyahane fiyatn girniz ";cin>>deger2;

boyahanem(deger1,deger2) ; }
cout<<" Boyahane Maliyeti...... = "<<boyhane<<endl;

if (gider==0 ) {
cout<<" Sabit giderleri giriniz. ";cin>>deger1;
giderm(deger1) ; }
cout<<" Sabit giderler...... = "<<gider<<endl;

if (fire==0) {
cout<<" Amortisman oran giriniz. ";cin>>deger1;
amortisman(deger1) ;clrscr(); }
cout<<" Amortisman oran...... = %"<<fire<<endl;cout<<endl;
cout<<" --------------------------------------------"<<endl; hesapla();

cout<<" Birim Maliyet = "<<toplam<<endl;
cout<<" _____________________________________________"<<endl; }

void Bkupur::sec() {
char ch;float deger1,deger2;
tekrar: clrscr();yaz();

cout<<endl<<endl;


cout<<" KumaŸ Maliyeyi i‡in bas << K >> "<<kumas<<endl;
cout<<" ˜plik Maliyeti i‡in bas << ˜ >> "<<iplik<<endl;
cout<<" Fabrika Maliyeti i‡in bas << F >> "<<iscilik<<endl;
cout<<" Boyahane Maliyeti i‡in bas << B >> "<<boyhane<<endl;
cout<<" Sabit giderler i‡in bas << S >> "<<gider<<endl;
cout<<" Amortisman oran i‡in bas << A >> %"<<fire<<endl;
ch=getch();


switch (ch) {
case 'k': case 'K': {cout<<endl;
cout<<" 20 metre KumaŸn fiyatn giriniz. ";cin>>deger1;
kumasm(deger1) ; goto tekrar; }

case 'i': case '˜': {cout<<endl;
cout<<" On iplik fiyat giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " Arka ˜plik fiyat giriniz ";cin>>deger2;

iplikm(deger1,deger2) ; goto tekrar; }
case 'f': case 'F': { cout<<endl;
cout<<" VuruŸ sayisini giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " VuruŸ maliyetini girniz ";cin>>deger2;

iscilikm(deger1,deger2) ; goto tekrar; }
case 'b': case 'B': { cout<<endl;
cout<<" Maln a§rl§ giriniz. ";cin>>deger1;
//cout<<endl;
cout<< " Boyahane fiyat girniz ";cin>>deger2;

boyahanem(deger1,deger2) ; goto tekrar; }
case 's': case 'S': {cout<<endl;
cout<<" Sabit giderleri giriniz. ";cin>>deger1;
giderm(deger1) ; goto tekrar; }

case 'a': case 'A': {cout<<endl;
cout<<" Amortisman oran giriniz. ";cin>>deger1;
amortisman(deger1) ; goto tekrar; }

}

}

float Bkupur::hesapla() {

toplam=kumas+iplik+iscilik+boyhane+gider;
toplam=toplam+(toplam*fire/100);
return toplam;}

void Bkupur::Bsil(){
kumas=0;iplik=0;iscilik=0;boyhane=0;
gider=0;fire=0;toplam=0; }

main() {
Bkupur n; n.Bsil();
n.sec();n.hesapla();
n.yaz();
return 0; }