1. #include<stdio.h>
#include<string.h>
#define MAX 100
#define COST_AT_ARGENTINA 50
#define COST_AT_BRAZIL 100
#define COST_OF_TRANSPORTATION 400
#define MAX_ITEM_CAN_IMPORTED 10
int inputValidator(const char* countryName)
{
if(strcmp(countryName,"ARGENTINA")==0||strcmp(countryName,"argentina")==0||
strcmp(countryName,"BRAZIL")==0||strcmp(countryName,"brazil")==0)
return 1;
return 0;
}
//function to find cost if order placed in argentina//
int findCostAtArgentina(int numberOfItemOrdered,int*
itemLeftInArgentinaStock,int* itemLeftInBrazilStock)
{
int
numberOfItemImported,numberOfItemUnImported,totalCost=0,numberOfItemCantImport;
int numberOfBlockImported;
if(numberOfItemOrdered>MAX)
{
numberOfItemImported=numberOfItemOrdered%MAX;
if((numberOfItemImported%MAX_ITEM_CAN_IMPORTED)!=0)
{
fprintf(stderr,"CANNOT COMPLETE THE ORDER MAY BE DUE TO 'OUT OF
STOCK'n");
return 0;
}
numberOfBlockImported=numberOfItemImported/MAX_ITEM_CAN_IMPORTED;
totalCost=(MAX*COST_AT_ARGENTINA)+
(numberOfBlockImported*COST_OF_TRANSPORTATION)+
(numberOfItemImported*COST_AT_BRAZIL);
*itemLeftInArgentinaStock=0;
*itemLeftInBrazilStock-=numberOfItemImported;
//printf("total_Cost=%d",totalCost);
}
else
{
totalCost=(numberOfItemOrdered*COST_AT_ARGENTINA);
*itemLeftInArgentinaStock-=numberOfItemOrdered;
}
return totalCost;
}
//function to find cost if order placed in Brazil//
int findCostAtBrazil(int numberOfItemOrdered,int* itemLeftInArgentinaStock,int*
itemLeftInBrazilStock)
{
int
numberOfItemImported,numberOfItemUnImported,totalCost=0,numberOfItemCantImport;
int numberOfBlockImported;
int brazilTempCost=0,argentinaTempCost=0;
if(numberOfItemOrdered>MAX)
{
brazilTempCost+=MAX*COST_AT_ARGENTINA;
brazilTempCost+=((MAX/MAX_ITEM_CAN_IMPORTED)*COST_OF_TRANSPORTATION);
numberOfItemOrdered-=MAX;
brazilTempCost+=(numberOfItemOrdered*COST_AT_BRAZIL);
*itemLeftInArgentinaStock-=MAX;
*itemLeftInBrazilStock-=numberOfItemOrdered;
return brazilTempCost;