functions.cpp

// Programmer: Bushra Anjum

// file: functions.cpp

#include "header.h"

void generateDNAOrig(char dna[])

{

//for each dna character

for(int i =0;i<DNA_LENGTH_ORIG;i++)

{

//generate random number between 1 and 100

int r = get_random_number(1,100);

//get a character of given probability

if(r>=1 && r<=30)

dna[i]='C';

else if(r>=31 && r<=50)

dna[i]='T';

else if(r>=51 && r<=65)

dna[i]='G';

else

dna[i]='A';

}

dna[DNA_LENGTH_ORIG]='\0';

}

void generateDNASample(char dna[])

{

//for each dna character

for(int i =0;i<DNA_LENGTH_SAMPLE;i++)

{

//generate random number between 1 and 100

int r = get_random_number(1,100);

//get a character of given probability

if(r>=1 && r<=30)

dna[i]='C';

else if(r>=31 && r<=50)

dna[i]='T';

else if(r>=51 && r<=65)

dna[i]='G';

else if(r>=66 && r<=67)

dna[i]='-';

else

dna[i]='A';

}

dna[DNA_LENGTH_SAMPLE]='\0';

}

float getMatch(char sampleDNA[], char cowDNA[], int startIndex)

{

int count=0;

for(int i =0;i<DNA_LENGTH_SAMPLE;i++)

{

if(cowDNA[startIndex+i]==sampleDNA[i])

count++;

}

return (count*1.0)/DNA_LENGTH_SAMPLE;

}

void generateTeeth(char teeth[])

{

//for each tooth character

for(int i =0;i<TEETH_LENGTH;i++)

{

//generate random number between 1 and 100

int r = get_random_number(1,100);

//get a character of given probability

if(r>=1 && r<=50)

teeth[i]='N';

else if(r>=51 && r<=70)

teeth[i]='W';

else if(r>=71 && r<=80)

teeth[i]='A';

else if(r>=81 && r<=90)

teeth[i]='G';

else

teeth[i]='L';

}

teeth[TEETH_LENGTH]='\0';

}

bool dentalMatch(char sampleTeeth[], char cowTeeth[])

{

for(int i =0;i<TEETH_LENGTH;i++)

{

if(sampleTeeth[i]!=cowTeeth[i])

return false;

}

return true;

}

float get_random_number(const float lower_limit, const float upper_limit)

{

return (lower_limit + rand()/ (RAND_MAX / (upper_limit - lower_limit+1)));

}

void goodbye()

{

cout<<"\nSigning of now ...\n\n";

}