You are on page 1of 7

#include<iostream>

#include<conio>
#include<iomanip>
#include<stdio>
#include<math>
#include<fstream>
struct infoShirt
{
/*
double grand_total_shirt;
double sum_total_shirt;
double money;
double balance;
double distance;
double deliveryCost;
*/
int count_customer;
double totalQuantity;
double dis_rate;
double netpay;
char customer[50];
char code;
double total_shirt;
char address;
double quantity;
double delivery;
int per_oder;
}info[50];
void
void
void
void
void
void
void

ReadData(infoShirt info[], int& , ofstream& outData);


PrintBillShow(infoShirt info[],ofstream & outData);
totalAll(infoShirt info[], int&, ofstream& outData);
sorting( infoShirt info[],int&, ofstream& outData);
findMax( infoShirt info[], int&, ofstream& outData);
findMin( infoShirt info[], int&, ofstream& outData);
PrintBillResult( ofstream& outData , infoShirt info[], int&);

int i =0;
void ReadData(infoShirt info[], int &count_customer , ofstream& outData, int nu
mber )
{
char respond= 'y';
char nextshirt;
int k =0;

while ( respond == 'y' || respond == 'Y')


{
cout<<endl<<endl;

cout<<"Customer Name: ";


cin.getline(info[i].customer,29);
info[i].count_customer++;

cout<<"Tshirt Code: ";


cin>>info[i].code;
cin.ignore(1);
cout<<"Quantity Tshirt: ";
cin>>info[i].quantity;
info[i].per_oder++;
if ( info[i].code == 'A' || info[i].code == 'a')
{
info[i].total_shirt += 25 * info[i].quantity;
}
else if ( info[i].code == 'B' || info[i].code == 'b')
{
info[i].total_shirt += 26* info[i].quantity;
}
else if ( info[i].code == 'C' || info[i].code == 'c')
{
info[i].total_shirt += 23* info[i].quantity;
}
else if ( info[i].code == 'D' || info[i].code == 'd')
{
info[i].total_shirt += 30* info[i].quantity;
}
else if ( info[i].code == 'E' || info[i].code == 'e')
{
info[i].total_shirt +=30 *info[i].quantity;
}
else
{
cout<<"Wrong CODE RM!"<<endl;
}
info[i].totalQuantity += info[i].quantity;
cout<<"Want to buy another t-shirt??? YES(y) or NO(n) :";
cin>>nextshirt;

while ( nextshirt == 'y' || nextshirt == 'Y')


{
cout<<"Code: ";
cin>>info[i].code;
cout<<"Quantity: ";
cin>>info[i].quantity;
info[i].per_oder++;
cout<<"Want to buy another t-shirt? YES(y) or NO(n) :";
cin>>nextshirt;
}

cout<<"Take delivery?? YES(y) or NO(n) :";

cin>>respond;
cin.ignore();
cout<<endl;
cout<<endl;
if ( info[i].total_shirt >=0 && info[i].total_shirt <450)
{
info[i].dis_rate=(30.0/100.0)*info[i].total_shirt;
}
else if( info[i].total_shirt >=450 && info[i].total_shirt <500)
{
info[i].dis_rate=(35.0/100.0)*info[i].total_shirt;
}
else if ( info[i].total_shirt >=500)
{
info[i].dis_rate=(40.0/100.0)*info[i].total_shirt;
}
else
{
cout<<"Wrong Input dis_shirt"<<endl;
}

if ( respond == 'y' || respond == 'Y')


{
info[i].delivery=50;
}
else if ( respond == 'n' || respond =='N')
{
info[i].delivery=0;
}
info[i].netpay = (info[i].total_shirt + info[i].delivery) - info[i].dis_r
ate;
PrintBillShow(info,outData);

cout<<endl;
i++;
count_customer= i;
cout<<endl;

cout<<"WANT TO ADD ANOTHER CUSTOMER??YES(y) or NO(n) :";


cin>>respond;
cin.ignore(1);
}
}

void PrintBillShow(infoShirt info[],ofstream & outData)


