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

[C++] Lista państw do gry strategicznej

Ostatnio zmodyfikowano 2013-03-01 19:51
Autor Wiadomość
bws2000
Temat założony przez niniejszego użytkownika
[C++] Lista państw do gry strategicznej
» 2013-02-26 15:20:02
Witam,
Otóż mam pewien problem. Piszę grę strategiczną w C++ i chciałbym do niej dodać moduł dyplomacji. Chodzi mi o stworzenie czegoś w rodzaju książki telefonicznej. Wyobrażam to sobie tak: wyświetlone wszystkie państwa w grze. Wpisujemy nazwę państwa i wyświetlane są wszystkie informacje o nim. Powinna tam również istnieć możliwość podjęcia negocjacji. Próbowałem użyć do tego zmodyfikowanej książki telefonicznej. Ale nie działa prawidłowo! Proszę o pomoc!
Z góry dziękuję
P-77059
jsc
» 2013-02-26 15:22:32
Pokaż co masz.
P-77060
bws2000
Temat założony przez niniejszego użytkownika
» 2013-02-26 15:26:24
C/C++
#include <iostream>
#include <string>

using namespace std;

void pokaz_wszystkie();
void zapelnienie();
void wyszukaj_nazwa_skrot();

struct panstwo
{
    string nazwa_pelna;
    char nazwa_skrot[ 20 ];
    char przywodca[ 20 ];
    char kontynent[ 20 ];
    char ustroj[ 30 ];
    panstwo * next;
};
panstwo * poczatek = NULL;
int main()
{
   
    int tmp = 0;
    do
    {
        zapelnienie();
        cout << "\t 1. Wyswietl panstwa" << endl;
        cout << "\t 2. wyszukaj" << endl;
        cin >> tmp;
        cout << "\t << Wybrałeś/aś opcję " << tmp << " >> " << endl;
        cout << "" << endl;
        switch( tmp )
        {
        case 1:
            pokaz_wszystkie();
            break;
        case 2:
            void wyszukaj_nazwa_skrot();
            break;
            default:
            cout << "\t << Wybrałeś/aś opcję różną od 0-2 >>" << endl;
            cout << "\t << Wybierz jeszcze raz odpowiednią opcję >>" << endl;
            cout << "" << endl;
            break;
        }
    } while( tmp != 0 );
   
    return 0;
}
void zapelnienie()
{
    panstwo * nowe = new panstwo;
    nowe->next = NULL;
    {
        nowe->nazwa_pelna == "Trzecia_Rzesza_Niemiecka";
        nowe->nazwa_skrot == "Niemcy";
        nowe->przywodca == "Adolf Hitler";
        nowe->kontynent == "Europa";
        nowe->ustroj == "dyktatura_nazistowska";
    }
   
   
    if( poczatek == NULL )
    {
        poczatek = nowe;
    }
   
    else
    {
        panstwo * szukaj = poczatek;
        while( szukaj->next != NULL )
        {
            szukaj = szukaj->next;
        }
        szukaj->next = nowe;
    }
}

void wyszukaj_nazwa_skrot()
{
    string szukacz;
    cout << "Podaj panstwo do wyszukania \t";
    cin >> szukacz;
    panstwo * pokaz = poczatek;
    while( pokaz->next != NULL )
    {
        if( pokaz->nazwa_skrot == szukacz )
        {
            cout << "Pelna nazwa: " << pokaz->nazwa_pelna << endl
            << "Nazwa: " << pokaz->nazwa_skrot << endl
            << "Przywodca: " << pokaz->przywodca << endl
            << "Kontynent: " << pokaz->kontynent << endl
            << "Ustroj: " << pokaz->ustroj << endl;
        }
        pokaz = pokaz->next;
    }
    if( pokaz->nazwa_skrot == szukacz )
    {
        cout << "Pelna nazwa: " << pokaz->nazwa_pelna << endl
        << "Nazwa: " << pokaz->nazwa_skrot << endl
        << "Przywodca: " << pokaz->przywodca << endl
        << "Kontynent: " << pokaz->kontynent << endl
        << "Ustroj: " << pokaz->ustroj << endl;
    }
    else
    {
        cout << "Brak takiej osoby" << endl;
    }
}

