Rozwiązane

Siema mam problem, mam zadanie z informatyki żeby napisać program w replicie, poszukałem trochę w internecie i znalazłem takie coś:

#include
#include

using namespace std;

int main()
{
int liczba;

cout << "wprowadz liczbe" << endl;
cin >> liczba;

if (liczba%2==0) //dzielenie modulo
cout << "wpisana liczba jest parzysta" << endl;
else
cout << "wpisana liczba jest nieparzysta" << endl;

system("PAUSE");
return(0);
}

i jest to w c++, po naciśnięciu przycisku "run" na początku wyskakuje mi:

make -s
./main
i dopiero wtedy
wprowadź liczbę
wpisuje np. 13 to wychodzi że wpisana liczba jest nieparzysta ALE na końcu jest
sh: 1: PAUSE: not found

nie wiem czy to dobrze czy nie ale chyba tak nie powinno być



Odpowiedź :

Odpowiedź:

Zamiast system("PAUSE"); dajesz int c = getchar();

Wyjaśnienie:

Replit jest oparty na Linuxie chyba, a tam nie ma komendy PAUSE

Nie wiem czy działa, więc przetestuj.

Odpowiedź:

  1. W C++ zamiast  system("pause")  należy (praktycznie zawsze) używać  cin.get()


  2. Jeżeli używasz replit, to wiersze
       system("PAUSE");
       return(0);
    możesz po prostu pominąć, bo okno nie zniknie.

  3. Na samym końcu programu C++ nie umieszcza się  return 0; !  Kompilator sam zawsze wstawia tę komendę po napotkaniu ostatniego nawiasu klamrowego }.
    Natomiast zawsze wstawiamy  return 0;  gdy kończymy program w innym miejscu.

Wyjaśnienie

Aha, poprawnie jest

 cout << "wpisana liczba jest parzysta\n";

natomiast poniższe jest kodem, którego pisania należy się oduczyć

 cout << "wpisana liczba jest parzysta" << endl;

Mam świadomość, że niektóre przykłady, a nawet podręczniki zostały napisane w XX wieku i potem były tylko bez żadnej refleksji nad rozwojem C++ kopiowane.