Witam,
zrobiłem to zadanie korzystając z fstream. Najpierw zapisuję linie do pliku .txt, następnie program wczytuje kolejno każdą linię i wykonuje na niej operacje usuwania spacji i zamieniania odpowiednich liter na wielkie i wyświetla je na ekranie.
Z początku również myślałem, że wpisywanie wejścia kończy się, gdy na końcu linii pojawia się kropka, więc taki dałem warunek. No ale z powyższych wpisów wynika, że to błędny wniosek. Sędzia oczywiście cały czas wyrzuca mi błędną odpowiedź.
Pytanie, a raczej pytania więc brzmią:
-Czy ten program da się w ogóle napisać korzystając z fsteam, żeby był zgodny ze specyfikacją i sędzia go zaakceptował?
-Skąd program ma wiedzieć, że chcę zakończyć wpisywanie danych wejściowych, skoro nie mogę dać żadnego warunku, po którym przerwie się pętla while(getline(cin, line) {…}??
Oto mój kod. Warunek z kropką na zakończenie wczytywania danych wejściowych zakomentowałem, zamiast tego roboczo dałem warunek, że proces wczytywania wejścia kończy pojawienie się pustej linii (żeby można było zobaczyć, że operacje na liniach tekstu wykonywane są poprawnie). Wiem, że można to zrobić prościej, bez fstreamów, jednak taki pomysł mi przyszedł na początku do głowy no i stwierdziłem że przy okazji przypomnę sobie jak to jest z tym zapisem i odczytem plików tekstowych.
Jeśli ktoś ma jakieś uwagi, spostrzeżenia co do mojego kodu nie tylko względem uzyskania AC na spoju, to bardzo proszę pisać 