Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ Return w funkcji nie działa.

Ostatnio zmodyfikowano 2017-01-04 20:56
Autor Wiadomość
pealike
Temat założony przez niniejszego użytkownika
» 2017-01-03 20:27:07
int main:
C/C++
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include "gra.h"

using namespace std;

int wybor_menu, wybor_klasa;
int miejsce = 0;

int main()
{
    Napisy napisy;
    Wojownik w1( 115, 45, 0, 15, "Wojownik" );
    Mag m1( 80, 50, 0, 25, "Mag" );
    Bohater * wsk;
    Miejsce0 m_0;
    for(;; )
    {
        napisy.menu();
        cin >> wybor_menu;
        switch( wybor_menu )
        {
        case 1:
            {
                napisy.wyborklasa();
                cin >> wybor_klasa;
                if( wybor_klasa == 1 ) wsk = & w1;
               
                if( wybor_klasa == 2 ) wsk = & m1;
               
                cout << "test" << endl;
                for(;; )
                {
                    wsk->wyswietl();
                    cout << miejsce << endl;
                    if( miejsce == 0 )
                         m_0.miejsce_0( miejsce );
                   
                    if( miejsce == 1 )
                         getch();
                   
                }
                getch();
                break;
               
            }
        case 2: napisy.autorzy(); getch(); break;
        case 3: exit( 0 );
        }
       
       
    }
   
   
    return 0;
}
plik "gra.h"
C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

class miejsce_0;


class Bohater
{
public:
    virtual void wyswietl() = 0;
};
///// klasy
class Wojownik
    : public Bohater
{
public:
    int hp, atak, zloto, szybkoscataku;
    string nazwa;
    Wojownik( int hpp = 115, int atk = 45, int zlt = 0, int szbatk = 15, string nzw = "Wojownik" )
    {
        hp = hpp;
        atak = atk;
        zloto = zlt;
        szybkoscataku = szbatk;
        nazwa = nzw;
    }
    virtual void wyswietl()
    {
        system( "cls" );
        cout << "HP: " << hp << endl;
        cout << "Atak: " << atak << endl;
        cout << "Zloto: " << zloto << endl;
        cout << "Szybkosc Ataku: " << szybkoscataku << endl;
    }
};
class Mag
    : public Bohater
{
public:
    int hp, atak, zloto, szybkoscataku;
    string nazwa;
    Mag( int hpp = 80, int atk = 50, int zlt = 0, int szbatk = 25, string nzw = "Mag" )
    {
        hp = hpp;
        atak = atk;
        zloto = zlt;
        szybkoscataku = szbatk;
        nazwa = nzw;
    }
    virtual void wyswietl()
    {
        system( "cls" );
        cout << "HP: " << hp << endl;
        cout << "Atak: " << atak << endl;
        cout << "Zloto: " << zloto << endl;
        cout << "Szybkosc Ataku: " << szybkoscataku << endl;
    }
};

class Napisy
{
public:
   
    friend class miejsce_0;
   
    void menu()
    {
        system( "cls" );
        cout << "GRA RPG" << endl;
        cout << "=======" << endl;
        cout << endl << "1 - Nowa gra" << endl;
        cout << "2 - Autorzy, wersja" << endl;
        cout << "3 - Wyjdz" << endl;
        cout << "Wybierz: ";
    }
    void autorzy()
    {
        system( "cls" );
        cout << "Autor: Pealike" << endl;
        cout << "Wersja: 0.01" << endl;
        cout << "Kliknij, by wyjsc..." << endl;
    }
    void wyborklasa()
    {
        system( "cls" );
        cout << "Wybierz se klase ziomek" << endl;
        cout << "1 - Wojownik" << endl;
        cout << "2 - Mag" << endl;
        cout << "Wybierz: " << endl;
    }
    void miejsce_0()
    {
        cout << "Witaj w miescie!" << endl;
        cout << "1. Idz do: Tablica" << endl;
        cout << "2. Idz do: Sklep" << endl;
        cout << "Wybierz: ";
    }
   
   
   
};
// miejsca

class Miejsce0
{
public:
    int miejsce_0( int miejscek )
    {
        int potrzebne;
        int wybor_miejsce_0;
        Napisy napisy;
        napisy.miejsce_0();
        cin >> wybor_miejsce_0;
        switch( wybor_miejsce_0 )
        {
        case 1:
            {
                potrzebne = 1;
            }
        case 2:
            {
                potrzebne = 2;
            }
        }
        return potrzebne;
    }
   
};
[ / code ]
P-155918
pekfos
» 2017-01-03 21:21:08
C/C++
switch( wybor_miejsce_0 )
{
case 1:
    {
        potrzebne = 1;
    }
case 2:
    {
        potrzebne = 2;
    }
}
A break?
P-155921
pealike
Temat założony przez niniejszego użytkownika
» 2017-01-03 21:30:06
z Breakiem nadal to nie działa.
P-155922
pekfos
» 2017-01-03 21:34:49
To podaj kod, który zmieniłeś, i napisz co dokładnie nie działa.
P-155924
pealike
Temat założony przez niniejszego użytkownika
» 2017-01-03 21:44:02
int main:
C/C++
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include "gra.h"

using namespace std;

int wybor_menu, wybor_klasa;
int miejsce = 0;

