funckja getch() nie działa

0

mam dość spory kodzik i w kilku miejscach (najczęściej w instrukcjach warunkowych) stosuję tam funkcję getch(), jednak w ogóle ona nie działa (tak samo jak cin.sync() i cin.get()) ... po prostu kod dalej się wykonuje i nic nie mogę na to poradzić... wiecie co jest grane?

0

a to?

#include <stdio.h>
#include <getch.h>
int main()
{
  printf("ala\n");
  getch();
  printf("ma kota\n");
}

czym kompilujesz?
jaki system?
pod czym uruchamiasz? (spod IDE czy bezpośrednio?)

a może coś ci siedzi w bufoerze klawiatury? cin.sync() nie ma obowiązku czyścić bufora...
a może klawisz się zaciął ;-)

0
void pause() { while(getchar()!='\n'); getchar(); }

To nie może nie zadziałać, no chyba że się zaczął klawisz enter.

0
Azarien napisał(a)

a to?

#include <stdio.h>
#include <getch.h>
int main()
{
  printf("ala\n");
  getch();
  printf("ma kota\n");
}

czym kompilujesz?
jaki system?
pod czym uruchamiasz? (spod IDE czy bezpośrednio?)

a może coś ci siedzi w bufoerze klawiatury? cin.sync() nie ma obowiązku czyścić bufora...
a może klawisz się zaciął ;-)

w devc++
windows 7
[nie rozumiem pytania]

klawiatura działa bez problemu, aplikacja też tylko z tym zamknięciem mam jakiś kłopot. Dziwne bo końcowe getch działa BEZ PROBLEMU... hmm...
ten kodzik od ciebie to chyba w c jest robiony, a ja w c++ piszę...

0
_13th_Dragon napisał(a)
void pause() { while(getchar()!='\n'); getchar(); }

To nie może nie zadziałać, no chyba że się zaczął klawisz enter.

to też nie działa, kompilator wytyka mi jakiś error.

P.S kodu wole nie umieszczac, bo jest obszerny jak pan tadeusz (ironia), no... dość długi po prostu...

0

Już mówiłem, że jest to** SPORY** kod.

// Tajne przez poufne - Zemsta Wrogów Ilnickiego, gra przygotowa/skradankowa

#include <iostream>
#include <conio.h>
#include <ctime>
#include <string.h>

using namespace std;

const int KamilOZ = 35;
const int KamilSS = 15;
const int KamilWW = 89;
const int KamilNS = 97;
const string imieK = "Kamil";

const int TomekOZ = 80;
const int TomekSS = 92;
const int TomekWW = 10;
const int TomekNS = 41;
const string imieT = "Tomek";

const int IbramOZ = 48;
const int IbramSS = 59;
const int IbramWW = 52;
const int IbramNS = 30;
const string imieR = "Radek";

int NotatkiPawla()
{
    cout << "testestestestestestest" << endl;
}

