Zakończ enterem

Patryk Wielgosz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0

Cześć, jak zrobić żeby program zamykał się w momencie gdy w nowej linijce nacisnę enter, na razie tylko wiem jak zrobić by zamknął się gdy dostanie enter, jak to można zmodyfikować ?

Kopiuj
  #include<fstream>
#include<string>
#include<math.h>
#include<cstdlib>
#include<sstream>

using namespace std;

int main()

{
    string s;
    while(getline(cin, s,'\n'))
   {
      return 0;
   }


    }




FA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 2
0

Nie wiem czy o takie coś chodzi, ale możesz przed return 0; dopisać cin.get(); Program przejdzie do nowej linii, a po ponownym naciśnięciu Enter zakończy się.

Patryk Wielgosz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0
fafoni napisał(a):

Nie wiem czy o takie coś chodzi, ale możesz przed return 0; dopisać cin.get(); Program przejdzie do nowej linii, a po ponownym naciśnięciu Enter zakończy się.

Tak, ale niestety mogę tylko do dwóch lini cos wpisac, potem program sie zamyka, chodziło mi o to, żebym mógł pisać x lini do czasu gdy linia nie okaże się pusta

Pijak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0
Kopiuj
#include <iostream>

int main()
{
    if (std::cin.get() == '\n')
        return 0;
    std::cout << "dupa";
}
Patryk Wielgosz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0
Pijak napisał(a):
Kopiuj
#include <iostream>

int main()
{
    if (std::cin.get() == '\n')
        return 0;
    std::cout << "dupa";
}

no niestety dupa , tylko w jednej linijce mozna cos napisac

Pijak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
1

W takim razie:

Kopiuj
#include <iostream>

int main()
{
    std::string dupa;
    while (std::getline(std::cin, dupa) && !dupa.empty());
    std::cout <<"KONIEC";
}
FA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 2
1
Kopiuj
while (getline(cin, s, '\n'))
	{
		if (s == "")
			return 0;
		else
			continue;
	}

Sprawdziłem i można pisać w każdej linijce dopóki nie jest pusta.

Patryk Wielgosz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0
Pijak napisał(a):

W takim razie:

Kopiuj
#include <iostream>

int main()
{
    std::string dupa;
    while (std::getline(std::cin, dupa) && !dupa.empty());
    std::cout <<"KONIEC";
}

Dziękuję :P

Patryk Wielgosz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0
fafoni napisał(a):
Kopiuj
while (getline(cin, s, '\n'))
	{
		if (s == "")
			return 0;
		else
			continue;
	}

Sprawdziłem i można pisać w każdej linijce dopóki nie jest pusta.

Dzięki :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.