Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Ocena programu :) 2


Rekomendowane odpowiedzi

Opublikowano

Witam!

Podczas utrwalania wiadomości o c++ podczas jego nauki stworzyłem taki oto program :)

O nazwie "Nauka liczenia" :P

 

 

#include <iostream>
#include <ctime>
using namespace std;
int mnozenie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
int wynik;
int liczba1 = ( rand() % zakres ) + 1;
int liczba2 = ( rand() % zakres ) + 1;
int liczba3 = ( rand() % zakres ) + 1;
int liczba4 = ( rand() % zakres ) + 1;
switch( poziom_trudnosci )
{
case 1:
{
cout << liczba1 << "*" << liczba2 << "=";
cin >> wynik;
if( wynik == liczba1 * liczba2 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 << endl << endl;
}
}
break;
case 2:
{
cout << liczba1 << "*" << liczba2 << "*" << liczba3 << "=";
cin >> wynik;
if( wynik == liczba1 * liczba2 * liczba3 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 * liczba3 << endl << endl;
}
}
break;
case 3:
{
cout << liczba1 << "*" << liczba2 << "*" << liczba3 << "*" << liczba4 << "=";
cin >> wynik;
if( wynik == liczba1 * liczba2 * liczba3 * liczba4 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 * liczba3 * liczba4 << endl << endl;
}
}
}
liczba_dzialan--;
}while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int dzielenie( int liczba_dzialan, int zakres )
{
int ilosc_dobrze = 0;
do
{
int wynik;
int liczba2 = ( rand() % zakres ) + 1;
int wynik_dobry = ( rand() % 10 ) + 1;
int liczba1 = liczba2 * wynik_dobry;
cout << liczba1 << "/" << liczba2 << "=";
cin >> wynik;
if( wynik == wynik_dobry)
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << wynik_dobry << endl << endl;
}
liczba_dzialan--;
}while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int dodawanie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
int wynik;
int liczba1 = ( rand() % zakres ) + 1;
int liczba2 = ( rand() % zakres ) + 1;
int liczba3 = ( rand() % zakres ) + 1;
int liczba4 = ( rand() % zakres ) + 1;
switch( poziom_trudnosci )
{
case 1:
{
cout << liczba1 << "+" << liczba2 << "=";
cin >> wynik;
if( wynik == liczba1 + liczba2 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 << endl << endl;
}
}
break;
case 2:
{
cout << liczba1 << "+" << liczba2 << "+" << liczba3 << "=";
cin >> wynik;
if( wynik == liczba1 + liczba2 + liczba3 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 + liczba3 << endl << endl;
}
}
break;
case 3:
{
cout << liczba1 << "+" << liczba2 << "+" << liczba3 << "+" << liczba4 << "=";
cin >> wynik;
if( wynik == liczba1 + liczba2 + liczba3 + liczba4 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 + liczba3 + liczba4 << endl << endl;
}
}
}
liczba_dzialan--;
}while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int odejmowanie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
int wynik;
int liczba = ( rand() % zakres ) + 1;
int liczba1 = liczba * 5;
int liczba2 = ( rand() % zakres ) + 1;
int liczba3 = ( rand() % zakres ) + 1;
int liczba4 = ( rand() % zakres ) + 1;
switch( poziom_trudnosci )
{
case 1:
{
cout << liczba1 << "-" << liczba2 << "=";
cin >> wynik;
if( wynik == liczba1 - liczba2 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 << endl << endl;
}
}
break;
case 2:
{
cout << liczba1 << "-" << liczba2 << "-" << liczba3 << "=";
cin >> wynik;
if( wynik == liczba1 - liczba2 - liczba3 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 - liczba3 << endl << endl;
}
}
break;
case 3:
{
cout << liczba1 << "-" << liczba2 << "-" << liczba3 << "-" << liczba4 << "=";
cin >> wynik;
if( wynik == liczba1 - liczba2 - liczba3 - liczba4 )
{
cout << "Dobrze!" << endl << endl;
ilosc_dobrze++;
}
else
{
cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 - liczba3 - liczba4 << endl << endl;
}
}
}
liczba_dzialan--;
}while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int main()
{
srand( time( NULL ) );
int ilosc_dobrze;
int liczba_dzialan;
int opcje2;
int rodzaj_dzialan;
int liczba_dzialan_copy;
int zakres;
int poziom_trudnosci;
cout << "Witam w programie do nauki wykonywania dzialan by mario22455" << endl;
do
{
cout << "Jakiego typu dzialania chcesz wykonywac?" << endl
<< "[1]Dodawanie" << endl
<< "[2]Odejmowanie" << endl
<< "[3]Mnozenie" << endl
<< "[4]Dzielenie" << endl;
cin >> rodzaj_dzialan;
cout << "" << endl;
cout << "Ile dzialan chcesz wykonac?" << endl;
cin >> liczba_dzialan;
liczba_dzialan_copy = liczba_dzialan;
cout << "" << endl;
cout << "Na liczbach z jakiego zakresu chcesz wykonywac dzialania" << endl;
cout << "Od 1 do ";
cin >> zakres;
cout << "" << endl;
cout << "Jaki poziom trudnosci wybierasz do swoich dzialan?" << endl;
cout << "[1]Latwy" << endl << "[2]Sredni" << endl << "[3]Trudny" << endl;
cin >> poziom_trudnosci;
cout << "" << endl;
liczba_dzialan_copy = liczba_dzialan;
do{
liczba_dzialan = liczba_dzialan_copy;
cout << "Ok, wykonasz " << liczba_dzialan << " dzialan na liczbach o zakresie od 1 do " << zakres << " na poziomie ";
switch( poziom_trudnosci )
{
case 1:
cout << "latwym." << endl << endl;
break;
case 2:
cout << "srednim." << endl << endl;
break;
case 3:
cout << "trudnym." << endl << endl;
break;
}
switch(rodzaj_dzialan)
{
case 1:
ilosc_dobrze = dodawanie(liczba_dzialan, zakres, poziom_trudnosci );
break;
case 2:
ilosc_dobrze = odejmowanie(liczba_dzialan, zakres, poziom_trudnosci );
break;
case 3:
ilosc_dobrze = mnozenie(liczba_dzialan, zakres, poziom_trudnosci );
break;
case 4:
ilosc_dobrze = dzielenie(liczba_dzialan, zakres );
break;
}
cout << "Wykonales poprawnie " << ilosc_dobrze << " dzialan na " << liczba_dzialan_copy <<" wykonywanych. Co chcesz teraz zrobic?" << endl << endl << "[1]Powrocic do menu" << endl << "[2]Kontynuowac wykonywanie dzialan z poprzednia konfiguracja" << endl << "[0]Wyjsc z programu" << endl;
cin >> opcje2;
cout << "" << endl;
}while( opcje2 == 2 );
}while( opcje2 == 1 );
cout << "Dziekuje za kozystanie z programu" << endl << endl;
system("pause");
}

 

 

 

 

