x-kom hosting

[C++] Problem z zamykającym się oknem

Przejdź do rekomendowanej odpowiedzi Autor: rafalluz ,
gracz244
utworzono
utworzono

Witam zaczynam się uczyć programowania w języku c++ i urzywam ksiązki symfonia c++ standart i programu Dev-C++ 5.4.2 i teraz tak. Jeśli odpalam jakiś program normalnie podczas projektu to wszytko jest ok ale gdy już chce uruchomić czysty plik .exe to okno po zakończeni programu sie wyłącza zaraz gdzie nic nie idzie zobaczyć. Wiec próboje w projekcie na koncu przed klamrą kończąca wpisać komende system("pause"); ale wtedy program nie chce uruchomić tego programu tłumacząc sie że komend system nie jest zdeklarowany. Pomocy. Problem wyskakuje równirz przy pisaniu bardzo prostych programów jak wpisanie tekstu na ekranie.

Los_Emilos
komentarz
komentarz

Najprostrze rozwiazanie to wpisanie komendy oczekujacej na wpisanie jakiegos tekstu, czyli cin.

Wysłane z mojego ZTE V987 przy użyciu Tapatalk

gracz244
komentarz
komentarz

Czyli jak wyglądałby taki program:

 

#include<iostream>

int main()

{ std::cout<<"Cs tam";

}

Los_Emilos
komentarz
komentarz

Ja bym to zrobił w C++ w taki sposób:

#include <iostream>

using namespace std;

int main ()
{
	cout<<"Podaj tytuł";
	char sign;
	cin>>sign;
}

W C# po prostu skorzystał bym z czegoś takiego:

            Console.ReadKey();

BTW kod umieszczaj w znaczniku [code].

  • Rekomendowana odpowiedź
rafalluz
komentarz
komentarz (edytowane)
Wiec próboje w projekcie na koncu przed klamrą kończąca wpisać komende system("pause"); ale wtedy program nie chce uruchomić tego programu tłumacząc sie że komend system nie jest zdeklarowany.

 

musisz dołączyć bibliotekę stdlib/cstdlib na początku.

 

Możesz też skorzystać z wiersza poleceń i przekierować strumień wyjściowy do jakiegoś pliku.

  • Dobra wypowiedź 1
Maly1990
komentarz
komentarz

na koncu zamiast system("pause") dodaj cin.ignore(), przykladowo

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
	cout<<"COs";
	cin.ignore();
	return 0;
}
leggo
komentarz
komentarz

@Maly1990

Akurat ignore ma odrobinę inne zastosowanie. W niektórych przypadkach w ogóle może nie zadziałać tak jak byś sobie tego życzył.

 

@Los_Emilos

Twój przykład wymaga podania jakiegoś znaku (nie wystarczy samo wciśnięcie enter-a). Można by temu zaradzić używając cin.get.

 

 

Najlepsze rozwiązanie podał już rafalluz.

Maly1990
komentarz
komentarz

ale mozna :p

leggo
komentarz
komentarz

Ale można.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.