#include "Dodatki.h"
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>


//#include <conio.h>
#include <ctime>


using namespace std;

string TablicaOpcji[20];
int    TablicaLiczb[100];
int    LiczbaOpcji=5;


void LosowanieLiczb()
{
	srand(time(NULL));  
	for (int i=0; i<100; i++)
		TablicaLiczb[i]=rand() % 21;
}

void CzynnosciPoczatkowe()
{ 
	TablicaOpcji[0]="Statystyka liczb         ";
	TablicaOpcji[1]="Suma liczb parzystych    ";
	TablicaOpcji[2]="Liczby podzielne przez 5 ";
	TablicaOpcji[3]="Średnia arytmetyczna     ";
	TablicaOpcji[4]="Koniec programu          ";

	LosowanieLiczb();
}

void CzynnosciPoczatkowe2()
{
	 
int ile =0;
    fstream plik;

    plik.open("Opcje.txt", ios::in);
    if(plik.good() == true)
    {
        while(!plik.eof())
        {
			getline(plik, TablicaOpcji[ile++]);
            //cout << linia[ile-1] << endl; //wyświetlenie linii
        }
        plik.close();
    }
 LiczbaOpcji=ile-1;
 LosowanieLiczb();
}
 

void WyswietlMenu()
{
	KolorTekstu(0x001E);	 
    system ("cls");
	for (int i=0;i<LiczbaOpcji;i++)
	{
		if (i==0)
		KolorTekstu(0x00E1);
		else

		KolorTekstu(0x001E);

		PozycjaTekstu(10,10+i);
		cout << TablicaOpcji[i].c_str()<<endl<<endl;
	}

}

int ObslugaMenu()
{
	int WybranaOpcja=1, znak;
	znak=getch();
	while  (znak!=13)
	{
		   PozycjaTekstu(10,10+ WybranaOpcja -1);
		   KolorTekstu(0x001E);
		   cout << TablicaOpcji[WybranaOpcja -1].c_str()<<endl<<endl;
		    if (znak==224)
			{
				  if( kbhit() )  
                 switch( getch() )
				  {
				     case 80 :
						 if (WybranaOpcja==LiczbaOpcji)
							 WybranaOpcja=1;
						 else
							 WybranaOpcja++;
						 break;
				     case 72 :
						 
						 if (WybranaOpcja==1)
							 WybranaOpcja=LiczbaOpcji;
						 else
							 WybranaOpcja--;
						 break;
				  }

				  PozycjaTekstu(10,10+ WybranaOpcja -1);
				  KolorTekstu(0x00E1);
		          cout << TablicaOpcji[WybranaOpcja -1].c_str()<<endl<<endl;

			};
			znak=getch();
	};

	return WybranaOpcja;
}


void StatystykaLiczb()
{
	int ileP=0;
	for (int i=0; i<100; i++)
		if (TablicaLiczb[i] %2 ==0)
			ileP++;
	KolorTekstu(0x001E);	 
  system ("cls"); 
	PozycjaTekstu(15,15);
	
	cout<<"W tablicy jest "<<ileP<<" liczb parzystych"<<endl;
	getch();
}


void SumaLiczbParzystych()
{
	int suma=0;
	for (int i=0; i<100; i++)
		if (TablicaLiczb[i] %2 ==0)
			suma+=TablicaLiczb[i];
	KolorTekstu(0x001E);	 
  system ("cls"); 
	PozycjaTekstu(15,15);
	
	cout<<"Suma liczb parzystych w tablicy = "<<suma<<endl;
	getch();
}

void LiczbyPodzielnePrzez5()
{
	int ileP=0;
	for (int i=0; i<100; i++)
		if (TablicaLiczb[i] % 5 ==0)
			ileP++;
	KolorTekstu(0x001E);	 
  system ("cls"); 
	PozycjaTekstu(15,15);
	
	cout<<"W tablicy jest "<<ileP<<" liczb podzielnych przez 5 "<<endl;
	getch();
}

void SredniaArytmetyczna()
{
	int suma=0;
	for (int i=0; i<100; i++)
			suma+=TablicaLiczb[i];
	KolorTekstu(0x001E);	 
  system ("cls"); 
	PozycjaTekstu(15,15);
	
	cout<<"Średnia arytmetyczna liczb   w tablicy = "<<(double) suma/100<<endl;
	getch();
}

void WykonajZadanie(int opcja)
{
	switch (opcja)
	{
	   case 1: StatystykaLiczb(); break;
	   case 2: SumaLiczbParzystych(); break;
	   case 3: LiczbyPodzielnePrzez5();break; 
	   case 4: SredniaArytmetyczna();break; 
	}
}



bool Decyzja(int opcja)
{
	 
	 
	if (opcja==LiczbaOpcji)
	    return false;
	else
		return true;
}