... May the odds be ever in your favour ... All you need is love ... Now boy, now you own me ...

Opublikowano

maskara....

Wszystko wyrównane do lewej ?

 

Tak będzie o wiele lepiej:

 

 

#include <iostream>
#include <ctime>
using namespace std;
int mnozenie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
 int wynik;
 int liczba1 = ( rand() % zakres ) + 1;
 int liczba2 = ( rand() % zakres ) + 1;
 int liczba3 = ( rand() % zakres ) + 1;
 int liczba4 = ( rand() % zakres ) + 1;
 switch( poziom_trudnosci )
 {
 case 1:
 {
	 cout << liczba1 << "*" << liczba2 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 * liczba2 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 << endl << endl;
	 }
 }
 break;
 case 2:
 {
	 cout << liczba1 << "*" << liczba2 << "*" << liczba3 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 * liczba2 * liczba3 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 * liczba3 << endl << endl;
	 }
 }
 break;
 case 3:
 {
	 cout << liczba1 << "*" << liczba2 << "*" << liczba3 << "*" << liczba4 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 * liczba2 * liczba3 * liczba4 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 * liczba2 * liczba3 * liczba4 << endl << endl;
	 }
 }
 }
 liczba_dzialan--;
}
while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int dzielenie( int liczba_dzialan, int zakres )
{
int ilosc_dobrze = 0;
do
{
 int wynik;
 int liczba2 = ( rand() % zakres ) + 1;
 int wynik_dobry = ( rand() % 10 ) + 1;
 int liczba1 = liczba2 * wynik_dobry;
 cout << liczba1 << "/" << liczba2 << "=";
 cin >> wynik;
 if( wynik == wynik_dobry)
 {
	 cout << "Dobrze!" << endl << endl;
	 ilosc_dobrze++;
 }
 else
 {
	 cout << "Zle, prawidlowy wynik to " << wynik_dobry << endl << endl;
 }
 liczba_dzialan--;
}
while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int dodawanie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
 int wynik;
 int liczba1 = ( rand() % zakres ) + 1;
 int liczba2 = ( rand() % zakres ) + 1;
 int liczba3 = ( rand() % zakres ) + 1;
 int liczba4 = ( rand() % zakres ) + 1;
 switch( poziom_trudnosci )
 {
 case 1:
 {
	 cout << liczba1 << "+" << liczba2 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 + liczba2 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 << endl << endl;
	 }
 }
 break;
 case 2:
 {
	 cout << liczba1 << "+" << liczba2 << "+" << liczba3 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 + liczba2 + liczba3 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 + liczba3 << endl << endl;
	 }
 }
 break;
 case 3:
 {
	 cout << liczba1 << "+" << liczba2 << "+" << liczba3 << "+" << liczba4 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 + liczba2 + liczba3 + liczba4 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 + liczba2 + liczba3 + liczba4 << endl << endl;
	 }
 }
 }
 liczba_dzialan--;
}
while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int odejmowanie( int liczba_dzialan, int zakres, int poziom_trudnosci )
{
int ilosc_dobrze = 0;
do
{
 int wynik;
 int liczba = ( rand() % zakres ) + 1;
 int liczba1 = liczba * 5;
 int liczba2 = ( rand() % zakres ) + 1;
 int liczba3 = ( rand() % zakres ) + 1;
 int liczba4 = ( rand() % zakres ) + 1;
 switch( poziom_trudnosci )
 {
 case 1:
 {
	 cout << liczba1 << "-" << liczba2 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 - liczba2 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 << endl << endl;
	 }
 }
 break;
 case 2:
 {
	 cout << liczba1 << "-" << liczba2 << "-" << liczba3 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 - liczba2 - liczba3 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 - liczba3 << endl << endl;
	 }
 }
 break;
 case 3:
 {
	 cout << liczba1 << "-" << liczba2 << "-" << liczba3 << "-" << liczba4 << "=";
	 cin >> wynik;
	 if( wynik == liczba1 - liczba2 - liczba3 - liczba4 )
	 {
		 cout << "Dobrze!" << endl << endl;
		 ilosc_dobrze++;
	 }
	 else
	 {
		 cout << "Zle, prawidlowy wynik to " << liczba1 - liczba2 - liczba3 - liczba4 << endl << endl;
	 }
 }
 }
 liczba_dzialan--;
}
while( liczba_dzialan > 0 );
return ilosc_dobrze;
}
int main()
{
srand( time( NULL ) );
int ilosc_dobrze;
int liczba_dzialan;
int opcje2;
int rodzaj_dzialan;
int liczba_dzialan_copy;
int zakres;
int poziom_trudnosci;
cout << "Witam w programie do nauki wykonywania dzialan by mario22455" << endl;
do
{
 cout << "Jakiego typu dzialania chcesz wykonywac?" << endl
	 << "[1]Dodawanie" << endl
	 << "[2]Odejmowanie" << endl
	 << "[3]Mnozenie" << endl
	 << "[4]Dzielenie" << endl;
 cin >> rodzaj_dzialan;
 cout << "" << endl;
 cout << "Ile dzialan chcesz wykonac?" << endl;
 cin >> liczba_dzialan;
 liczba_dzialan_copy = liczba_dzialan;
 cout << "" << endl;
 cout << "Na liczbach z jakiego zakresu chcesz wykonywac dzialania" << endl;
 cout << "Od 1 do ";
 cin >> zakres;
 cout << "" << endl;
 cout << "Jaki poziom trudnosci wybierasz do swoich dzialan?" << endl;
 cout << "[1]Latwy" << endl << "[2]Sredni" << endl << "[3]Trudny" << endl;
 cin >> poziom_trudnosci;
 cout << "" << endl;
 liczba_dzialan_copy = liczba_dzialan;
 do
 {
	 liczba_dzialan = liczba_dzialan_copy;
	 cout << "Ok, wykonasz " << liczba_dzialan << " dzialan na liczbach o zakresie od 1 do " << zakres << " na poziomie ";
	 switch( poziom_trudnosci )
	 {
	 case 1:
		 cout << "latwym." << endl << endl;
		 break;
	 case 2:
		 cout << "srednim." << endl << endl;
		 break;
	 case 3:
		 cout << "trudnym." << endl << endl;
		 break;
	 }
	 switch(rodzaj_dzialan)
	 {
	 case 1:
		 ilosc_dobrze = dodawanie(liczba_dzialan, zakres, poziom_trudnosci );
		 break;
	 case 2:
		 ilosc_dobrze = odejmowanie(liczba_dzialan, zakres, poziom_trudnosci );
		 break;
	 case 3:
		 ilosc_dobrze = mnozenie(liczba_dzialan, zakres, poziom_trudnosci );
		 break;
	 case 4:
		 ilosc_dobrze = dzielenie(liczba_dzialan, zakres );
		 break;
	 }
	 cout << "Wykonales poprawnie " << ilosc_dobrze << " dzialan na " << liczba_dzialan_copy <<" wykonywanych. Co chcesz teraz zrobic?" << endl << endl << "[1]Powrocic do menu" << endl << "[2]Kontynuowac wykonywanie dzialan z poprzednia konfiguracja" << endl << "[0]Wyjsc z programu" << endl;
	 cin >> opcje2;
	 cout << "" << endl;
 }
 while( opcje2 == 2 );
}
while( opcje2 == 1 );
cout << "Dziekuje za kozystanie z programu" << endl << endl;
system("pause");
}

 

 

