Wczytywanie wszystkich znaków, łącznie z enterem

0

Witam.
Szukam opcji by program wczytywał wszystkie znaki włącznie z Enterem.

Rozwiazuje zadanie : http://pl.spoj.com/problems/JSPACE/

I nie działa mi tylko, gdy wcisnę Enter, bo po prostu kończy wczytywanie znaków.

Więc moje pytanie brzmi czego użyć, by to wczytywanie nie kończył się na enterze ?

#include <iostream>

using namespace std;

int main()
{
    string SMS;
    int i =0;
    getline( cin, SMS);
    while (i<SMS.length()){
        if (SMS[i] == ' '){
        while(SMS[i] == ' ')
            i++;
            if (SMS[i] >= 'a'  && SMS[i] <= 'z'){
                cout << (char)(SMS[i] - 32);

            }
            else {
            cout << (char)SMS[i];

            }
        }

        else {
                cout << SMS[i];

    }
    i++;
    }
    return 0;
}

 
0

Możesz jakoś tak:

while (getline(cin, SMS))

i potem sobie przechodzisz po znakach w konkretnych SMSach

0

Albo też wczytuje do char-a znak po znaku, nowa linia też się do niego wczyta

#include <iostream>

using namespace std;

int main()
{
    char znak,pop='a';
    while(!(cin.get(znak)).eof())
    {
        if (znak==' ') pop=' ';
        else
        {
                if (pop==' ') if (znak>='a'&&znak<='z') znak=znak-32;
                pop=znak;
                cout << znak;
        }
    }
}

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