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";
}