Jump to content

Primele creatii in limbajul C++.


xxSPEEDYxx

Recommended Posts

Pai .. poate unii dintre voi stiti putin limbajul C++. Am inceput si eu sa-l invat putintel, si mi se pare ft. tare :)

Pana acum am facut 2 creatii:

- Ghiceste numarul: dificultati, maximul de sanse in care poti ghici numarul, si la final iti arata si timpul cat ti-a luat sa ghicesti numerele.

- A 2-a creatie este ca calculeaza o ecuatie de gradul al 2-lea, inca in "development", dar merge, mai trebuie doar s-o extind putin :))

Joculetul:

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

#define MAX_CHANCES 15

void CheckNumber (int numar, int numarcautat);

int main( )
{
	int rand_nr, nr, dificultate;

	srand(time(NULL));

	system ( "cls" );
    system ( "color 09" );

	cout<<"Scrie dificultatea pe care vrei sa o alegi:\n";
	cout<<"Scrie:\n1 - Usor(1-100)\n2 - Mediu(1-500)\n3 - Greu(1-1000)\nDificultate: ";
	cin>>dificultate;

	switch( dificultate )
	{
		case 1:
		{
			rand_nr = rand() % 100 + 1;
			cout<<"\n\nAi ales dificultatea USOARA ! Succes !!\n";
			cout<<"Scrie un numar de la 1 la 100: "; 
			cin>>nr;

			CheckNumber(nr, rand_nr);
		}
		case 2:
		{
			rand_nr = rand() % 500 + 1;
			cout<<"\n\nAi ales dificultatea MEDIE ! Succes !!\n";
			cout<<"Scrie un numar de la 1 la 500: "; 
			cin>>nr;

			CheckNumber(nr, rand_nr);
		}
		case 3:
		{
			rand_nr = rand() % 1000 + 1;
			cout<<"\n\nAi ales dificultatea GREA ! Succes !!\n";
			cout<<"Scrie un numar de la 1 la 1000: "; 
			cin>>nr;

			CheckNumber(nr, rand_nr);
		}
		default:
		{
			cout<<"Scrie:\n1 - Usor(1-100)\n2 - Mediu(1-500)\n3 - Greu(1-1000)\nDificultate: ";
			cin>>dificultate;
		}
	}
	return 0;
}

void CheckNumber (int numar, int numarcautat)
{
	int max;
	max = 1;

	time_t timer1;
	time_t timer2;
	double secunde;

	time(&timer1);

	do
	{
		if ( MAX_CHANCES != max )
		{
			if ( numarcautat < numar )
			{
				cout<<"Numarul este mai MIC, sanse "<<max<<"/15 ramase: "; cin>>numar;
			}
			else if ( numarcautat > numar )
			{
				cout<<"Numarul este mai MARE, sanse "<<max<<"/15 ramase: "; cin>>numar;
			}
			max++;
		}
		else
		{
			printf("Scuze, dar ai depasit limita setata pentru gasirea cifrei, care este de %d ori\n", MAX_CHANCES );
			system("PAUSE");
		}
	}
	while( numarcautat != numar );

	if ( max == 1 )
		printf( "Ai gasit numarul din 1\n" );
	else
		printf( "Ai ghicit numarul din %d incercari\n", max );

	time(&timer2);
	secunde = difftime(timer2,timer1);
	cout<<"Ai ghicit numarul in "<<secunde<<" de secunde\n";
	system("PAUSE");
}
Nu este cine stie ce, dar ca 1 creatie, cred ca este destul de bine. - Multumesc lui mihaibr, care m-a ajutat cu timpul. Ecuatia de gradul al II-lea:
#include <iostream.h>
#include <math.h>

int main( )
{
	int a, b, c, contor, delta, i = 0;
	int prvo_cisla[ 12 ] = { 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144 };

	float x1, x2;

	cout<<"Scrie A (X2)= "; cin>>a;
	cout<<"Scrie B (X1)= "; cin>>b;
	cout<<"Scrie C (Numar)= "; cin>>c;

	delta = b*b-4*a*c;

	if ( delta == 0 )
	{
		x2 = (-b)/(2*a);
		x1 = (-b)/(2*a);

		cout<<"Ecuatia are 1 singura rezolvare in R\nX1: "<<x1<<" a X2: "<<x2<<"";
	}
	else if ( delta < 0 )
	{
		system( "color A" );
		cout<<"Delta="<<delta<<" > ecuatia nu are rezolvare in R";

		return 0;
	}
	else
	{
		contor = 0;
		for ( i = 0; i < 12; i++ )
		{
			if ( delta == prvo_cisla[ i ] )
			{
				contor++;
				cout<<"\nS-a gasit un numar din array\n";
			}
		}

		if ( contor == 0 )
		{
			cout<<"\nNu am gasit nici un numar din array.\n";
			return 0;
		}

		x1 = (-b - sqrt(delta))/(2*a);
		x2 = (-b + sqrt(delta))/(2*a);

		cout<<"X1: "<<x1<<" a X2: "<<x2<<"";
	}
	return 0;
}

