Witam.
Mam pewien problem. Mianowicie nie wiem jak zrobic w c++ aby działanie nie wyświetlały się na konsoli lecz tylko wynik.
slime3000fly napisał(a):
Witam.
Mam pewien problem. Mianowicie nie wiem jak zrobic w c++ aby działanie nie wyświetlały się na konsoli lecz tylko wynik.
Jakie działania? Może ich po prostu nie wypisuj?

- Rejestracja:prawie 13 lat
- Ostatnio:około 4 lata
- Lokalizacja:Wrocław
- Postów:474
Pokaż kod, bo normalnie nie działanie się nie printuje :)
@templas 4 sekundy wcześniej...
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 10 lat
- Postów:7
#include <iostream>
#include "gra.h"
#include <cstdlib>
using namespace std;
gracz::gracz()
{
nazwa="user";
miecze=0;
piki=0;
topory=0;
drewno=300;
zelazo=300;
i=0;
v=0;
a=0;
}
void gracz::pokaz()
{
cout << "posiadasz:" << endl;
cout << miecze << " mieczników"<< endl;
cout << piki << " pikinierów"<< endl;
cout << topory << " toporników"<< endl;
cout << drewno << " drewna"<< endl;
cout << zelazo << " ¿elaza"<< endl;
}
void gracz::naz()
{
cout<<"podaj nazweêgracza: ";
cin >> nazwa;
cout<< endl << "twoja nazwa to: " << nazwa << endl;
}
void gracz::ustaw()
{
do
{
cout<< endl << "co chesz zrobiæ? " << endl;
cout << "1.zobacz liczbê surowców" << endl;
cout << "2.zobacz liczbê wojsk" << endl;
cout << "3.zrekrutuj wojska" << endl;
cout << "4.nastêpna tura" << endl;
cout << "0.koniec gry" << endl;
cin >> i;
switch(i)
{
case 1:
pokaz();
break;
case 2:
pokaz();
break;
case 3:
cout << endl << "1.zobacz kosztorys" << endl << "2.zrekrutuj wojska" << endl;
cin >> v;
switch(v)
{
case 1:
cout<< endl << "jednego miecznika" << endl << "jednego pikiniera" << endl << "jednego topornika" << endl;
cin >> a;
switch (a)
{
case 1:
cout<< endl << "jeden miecznik kosztuje 20 drewna i 40 zelaza, a posiadasz : "<< endl<<"drewna:" << drewno << endl<< "zelaza:" << zelazo <<endl;
break;
case 2:
cout<< endl << "jeden pikinier kosztuje 15 drewna i 20 zelaza, a posiadasz : "<< endl<<"drewna:" << drewno << endl<< "zelaza:" << zelazo <<endl;
break;
case 3:
cout<< endl << "jeden topornik kosztuje 25 drewna i 60 zelaza, a posiadasz : "<< endl<<"drewna:" << drewno << endl<< "zelaza:" << zelazo <<endl;
break;
}
break;
case 2:
cout << endl << "kogo chesz zrekrutowaæ? 1.miecznika 2.pikiniera 3.topornika" << endl;
cin >> b;
switch(b)
{
case 1:
cout << endl << "ile?" << endl;
cin >> i1;
if (i1*20 > drewno)
{
cout << endl << "masz za ma³o drewna." << endl;
}
else
{
if (i1*40 > zelazo)
{
cout << endl << "masz za ma³o zelaza." << endl;
}
else
{
cout << drewno - i1*20;
cout << zelazo - i1*40;
cout << miecze + 3;
cout << endl << "zrekrutowano: " << i1 << "mieczników" << endl;
}
}
break;
}
break;
}
break;
}
}while (i != 0);
}
chodzi o to by to policzyło ale się nie wyświetliło
cout << drewno - i120;
cout << zelazo - i140;
cout << miecze + 3;
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 10 lat
- Postów:7
ale kiedy usunę cout to się nie liczy