{
cout<<"\n\n---------------------------------------------------------------"<<endl;
cout<<"\t\t\t Your Resit"<<endl;
cout<<"----------------------------------------------------------------"<<end
l;
cout<<"Name customer: "<<info[i].customer<<endl;
cout<<"Total T-Shirt Customer Buy:"<<info[i].totalQuantity<<endl;
cout<<"Per Order:"<<info[i].per_oder<<endl;
cout<<"Original Total Price:RM "<<info[i].total_shirt<<endl;
cout<<"Discount:RM "<<info[i].dis_rate<<endl;
cout<<"Your Delivery Cost:RM "<<info[i].delivery<<endl;
cout<<"Netpay:RM "<<info[i].netpay<<endl;
cout<<"----------------------------------------------------------------"<<end
l;
outData<<"\n\n---------------------------------------------------------------"<<endl;
outData<<"\t\t\t Customer Resit"<<endl;
outData<<"----------------------------------------------------------------"<<
endl;
outData<<"Name customer: "<<info[i].customer<<endl;
outData<<"Total T-Shirt Customer Buy:"<<info[i].totalQuantity<<endl;
outData<<"Per Order:"<<info[i].per_oder<<endl;
outData<<"Original Total Price:RM "<<info[i].total_shirt<<endl;
outData<<"Discount:RM "<<info[i].dis_rate<<endl;
outData<<"Your Delivery Cost:RM "<<info[i].delivery<<endl;
outData<<"Netpay:RM "<<info[i].netpay<<endl;
outData<<"----------------------------------------------------------------"<<
endl;
}
void PrintBillResult(ofstream & outData, infoShirt info[], int &count_customer)
{
totalAll(info,count_customer,outData);
sorting(info,count_customer,outData);
findMax(info,count_customer,outData);
findMin(info,count_customer,outData);
}
void totalAll(infoShirt info[], int &count_customer, ofstream& outData)
{
clrscr();

double sum=0.0;
double avg = 0.0;
for ( int i=0; i<count_customer ;i++)
{
sum=sum+info[i].netpay;
avg=sum/count_customer;

}
cout<<endl<<endl;
cout<<"Sum of all price are : RM "<<sum<<endl;
cout<<"Average price
: RM "<<avg<<endl;
outData<<"Sum of all price are : RM "<<sum<<endl;
outData<<"Average price
: RM "<<avg<<endl;
}
void sorting( infoShirt info[], int &count_customer, ofstream& outData)
{
float pass,hold ;
int tempCount = count_customer;
for (pass =1; pass < tempCount ; pass++)
{
for(int i=0; i < tempCount-1 ; i++)
if( info[i].netpay > info[i+1].netpay)
{
hold = info[i].netpay;
info[i].netpay = info[i+1].netpay;
info[i+1].netpay = hold;
}
}
cout<<endl<<endl<<"Sorted amount in acending order: ";
outData<<"Sorted amount in acending order: ";
cout<<endl;
for ( int i=0; i<tempCount ;i++)
{
cout<<"RM"<<info[i].netpay<<" ";
outData<<"RM"<<info[i].netpay<<" ";
}
}
void findMax( infoShirt info[], int &count_customer , ofstream& outData)
{

float max = info[0].netpay;


for ( int i=0; i<count_customer ;i++)
{
if(max<info[i].netpay)
{
max = info[i].netpay ;
}
else
{
max=max ;
}
}

cout<<endl<<endl ;
cout<<"Highest amount of customer buy: RM"<<max<<endl ;
outData<<endl<<"Highest amount of customer buy: RM"<<max<<endl ;
}
void findMin( infoShirt info[], int &count_customer , ofstream& outData)
{
float min = info[0].netpay;
for ( int i=0; i<count_customer ;i++)
{
if(min>info[i].netpay)
{
min = info[i].netpay ;
}
else
{
min = min ;
}
}
cout << "Lowest amout of customer buy: RM" <<min<< endl ;
outData<<"Lowest amout of customer buy: RM"<<min<<endl;
}

int main()
{
int count_customer=0;
int number=0;
int *p;
p=&number;
ofstream outData;
outData.open("Result.txt");

cout<<"--------------------------------------------------------------"<<endl;
cout<<"------SELAMAT DATANG KE ISLAMIC MALAYA TSHIRT SDN. BHD.-------"<<endl;
cout<<"--------------------------------------------------------------"<<endl<
<endl;
cout<<"PILIHAN BAJU UNTUK ANDA :"<<endl;
cout<<"_________________________________________________"<<endl;
cout<<"|NAMA TSHIRT"<<'\t'<<"| KOD TSHIRT"<<'\t'<<"| HARGA TSHIRT |"<<endl;
cout<<"|________________________________________________|"<<endl;
cout<<"|I AM MUSLIM"<<"\t\t"<<"A"<<"\t"<<"
RM25.00
|"<<endl;
cout<<"|UKHWAHFILLAH"<<"\t\t"<<"B"<<"\t"<<"
RM26.00
|"<<endl;
cout<<"|FREE PALESTINE"<<"\t\t"<<"C"<<"\t"<<"
RM23.00
|"<<endl;
cout<<"|SAVE GAZA"<<"\t\t"<<"D"<<"\t"<<"
RM30.00
|"<<endl;
cout<<"|PRAY FOR GAZA"<<"\t\t"<<"E"<<"\t"<<"
RM30.00
|"<<endl;
cout<<"|________________________________________________|"<<endl;
cout<<endl;

ReadData(info,count_customer, outData, number);


cout<<endl;
cout<<"Hi!! May i ask something different?";
cout<<"\nWhat Is your Favourite Number? : ";
cin>>number;
cout<<endl;
PrintBillResult(outData,info, count_customer);
cout<<endl;
cout<<"Customer favourite number: "<<*p<<endl;
cout<endl;
cout<<endl<<endl<<"OPEN "<<"Result.txt"<<" IN THE FOLDER TO VIEW THE ANALYSA"
<<endl<<endl;
cout<<endl<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<end
l;
cout<<"+++++++++++++THANK YOU FOR USING THIS SERVICES++++++++++++"<<endl
;
cout<<"++++++++++++PRESS ANY KEY TO CLOSE THIS PROGRAM+++++++++++"<<endl
;
cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
outData.close();

getch();
}

You might also like