Poate cine o sa folositi asta ^^ ca sa calculati mai usor ecuatiile =)

This is it for now ...

Fara reclama in semnatura!

Link to comment
Share on other sites

Nu cred ca stie cineva pe aici, chiar nu are cine.

Si eu incerc mai nou sa imi bat capul cu C++, am mai vorbit noi zilele trecute 21.gif

Ti-am mai spus si tie si altora.

Sunt eu mandru cand va vad ca stiti mai multe 21.gif

Link to comment
Share on other sites

NexT." post="134671" timestamp="1362421663"]

Si eu fac C++ la scoala, ca sunt la mate-info, asta e primu an si nu e foarte greu nu credeam ca o sa puna cineva ceva cu C++ aici  :grin:

Si eu fac de 2 ani.

Am si eu cateva programe facute. Dar nu sunt chiar asa ca a lui xxSPEEDYxx

De exemplu:

Aici

Aici

Aici

Aici

Aici

Aici

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

  • 2 months later...

Cea mai noua creatie a mea, cat timp nu am avut internet :))

Lotto -> Eu zic sa va antrenati aici, si cine stie, daca gasiti 6 din 6 numere, mergeti duminica si le dati la lotto =)

#include <iostream.h>

//#define DEBUG_MODE

int main( )
{
	int lottonumbers[6];
	int winnernumbers[6];
	int wonnrs = 0;

	srand( time(NULL));
	system("title Lotto(6/49)");
	system("color E");

	for ( int i = 0; i < 6; ++ i )
	{
		winnernumbers[i] = rand() % 50 + 1;

		for ( int j = 0; j < i; ++ j )
		{
			if ( winnernumbers[i] == winnernumbers[j] )
			{
				winnernumbers[i] = rand() % 50 + 1;
			}
		}
		#if defined DEBUG_MODE
		cout<<""<<winnernumbers[i]<<"\n";
		#endif
	}

	cout<<"Lotto 6/49 minigame!\n" << endl;

	for ( int i = 0; i < 6; ++ i )
	{
		cout<<"Numar"<<i+1<<": "; cin>>lottonumbers[i];

		for ( int j = 0; j < i; ++ j )
		{
			if ( lottonumbers[i] == lottonumbers[j] )
			{
				cout<<"\n** Nu poti sa scrii o cifra pe care ai scris-o deja **\nNumar"<<i+1<<": "; cin>>lottonumbers[i];
			}
		}

		if ( lottonumbers[i] > 49 || lottonumbers[i] < 1 )
		{
			cout<<"\n** Numerele trebuie sa fie de la 1 pana la 49 **\nNumar"<<i+1<<": "; cin>>lottonumbers[i];
		}
	}

	for ( int checker = 0; checker < 6; ++ checker )
	{
		for ( int i = 0; i < 6; ++ i )
		{
			if ( lottonumbers[checker] == winnernumbers[i] )
				wonnrs++;
		}
	}

	if ( wonnrs == 0 )
	{
		cout<<"\n************************************\nOoops! Nu ai gasit nici un numar bun!\n\n* Numerele castigastoare:\n"<<winnernumbers[ 0 ]<<", "<<winnernumbers[ 1 ]<<", "<<winnernumbers[ 2 ]<<", "<<winnernumbers[ 3 ]<<", "<<winnernumbers[ 4 ]<<", "<<winnernumbers[ 5 ]<<"\n************************************" << endl;
	}
	else
	{
		cout<<"\n************************************\nFelicitari! Ai gasit "<<wonnrs<<" numere bune !\n\n* Numerele castigatoare:\n"<<winnernumbers[ 0 ]<<", "<<winnernumbers[ 1 ]<<", "<<winnernumbers[ 2 ]<<", "<<winnernumbers[ 3 ]<<", "<<winnernumbers[ 4 ]<<", "<<winnernumbers[ 5 ]<<"\n************************************";
	}
	return 0;
}

Fara reclama in semnatura!

Link to comment
Share on other sites

  • 2 weeks later...
  • WopsS locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.