void pokaz_wszystkie()
{
   
    if( poczatek != NULL )
    {
        panstwo * pokaz = poczatek;
        while( pokaz->next != NULL )
        {
            cout << "-----\n" << endl;
            cout << pokaz->nazwa_pelna << endl;
            cout << pokaz->nazwa_skrot << endl;
            cout << pokaz->przywodca << endl;
            cout << pokaz->kontynent << endl;
           
            pokaz = pokaz->next;
        }
        cout << "-----\n" << endl;
        cout << pokaz->nazwa_pelna << endl;
        cout << pokaz->nazwa_skrot << endl;
        cout << pokaz->przywodca << endl;
        cout << pokaz->kontynent << endl;
    }
}
 
P-77061
jsc
» 2013-02-26 15:41:02
Co do organizacji w funkcji proponuję:
- » Kurs C++ » Poziom 3Programowanie obiektowe - podstawowe pojęcia lekcja
- » Kurs C++Funkcje w klasie, czyli metody lekcja

Co do organizacji całości:
- http://www.rafalnowak.pl/wiki/index.php?title=Map
P-77062
bws2000
Temat założony przez niniejszego użytkownika
» 2013-02-26 15:44:33
Dzięki wielkie za pomoc!
P-77063
bws2000
Temat założony przez niniejszego użytkownika
» 2013-03-01 19:51:42
Jeszcze raz proszę o pomoc!
Czy nie da się tego zrobić tak, aby przy wybraniu w menu nazwy państwa były wyświetlane jego dane ze struktury??? Coś w stylu:

C/C++
#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

void pokaz_panstwo();

struct Panstwo {
    string nazwa;
    string nazwa_pelna;
    string ustroj;
    int relacje;
    string glowa_panstwa;
    string szef_rzadu;
    string msz;
    string partia_rz;
    int wybory_rok;
    int wybory_msc;
};
Panstwo * poczatek = NULL;

int main()
{
    Panstwo polska = { "Polska", "II Rzeczpospolita Polska", "demokracja parlamentarna", 0, "Ignacy Moscicki", "Aleksander Prystor", "Jozef Beck", "Bezpartyjny Blok Wspolpracy z Rzadem", 1938, 11 };
    Panstwo niemcy = { "Niemcy", "Republika Weimarska", "demokracja parlamentarna", - 10, "Paul von Hindenburg", "Kurt von Schleicher", "Konstantin von Neurath", "Zentrum" };
    Panstwo zsrs = { "ZSRS", "Związek Socjalistycznych Republik Sowieckich", "dyktatura komunistyczna", - 10, "Józef Stalin", "Józef Stalin", "Wieczyslaw Molotow", "Wszechzwiazkowa Partia Komunistyczna (bolszewikow)" };
    int wybor;
    cout << "MENU DYPLOMACJI" << endl;
    cout << "Wybierz panstwo do negocjacji!" << endl;
    cout << "\n1 - Niemcy\n2 - ZSRS " << endl;
    cin >> wybor;
    switch( wybor ) {
    case 1: {
            // Tu polecenie kopiujące dane struktury Panstwo niemcy do pokaz //
            break;
        }
    case 2: {
            // Tu polecenie kopiujące dane struktury Panstwo zsrs do pokaz //
            break;
        }
    }
    pokaz_panstwo();
}
void pokaz_panstwo()
{
    Panstwo * pokaz = poczatek;
    {
        cout << pokaz->nazwa << endl;
        cout << pokaz->nazwa_pelna << endl;
        cout << pokaz->ustroj << endl;
        cout << pokaz->relacje << endl;
        cout << pokaz->ustroj << endl;
    }
   
}
P-77385
« 1 »
  Strona 1 z 1