Back to BeeGuid Source
void secondMode()
{
bool repeatFirstMode = true,
error = false;
while (repeatFirstMode) //Body of Second Mode
{
welcomeTitle();
filesTable(); //Table of files
tableOfAvailableTypesOfGen(); //As it is
int endF = 777, // O:) //User choosing gene
nNumberOfGenInTable;
string nNumberOfGenInTable2;
::cout << " Enter the number of gene: ";
do
{
nNumberOfGenInTable = 50;
nNumberOfGenInTable2 = fastModeConf(2);
if ((nNumberOfGenInTable2 == "res") | (nNumberOfGenInTable2 == "stop"))
{
if (nNumberOfGenInTable2 == "res") { res = true; }
else { stop = true; }
nNumberOfGenInTable = -1;
}
else
{
for (int i = 1; i <= 25; i++)
{
string sg = to_string(i);
if (nNumberOfGenInTable2 == sg) { nNumberOfGenInTable = ::stoi(nNumberOfGenInTable2); }
}
}
if (((nNumberOfGenInTable < 1) & (nNumberOfGenInTable != -1)) || nNumberOfGenInTable > 23) { ::cout << " Invalid number, try again. " << endl << " "; }
else (endF = 666); // }:D
} while (endF != 666); //Finally user chose right gene
string chose;
int nextValueGen;
if (nNumberOfGenInTable != -1) //Building table of available gene values
{
nextValueGen = scanOfAvailableValuesOfGen(nNumberOfGenInTable); //Scaning
nextValueGen--;
//Again table
welcomeTitle();
chose = wordOut(nNumberOfGenInTable);
::cout << " You chose \"" << chose << "\" (" << nNumberOfGenInTable << ")" << endl;
buildTable(msValueGen, nextValueGen, "ccolor");
}
int numberOfValue; //User choosing value
if ((res == true) | (stop == true))
{
numberOfValue = -1;
}
else
{
string numberOfValue2;
numberOfValue = 50;
numberOfValue2 = fastModeConf(3);
if ((numberOfValue2 == "res") | (numberOfValue2 == "stop"))
{
if (numberOfValue2 == "res") { res = true; }
else { stop = true; }
numberOfValue = -1;
}
else
{
for (int i = 1; i <= 250; i++)
{
string sg = to_string(i);
if (numberOfValue2 == sg) { numberOfValue = ::stoi(numberOfValue2); }
}
}
} //User chose value
if (numberOfValue != -1) //Building table of suitable bees
{
welcomeTitle();
::cout << " You chose \""; //Out info start
char choosenElement[75];
strncpy_s(choosenElement, msValueGen[numberOfValue].c_str(), msValueGen[numberOfValue].length() + 1);
char *istr;
istr = strstr(choosenElement, "+");
int elementLen = chose.length();
if (istr != NULL)
{
strncpy_s(choosenElement, msValueGen[numberOfValue].c_str(), msValueGen[numberOfValue].length() - 1);
::cout << darkblue << choosenElement << aqua;
}
else
{
istr = strstr(choosenElement, "-");
if (istr != NULL)
{
strncpy_s(choosenElement, msValueGen[numberOfValue].c_str(), msValueGen[numberOfValue].length() - 1);
::cout << darkred << choosenElement << aqua;
}
else
{
strncpy_s(choosenElement, msValueGen[numberOfValue].c_str(), msValueGen[numberOfValue].length());
::cout << darkgreen << choosenElement << aqua;
}
}
::cout << "\" (" << numberOfValue << ")" << endl; //Out info finish
if ((numberOfValue > nextValueGen) | (numberOfValue < 1))
{
welcomeTitle();
::cout << " Console: " << "Error" << endl;
error = true;
break;
}
else
{
int nNumberOfBeeWithChoosenGen = scanForBeesUsingGen(numberOfValue, nNumberOfGenInTable);
buildTable(msBeeWithChosenGen, nNumberOfBeeWithChoosenGen, "center");
nNumberOfBeeWithChoosenGen = 1;
}
}
repeatFirstMode = restartMode(error, " Find some bees again? (y/n) "); //Restart this mode
}
}
|