int main()
{
    Napisy napisy;
    Wojownik w1( 115, 45, 0, 15, "Wojownik" );
    Mag m1( 80, 50, 0, 25, "Mag" );
    Bohater * wsk;
    Miejsce0 m_0;
    for(;; )
    {
        napisy.menu();
        cin >> wybor_menu;
        switch( wybor_menu )
        {
        case 1:
            {
                napisy.wyborklasa();
                cin >> wybor_klasa;
                if( wybor_klasa == 1 ) wsk = & w1;
               
                if( wybor_klasa == 2 ) wsk = & m1;
               
                cout << "test" << endl;
                for(;; )
                {
                    wsk->wyswietl();
                    cout << miejsce << endl;
                    if( miejsce == 0 ) m_0.miejsce_0( miejsce );
                   
                    if( miejsce == 1 ) cout << "tu cos bedzie" << endl; getch();
                }
                getch();
                break;
               
            }
        case 2: napisy.autorzy(); getch(); break;
        case 3: exit( 0 );
        }
       
       
    }
   
   
    return 0;
}
plik 'gra.h'
C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

class miejsce_0;


class Bohater
{
public:
    virtual void wyswietl() = 0;
};
///// klasy
class Wojownik
    : public Bohater
{
public:
    int hp, atak, zloto, szybkoscataku;
    string nazwa;
    Wojownik( int hpp = 115, int atk = 45, int zlt = 0, int szbatk = 15, string nzw = "Wojownik" )
    {
        hp = hpp;
        atak = atk;
        zloto = zlt;
        szybkoscataku = szbatk;
        nazwa = nzw;
    }
    virtual void wyswietl()
    {
        system( "cls" );
        cout << "HP: " << hp << endl;
        cout << "Atak: " << atak << endl;
        cout << "Zloto: " << zloto << endl;
        cout << "Szybkosc Ataku: " << szybkoscataku << endl;
    }
};
class Mag
    : public Bohater
{
public:
    int hp, atak, zloto, szybkoscataku;
    string nazwa;
    Mag( int hpp = 80, int atk = 50, int zlt = 0, int szbatk = 25, string nzw = "Mag" )
    {
        hp = hpp;
        atak = atk;
        zloto = zlt;
        szybkoscataku = szbatk;
        nazwa = nzw;
    }
    virtual void wyswietl()
    {
        system( "cls" );
        cout << "HP: " << hp << endl;
        cout << "Atak: " << atak << endl;
        cout << "Zloto: " << zloto << endl;
        cout << "Szybkosc Ataku: " << szybkoscataku << endl;
    }
};

class Napisy
{
public:
   
    friend class miejsce_0;
   
    void menu()
    {
        system( "cls" );
        cout << "GRA RPG" << endl;
        cout << "=======" << endl;
        cout << endl << "1 - Nowa gra" << endl;
        cout << "2 - Autorzy, wersja" << endl;
        cout << "3 - Wyjdz" << endl;
        cout << "Wybierz: ";
    }
    void autorzy()
    {
        system( "cls" );
        cout << "Autor: Pealike" << endl;
        cout << "Wersja: 0.01" << endl;
        cout << "Kliknij, by wyjsc..." << endl;
    }
    void wyborklasa()
    {
        system( "cls" );
        cout << "Wybierz se klase ziomek" << endl;
        cout << "1 - Wojownik" << endl;
        cout << "2 - Mag" << endl;
        cout << "Wybierz: " << endl;
    }
    void miejsce_0()
    {
        cout << endl << "Witaj w miescie!" << endl;
        cout << "1. Idz do: Tablica" << endl;
        cout << "2. Idz do: Sklep" << endl;
        cout << "Wybierz: ";
    }
   
   
   
};
// miejsca

class Miejsce0
{
public:
   
    int miejsce_0( int miejscek )
    {
        int wybor_miejsce_0;
        Napisy napisy;
        napisy.miejsce_0();
        cin >> wybor_miejsce_0;
        switch( wybor_miejsce_0 )
        {
        case 1: return 1; break;
        case 2: return 2; break;
        }
    }
   
};
[ / code ]

nie dzia ł a funkcja "miejsce_0", co ś z returnem prawdopodobnie.Sam nie wiem.Moim zdaniem powinno zwraca ć prawid ł ow ą liczb ę.
P-155926
pekfos
» 2017-01-03 23:18:40
C/C++
switch( wybor_miejsce_0 )
{
case 1: return 1; break;
case 2: return 2; break;
}
...
Napisz po prostu return wybor_miejsce_0;.

C/C++
if( miejsce == 0 ) m_0.miejsce_0( miejsce );

Jak dokładnie ma działać ta metoda? Niczego nie robisz ze zwróconą wartością. Przekazujesz argument, który w tej metodzie jest nieużywany.
P-155929
pealike
Temat założony przez niniejszego użytkownika
» 2017-01-04 18:36:58
Na końcu instrukcji tej funkcji, chcę, by zwracała ona wartość 1 gdy gracz wybierze opcje "1", no i potem po zwróceniu wartości 1, wykonuje się if, że jeżeli ta zmienna jest '1' no to wtedy odpalaj te instrukcje. Jakby coś takiego zrobić?
P-155972
pekfos
» 2017-01-04 20:56:46
No to tak zrób. Dla odmiany użyj do czegoś tego zwróconego 1, czy 2.
P-155980
1 « 2 »
Poprzednia strona Strona 2 z 2