int main()
{
    // Charakterystyki bohaterów i ich statsy
    
    cout << "Wybierz swojego bohatera" << endl << endl;
    cout << "Kamil Kowal - wpisz 1" << endl;
    cout << "Kowal to ogromna maszyna do walki. Choc podszkolil sie w otwieraniu" << endl;
    cout << "zamkow i skradania sie, dalej jego profesja sa piesci. Jest rowniez hakerem." << endl;
    cout << "Nienawidzi Ilnickiego za to, ze wystrzelal go z czegos mamie." << endl;
    cout << "Atrybuty:" << endl;
    cout << "- Otwieranie zamkow 35%" << endl;
    cout << "- Skradanie sie 15%" << endl;
    cout << "- Walka 89%" << endl;
    cout << "- Nauki scisle 97%" << endl << endl << endl;
    
    cout << "Tomasz Czarny - wpisz 2" << endl;
    cout << "Ten typ jest zlodziejem wszechczasow. Jego ciche kroki" << endl;
    cout << "nikogo nie zaalarmuja, a spinka i zamek to jego chleb powszedni" << endl;
    cout << "Slaby jest natomiast w zwarciu i jako tako umie hakowac komputery." << endl;
    cout << "Chce zemsty na Ilnickim za to, ze mial przez niego klopoty i szlaban." << endl;
    cout << "Atrybuty:" << endl;
    cout << "- Otwieranie zamkow 80%" << endl;
    cout << "- Skradanie sie 92%" << endl;
    cout << "- Walka 10%" << endl;
    cout << "- Nauki scisle 41%" << endl << endl << endl;
    
    cout << "Radoslaw Ibram Stachniuk - wpisz 3" << endl;
    cout << "Ibram jest uniwersalnym typem z tych okolic. Dobrze sprawdza sie" << endl;
    cout << "w boju, jako takie umie otwierac zamki, i poprawnie skradac sie w cieniu," << endl;
    cout << "jednak slabo zna komputery. Nienawidzi Ilnickiego za to, ze" << endl;
    cout << "ciagle robi o nim filmiki na komputerze. Chce zemsty!" << endl;
    cout << "Atrybuty:" << endl;
    cout << "- Otwieranie zamkow 48%" << endl;
    cout << "- Skradanie sie 59%" << endl;
    cout << "- Walka 52%" << endl;
    cout << "- Nauki scisle 30%" << endl << endl << endl;
    
    // Ostateczne wybranie bohatera
    // oz = otwieranie zamków, ss = skradanie się, ww = walka wręcz, ns = nauki ścisłe
    
    int WyborBohatera;
    cin >> WyborBohatera;
    
    int oz, ss, ww, ns;
    string imie;
    if (WyborBohatera == 1)
    {
                      oz = KamilOZ;
                      ss = KamilSS;
                      ww = KamilWW;
                      ns = KamilNS;
                      imie = imieK;
    }
    
    if (WyborBohatera == 2)
    {
                      oz = TomekOZ;
                      ss = TomekSS;
                      ww = TomekWW;
                      ns = TomekNS;
                      imie = imieT;
    }
    
    if (WyborBohatera == 3)
    {
                      oz = IbramOZ;
                      ss = IbramSS;
                      ww = IbramWW;
                      ns = IbramNS;
                      imie = imieR;
    }
    
    // Wybranie ekwipunku
    
    cout << "Wybierz swoj ekwipunek, czyli jeden z trzech przedmiotow ponizej" << endl << endl;
    cout << "- guma do zucia (wpisz 1)" << endl;
    cout << "- czarny plaszcz (wpisz 2)" << endl;
    cout << "- garnitur (wpisz 3)" << endl;
    cout << "- dres sportowy (wpisz 4)" << endl;
    
    int WyborEkwipunku;
    cin >> WyborEkwipunku;
    
    string przedmiot;
    if (WyborEkwipunku == 1)
    {
                       string przedmiot = "guma";
    }
    
    if (WyborEkwipunku == 2)
    {
                      string przedmiot = "plaszcz";
    }
    
    if (WyborEkwipunku == 3)
    {
                      string przedmiot = "garnitur";
    }
    
    if (WyborEkwipunku == 4)
    {
                       string przedmiot = "dres";
    }
    
    cout << "" << endl << endl << endl;
    
    // Rozpoczecie gry, knajpa "Źródełko"...
    
    cout << "Karczma 'Zrodelko'. Noc. Twoj bohater wchodzi do knajpy." << endl;
    cout << "Zaczepia go jakis nieznajomy zul. Wie ze nie lubi Ilnickiego." << endl;
    cout << "- Skad to wiesz? - pytasz sie zdziwiony. - Nie lubie tego debila!" << endl;
    cout << "- Slyszalem ze poszukujesz dowodow, ktore mogly by go jakos skompromi-" << endl;
    cout << "towac, prawda? - zapytal sie." << endl;
    cout << "- Wlasnie. Wlasnie. Szukam bezowocnie." << endl;
    cout << "- Slyszalem ze, <kaszle> , w wilii Pawła znajduje sie jego tajny sejf..." << endl;
    cout << "- Trzyma tam swoje najbardziej poufne zapiski i pieniadze - charknal zul." << endl;
    cout << "- Ciekawe... Czemu mi pomagasz? - spytal." << endl;
    cout << "- Od czasu do czasu trzeba go przytrzymac przy bandzie. Mysli ze jest niewinny?!" << endl;
    cout << "Bohater milczal. Wiedzial, ze zul ma swieta racje. I postanowil sie tym zajac..." << endl << endl << endl;
    
    // Wyjście z knajpy, podróż do wilii Ilnickiego
    // Napotkanie dresów
    
    cout << imie << " zadowolony opuszcza knajpe. " << endl;
    cout << "Ma teraz nowy cel. Willa Ilnickiego. Niestety zaczepia go banda dresow." << endl;
    cout << "- Ej, ty, " << imie << "! Dawaj telefon albo wpierdol!" << endl;
    cout << "Co robisz?" << endl;
    
    // Opcja pokojowa (potrzebny w ekwipunku dres sportowy nr 4) + inne opcje dialogowe
    
    if (WyborEkwipunku == 4)
    {
                 cout << "0. " << imie << " zaklada dres i mowi, ze jest 'swoj gosc' (100% szans)" << endl;
    }
    cout << "1. Probuje pobic napastnikow (" << ww << "% szans)" << endl;
    cout << "2. Zagaduje ich i niepostrzezenie ucieka (" << ss << "% szans)" << endl;
    cout << "Uwaga: Wybranie pewnych opcji moze w przypadku powodzenia nagrodzic cie bonusem." << endl;
    
    
    int WyborDzialanie1;
    cin >> WyborDzialanie1;
    
    // Efekt twojego wyboru
    
    if (WyborDzialanie1 == 0)
    {
                        cout << "Udaje ci sie pokojowo rozwiazac sprawe. Dresy przepuszczaja cie." << endl;
    }
    
    if (WyborDzialanie1 == 1)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa1 = rand() % 100 + 1;
                        if (Szansa1 <= ww)
                        {
                                    cout << "Napastnicy zostali pokonani po ciezkiej walce. Droga wolna." << endl;
                                    cout << "W kieszeniach bandytow znajdujesz dziwna karteczke, a w niej napisane:" << endl;
                                    cout << "'Uwielbiam najliczniejszy podtyp strunowcow'" << endl;
                        }
                        else
                        {
                            cout << "Nie udalo ci sie pokonac dresow. Trafiasz do szpitala [ENTER]" << endl;
                            void pause() { while(getchar()!='\n'); getchar(); }
                        }
    }
    
    if (WyborDzialanie1 == 2)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa1 = rand() % 100 + 1;
                        if (Szansa1 <= ss)
                        {
                                    cout << "Sprytem udalo ci sie umknac bandytom. Swietnie!" << endl;
                        }
                        else
                        {
                            cout << "Dresy zauwazyly probe ucieczki twego bohatera i pobili go. [ENTER]" << endl;
                            cin.sync(); cin.get();
                        }
    }

    cout << "" << endl << endl << endl;
    
    // Przed rezydencją Ilnickiego
    
    cout << "Nasz bohater... " << imie << " stoi teraz przec drzwiami wilii Ilnickiego." << endl;
    cout << "Przed oczyma mruga mu niesmiale promyk nadziei, ze nareszcie" << endl;
    cout << "Przytrzyma go przy bandzie. Niestety, trzeba sie uporac z drzwiami" << endl;
    cout << "Co chcesz zrobic?" << endl;
    cout << "1. Probuje otworzyc zamek wytrychem (" << oz << "% szans)" << endl;
    
    cout << "2. Wywazyc drzwi sila (" << ww << "% szans)" << endl;
    
    int WyborDzialanie2;
    cin >> WyborDzialanie2;
    
    // Efekt twojego działania
    
    if (WyborDzialanie2 == 1)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa2 = rand() % 100 + 1;
                        if (Szansa2 <= oz)
                        {
                                    cout << "Twoje umiejetnosci pozwolily ci otworzyc zamek wytrychem." << endl;
                        }
                        else
                        {
                            cout << "Zamek w drzwiach zostal zepsuty. Akcja zakonczona fiaskiem... Eh... [ENTER]" << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    if (WyborDzialanie2 == 2)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa2 = rand() % 100 + 1;
                        if (Szansa2 <= ww)
                        {
                                    cout << "Drzwi runely pod wplywem twoich miesni. Pieknie to zrobiles!" << endl;
                                    cout << "Nad twa glowa unosi sie jakas durnowata karteczka:" << endl;
                                    cout << "'Cechuja sie obecnoscia tkanki kostnej, maja dwuboczna symetrie ciala" << endl;
                                    cout << "z dobrze wyodrebniona glowa.'" << endl;
                        }
                        else
                        {
                            cout << "Tylko narobiles halasu. Nie masz sily, by je wywazyc. Masz pecha..." << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    // 1 pomieszczenie wilii, rozmowa z bramkarzem
    
    cout << "Przed twym bohaterem o imieniu " << imie << " rozciaga sie" << endl;
    cout << "widok ekskluzywnego palacu Pawla. Budzi sie w nim zazdrosc i gniew..." << endl;
    cout << "W pewnym momencie podchodzi do niego ochroniaz." << endl;
    cout << "Co pan tu robi? Nie powinno byc tu ciebie." << endl;
    cout << imie << " dostrzega, ze facet wyciaga powoli bron. Co robisz?" << endl;
    
    // a jeśli masz garniturek, dodatkowa opcja dialogowa...
    
    if (WyborEkwipunku == 3)
    {
                  cout << "0. Ubrac garnitur i zadeklarowac sie jako biznesman (81% szans)" << endl;
    }
    
    // i standardowa
    
    cout << "1. Walczyc z nim (" << ww << "% szans)" << endl;
    
    // Wybor opcji dialogowej
    
    int WyborDzialanie3;
    cin >> WyborDzialanie3;
    
    // A także efekt twojej decyzji
    
    if (WyborDzialanie3 == 0)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa3 = rand() % 100 + 1;
                        if (Szansa3 <= 81)
                        {
                                    cout << "Ochroniarz uwierzyl w to, ze " << imie << " jest biznesmenem." << endl;
                                    cout << "Mozesz przejsc - mowi do ciebie uprzejmie." << endl;
                        }
                        else
                        {
                            cout << "Straznik wyrzuca cie za drzwi. Koniec twojej akcji. Masz pecha..." << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    if (WyborDzialanie3 == 1)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa3 = rand() % 100 + 1;
                        if (Szansa3 <= ww)
                        {
                                    cout << "Ochroniarz unieszkodliwiony i ukryty w szafie. Hurra!" << endl;
                        }
                        else
                        {
                            cout << "W walce facet okazal sie od bohatera " << imie << " o wiele lepszy." << endl;
                            cout << "Za ten incydent ladujesz w wiezieniu. Zajefajnie, prawda?..." << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    // Pomieszczenie number two (dwa, polish)
    
    cout << "Po przekroczeniu drzwi z holu jestes w bocznym korytarzu prowadzacym do biura." << endl;
    cout << "Przed toba czujnie rozglada sie kamera i za chwile cie dostrzeze." << endl;
    cout << "Co robisz?" << endl;
    
    // dodatkowa opcja działania
    
    if (WyborEkwipunku == 1)
    {
                  cout << "0. Zujesz gume, a potem zaklejasz nia wizjer. Liczy sie szybkosc (94% szans)" << endl;
    }
    cout << "1. Pozostajac w cieniu, przechodzisz powolutku dalej... (" << ss << "% szans)" << endl;
    cout << "2. Rozwalasz kamere w nadziei, ze wartownicy nic nie zobacza na ekranie (1% szans)" << endl;
    
    int WyborDzialanie4;
    cin >> WyborDzialanie4;
    
    // Efekt wyboru
    
    if (WyborDzialanie4 == 2)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa4 = rand() % 100 + 1;
                        if (Szansa4 <= 1)
                        {
                                    cout << "Ufff... zaden z obslugi monitoringu nic nie zauwazyl. Fuck yeah!" << endl;
                                    cout << "W kamerce utkwila jakas kartka, a na niej napisane jest: " << endl;
                                    cout << "Pozdrowienia od Ilnickiego dla grajacego!" << endl;
                        }
                        else
                        {
                            cout << "Straznicy zauwazyli, ze jedna z kamer zostala zepsuta" << endl;
                            cout << "i szybko zjawili sie na miejscu. Zostajesz wyrzucony z wilii." << endl;
                            cin.sync(); cin.get();
                        }
    }

    if (WyborDzialanie4 == 0)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa4 = rand() % 100 + 1;
                        if (Szansa4 <= 94)
                        {
                                    cout << "Zdazyles zakryc wizjer zanim na ustawil sie naprzeciw ciebie." << endl;
                                    cout << "Mozemy isc dalej!" << endl;
                        }
                        else
                        {
                            cout << "Nie zdazyles zakryc wizjera. Ochrona przylapala cie na goracym uczynku." << endl;
                            cout << "Trafiasz do paki za wlamanie. [ENTER]" << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    if (WyborDzialanie4 == 1)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa4 = rand() % 100 + 1;
                        if (Szansa4 <= ss)
                        {
                                    cout << "Cudem udaje ci sie przejsc niezauwazonym." << endl;
                        }
                        else
                        {
                            cout << "Kamera miala dosc czujne oko, by cie wykryc. Przylapany!" << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    // Pomieszczenie numer 3 i spotkanie ze strażnikiem
    
    cout << "Jestes w pomieszczeniu trzy, czyli pokoju goscinnym." << endl;
    cout << "W pewnym momencie dostrzegasz wartownika, ktory tu idzie. Co robisz?" << endl;
    
    // special answer z płaszczem
    
    int ssk = ss + (ss * (30 / 100));
    if (WyborEkwipunku == 2)
    {
                       cout << "0. Zakrywasz sie swym czarnym plaszczem i czekasz w cieniu az przejdzie (" << ssk << "% szans)" << endl;
    }
    
    // other answers
    
    cout << "1. Unieszkodliwiasz go ciosem w krocze (" << ww + 10 << "% szans)" << endl;
    
    int WyborDzialanie5;
    cin >> WyborDzialanie5;
    
    // Efekt twojego wyboru
    
    if (WyborDzialanie5 == 0)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa5 = rand() % 100 + 1;
                        if (Szansa5 <= ssk)
                        {
                                    cout << "Straznik cie nie zauwazyl. Juz prawie koniec, dotrwaj przyjacielu!" << endl;
                        }
                        else
                        {
                            cout << "Na nic sie zdaly twoje sztuczki. Zostajesz wyrzucony z palacu. [ENTER]" << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    if (WyborDzialanie5 == 1)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa5 = rand() % 100 + 1;
                        if (Szansa5 <= ww + 10)
                        {
                                    cout << "Straznik zwija sie z bolu, a ty raz dwa zatykasz mu buzie i chowasz." << endl;
                                    cout << "Droga wolna, idziemy do sejfu! Nie moge sie doczekac, chodzmy!" << endl;
                        }
                        else
                        {
                            cout << "Masz zeza, " << imie << "?! Nie trafiasz go w czule miejsce!" << endl;
                            cout << "I ladujesz na chodniku... [ENTER]" << endl;
                            cin.sync(); cin.get();
                        }
    }
    
    // Finaaaaaaaaaaaaaaał!
    
    cout << "Wchodzisz do zakazanego, piatego pomieszczenia dla samego Pawla." << endl;
    cout << "Tu wlasnie oddaje sie swoim nedznym zajeciom, jak przerabianie twarzy z NK..." << endl;
    cout << "Musimy go zniszczyc! Naprzeciw twego bohatera jest sejf, do roboty!" << endl;
    cout << "Ale czekaj... jakas kartka... a na niej napisane:" << endl << endl;
    cout << "'kregoslup - lspou + o + (owce - oce) + ie + c'... O co chodzi?" << endl << endl;
    cout << "Bierzmy sie lepiej za sejf!" << endl;
    cout << "1. Wpisz tajne haslo (3 proby)" << endl;
    cout << "2. Zhackuj mini-system, by wygenerowalo prostsze haslo (" << ns - 20<< "% szans)" << endl;
    cout << "3. Pomajstruj przy zamku, by miec 6 prob na wpisanie hasla (" << oz - 35<< "% szans)" << endl;
    
    int WyborDzialanie6;
    cin >> WyborDzialanie6;
    
    string haslo1 = "kregowce";
    string propozycja1;
    string haslo2 = "facepalm";
    string propozycja2;
           
    // Efekt wyboru
    
    if (WyborDzialanie6 == 1)
    {
       for (int i = 3; i > 0; )
       {
           cout << "Podaj haslo... Pozostalo prob: " << i << endl;
           cin >> propozycja1;
        
        if (propozycja1 == haslo1)
        {
           cout << "Poprawne haslo. Przekierowanie do plikow .doc w toku..." << endl;
           NotatkiPawla();
           break;
        }
        else
        {
        i--;
        }
       }
       cin.sync(); cin.get();
    }
    
    if (WyborDzialanie6 == 2)
    {
                        srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa5 = rand() % 100 + 1;
                        if (Szansa5 <= ns - 20)
                        {
                                    cout << "Udalo sie! Jestes boski! Czekamy na wygenerowanie nowego hasla." << endl;
                                    cout << "Podpowiedz: 'twarzy palma ENG'" << endl << endl;
                                    
                                    for (int i = 3; i > 0; )
                                    {
                                        cout << "Podaj haslo... Pozostalo prob: " << i << endl;
                                        cin >> propozycja2;
        
                                        if (propozycja2 == haslo2)
                                        {
                                         cout << "Poprawne haslo. Przekierowanie do plikow .doc w toku..." << endl;
                                         NotatkiPawla();
                                         break;
                                        }
                                        else
                                        {
                                         i--;
                                        }
                                        }
                                        cin.sync(); cin.get();
                                    
                        }
                        else
                        {
                            cout << "SYSTEM ZABLOKOWANY. SKONTAKTUJ SIE Z ADMINISTRATOREM" << endl;
                            cout << "Po ptakach. Nie udalo ci sie. [ENTER]" << endl;
                        }
    }
    
    if (WyborDzialanie6 == 3)
    {
            srand (static_cast<unsigned int>(time(NULL)));
                        int Szansa5 = rand() % 100 + 1;
                        if (Szansa5 <= ns - 20)
                        {
                                                
                                                for (int i = 6; i > 0; )
                                                {
                                                cout << "Podaj haslo... Pozostalo prob: " << i << endl;
                                                cin >> propozycja1;
        
                                                if (propozycja1 == haslo1)
                                                {
                                                cout << "Poprawne haslo. Przekierowanie do plikow .doc w toku..." << endl;
                                                NotatkiPawla();
                                                break;
                                                }
                                                else
                                                {
                                                i--;
                                                }
                                                }
                                                cin.sync(); cin.get();
                           } 
                           else
                        {
                            cout << "SYSTEM WYKRYL USZKODZENIE ZAMKA. SKONTAKTUJ SIE Z ADMINISTRATOREM" << endl;
                            cout << "Po ptakach. Nie udalo ci sie. [ENTER]" << endl;
                        }
        }           
        
    cin.sync(); cin.get();
}
0

[nie rozumiem pytania]
uruchamiasz program spod DevC++, czy próbowałeś uruchomić EXE bezpośrednio (z eksploratora na przykład)?

to też nie działa, kompilator wytyka mi jakiś error.
Aha, jakiś. No tak, czyli coś jest źle.
Nie odpowiedziałeś, czy prosty przykład który dostałeś z jednym getch() ci działa.

0

z kompilatora.

in function int main()
expected primary-expression before void
expected ; before void

to błąd kompilacji po użyciu kodu 13 smoka.

a kodzik mówcy nade mną również nie działa. error:

getch.h no such file or directory
getch undeclared
each undeclared identifier is reported... ble ble ble
0

to co podałem wstawiasz przed funkcją main.
natomiast tam gdzie chcesz zatrzymać wpisujesz tylko:
pause();

Skoro działasz na cin to lepiej ta funkcje pause zamień na:
void pause() { while(cin.get()!='\n'); cin.get(); }

to:
srand (static_cast<unsigned int="int">(time(NULL)));
zamień na:
srand(time(NULL)); i uruchom tylko raz na początku funkcji main.

Ten twój kod można skrócić co najmniej trzykrotnie używając struktur i tablic (a podejrzewam że jeszcze nie jest skończony), zapoznaj się z tymi tematami.

0

A czemu ma zamieniać z poprawnego kodu na mniej poprawny? Tak jak miał jest bardzo dobrze i tak powinno się robić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1