• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Komenda losowości i system("cls")

VPS Starter Arubacloud
0 głosów
542 wizyt
pytanie zadane 21 maja 2020 w C i C++ przez Atman Użytkownik (810 p.)

W moim programie chciałym żeby wyświetlała się ramka złożona ze znaków z klawiatury. Powinna wyglądać mniej więcej tak tylko większa:

____________

|                       |

|                       |

|                       |

____________

Program (CodeBlock) pokazuje mi jednak 2 błędy: komenda od losowości a więc rand() nie została zdeklarowana oraz system w linijce z system("cls") również nie jest zdeklarowany. Nie wiem dlaczego tak się dzieje, koleżance na innym programie działało dobrze. Proszę o pomoc w rozwiązaniu problemu

#include <iostream>

using namespace std;

bool GameOver;
const int szerokosc=30;
const int wysokosc=30;
int wspX;
int wspY;
int jablkoWspX;
int jablkoWspY;
unsigned int wynik=0;
enum kierunki {STOP=0, LEWO, PRAWO, GORA, DOL};
kierunki kierunek;

void uklad()
{

    GameOver=false;
    kierunek=STOP;          //wąż nie poruszy się dopóki nie rozpoczniemy interakcji
    wspX=szerokosc/2;       //wycentrowanie węża na początku gry; pozycja startowa
    wspY=wysokosc/2;
    jablkoWspX=rand() % szerokosc;
    jablkoWspY=rand() % wysokosc;
    wynik;

}


void obraz()
{
    system("cls");                        //czyszczenie ekranu
    for (int i=0; i<szerokosc+2; i++)       //górna część mapy/ekranu
    {
        cout<<"_";
    }
    cout<<endl;


    for (int j=0; j<wysokosc ;j++)
    {
        for (int l=0; l<szerokosc; l++)
        {
            if (j==0)
                cout<<"|";

            else
                cout<<" ";

            if (j==szerokosc-1)
                cout<<"|";
        }
        cout<<endl;
    }



     for (int k=0; k<wysokosc+2; k++)       //dolna część mapy/planszy
    {
        cout<<"_";
    }
    cout<<endl;

}


void DaneWejsciowe()
{

}


void WartoscLogiczna()
{

}

int main()
{

    uklad();
    while (!GameOver)
    {
        obraz();
        DaneWejsciowe();
        WartoscLogiczna();
        // Sleep(10) // - spowalnia grę o 10 milisekund
    }

    return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 21 maja 2020 przez radek024 Szeryf (77,180 p.)

Musisz uruchomić generator liczb pseudolosowych - srand(time(NULL)) oraz dołączyć bibliotekę <windows.h>. Jaki rezultat?

komentarz 21 maja 2020 przez Atman Użytkownik (810 p.)
Nie dołączyłem póki co sranda(time(NULL)) bo nie zajmuję się jeszcze tym fragmentem kodu a po dodaniu biblioteki się kompiluje ale dalej ramka nie wygląda jak powinna. Pierwsza i ostatni linijka jest dobrze ale to pomiędzy już nie
komentarz 21 maja 2020 przez Atman Użytkownik (810 p.)

@radek024, Jakiś pomysł może czemu ramka dalej nie działa? Sprawdzałęm endle bo z tym to wyglądało że jest coś nie tak ale nie tutaj problem. I teraz nie wiem.

komentarz 22 maja 2020 przez radek024 Szeryf (77,180 p.)
Próbowałeś wypełnić przestrzeń pomiędzy czymś innym aniżeli spacją? Może jest problem z wczytaniem znaku białego?
0 głosów
odpowiedź 21 maja 2020 przez SimiVoid Pasjonat (19,790 p.)
system(char * str);

jest z biblioteki cstlib:

#include <cstdlib> 

Podobne pytania

+1 głos
2 odpowiedzi 588 wizyt
pytanie zadane 5 kwietnia 2021 w C i C++ przez niezalogowany
+1 głos
3 odpowiedzi 590 wizyt
pytanie zadane 17 lutego 2021 w C i C++ przez Drożdżówka Obywatel (1,870 p.)
0 głosów
1 odpowiedź 658 wizyt
pytanie zadane 6 czerwca 2019 w C i C++ przez kkajet007 Nowicjusz (180 p.)

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...