- Rejestracja:prawie 12 lat
- Ostatnio:4 minuty
- Lokalizacja:Szczecin
Jak się nie liczy? Przecież Ty jedynie wyświetlasz to na ekran.
Przy okazji: popraw indentację kodu, Twoja jest tragiczna. Nie czytelniej jest tak?
#include <iostream>
#include "gra.h"
#include <cstdlib>
using namespace std;
gracz::gracz() {
nazwa = "user";
miecze = 0;
piki = 0;
topory = 0;
drewno = 300;
zelazo = 300;
i = 0;
v = 0;
a = 0;
}
void gracz::pokaz() {
cout << "posiadasz:" << endl;
cout << miecze << " mieczników" << endl;
cout << piki << " pikinierów" << endl;
cout << topory << " toporników" << endl;
cout << drewno << " drewna" << endl;
cout << zelazo << " ¿elaza" << endl;
}
void gracz::naz() {
cout << "podaj nazweêgracza: ";
cin >> nazwa;
cout << endl << "twoja nazwa to: " << nazwa << endl;
}
void gracz::ustaw() {
do {
cout << endl << "co chesz zrobiæ? " << endl;
cout << "1.zobacz liczbê surowców" << endl;
cout << "2.zobacz liczbê wojsk" << endl;
cout << "3.zrekrutuj wojska" << endl;
cout << "4.nastêpna tura" << endl;
cout << "0.koniec gry" << endl;
cin >> i;
switch (i) {
case 1:
pokaz();
break;
case 2:
pokaz();
break;
case 3:
cout << endl << "1.zobacz kosztorys" << endl << "2.zrekrutuj wojska"
<< endl;
cin >> v;
switch (v) {
case 1:
cout << endl << "jednego miecznika" << endl << "jednego pikiniera"
<< endl << "jednego topornika" << endl;
cin >> a;
switch (a) {
case 1:
cout << endl << "jeden miecznik kosztuje 20 drewna i 40 "
"zelaza, a posiadasz : " << endl
<< "drewna:" << drewno << endl << "zelaza:" << zelazo
<< endl;
break;
case 2:
cout << endl << "jeden pikinier kosztuje 15 drewna i 20 "
"zelaza, a posiadasz : " << endl
<< "drewna:" << drewno << endl << "zelaza:" << zelazo
<< endl;
break;
case 3:
cout << endl << "jeden topornik kosztuje 25 drewna i 60 "
"zelaza, a posiadasz : " << endl
<< "drewna:" << drewno << endl << "zelaza:" << zelazo
<< endl;
break;
}
break;
case 2:
cout
<< endl
<< "kogo chesz zrekrutowaæ? 1.miecznika 2.pikiniera 3.topornika"
<< endl;
cin >> b;
switch (b) {
case 1:
cout << endl << "ile?" << endl;
cin >> i1;
if (i1 * 20 > drewno) {
cout << endl << "masz za ma³o drewna." << endl;
} else {
if (i1 * 40 > zelazo) {
cout << endl << "masz za ma³o zelaza." << endl;
} else {
cout << drewno - i1 * 20;
cout << zelazo - i1 * 40;
cout << miecze + 3;
cout << endl << "zrekrutowano: " << i1 << "mieczników"
<< endl;
}
}
break;
}
break;
}
break;
}
} while (i != 0);
}

- Rejestracja:prawie 12 lat
- Ostatnio:4 minuty
- Lokalizacja:Szczecin
Nie musisz tego wyświetlać. Musisz natomiast przypisać nową wartość do zmiennej.
Zakładam, że miałeś na myśli coś w tym stylu:
drewno = drewno - i1 * 20;
zelazo = zelazo - i1 * 40;
miecze = miecze + 3;
lub w formie skróconej:
drewno -= i1 * 20;
zelazo -= i1 * 40;
miecze += 3;
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 10 lat
- Postów:7
Przepraszam wszystkich zobaczyłem swój głupi błąd :D