formatowanie wykonanie przez AStyle, plugin do code::blocks. Zdaje się że każdy go ma - jest w standardowej wersji. Jeżeli używasz code::blocks, traktuj czasami swój kod tym pluginem, na prawdę o wiele łatwiej się połapać o co chodzi - o wiele wygodniej sie czyta.

 

@edit:

brakuje Ci #include <windows.h>

 

A co do programu, całkiem fajny, przyjemny ;p

Zamykam temat, bo autor nie trzyma poziomu.

....

Polityka forum zakazuję nam zamykać tematy, tylko dlatego, że są na niskim poziomie.

I lold.
Opublikowano

A jest takie wyrównywanie w visual c++??

Ps. Liczę na oceny

 

 

... May the odds be ever in your favour ... All you need is love ... Now boy, now you own me ...

Opublikowano

To raczej wina edytora tekstowego forum - ignoruje on wszystkie tabulatory.

C::B domyślnie korzysta z wielu spacji zamiast TABów, stąd czytelniej wygląda.... na forum.

Prawdopodobnie istnieje anologiczne ustawienie w msvc. Zawsze zostaje ideone.

Ta sygnatura jest pusta.

Opublikowano

Ok, a mogę liczyć w końcu na ocenę programu??

 

 

... May the odds be ever in your favour ... All you need is love ... Now boy, now you own me ...

Opublikowano

Nie kompiluje się.

 

prog.cpp: In function ?int mnozenie(int, int, int)?:
prog.cpp:10: error: ?rand? was not declared in this scope
prog.cpp: In function ?int dzielenie(int, int)?:
prog.cpp:72: error: ?rand? was not declared in this scope
prog.cpp: In function ?int dodawanie(int, int, int)?:
prog.cpp:97: error: ?rand? was not declared in this scope
prog.cpp: In function ?int odejmowanie(int, int, int)?:
prog.cpp:159: error: ?rand? was not declared in this scope
prog.cpp: In function ?int main()?:
prog.cpp:218: error: ?srand? was not declared in this scope
prog.cpp:288: error: ?system? was not declared in this scope

Smutek to skutek chęci w kontekście skutku

raczej niefrasobliwej wzglądu o treści zgryźliwej

ma postać walca co jeździ nam po palcach.

Opublikowano

@up spróbuj dodać na początku:

#include <cstdlib>

 

Co do programu, kiedy indziej sprawdze bo na komórce się źle czyta :)


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...